Use the new streamdev-client setup option "Live TV Priority" to control

precedence among multiple clients. The VDR option "Primary Limit" which
has previouly been used for this purpose has been dropped in VDR 1.7.25.
This commit is contained in:
Frank Schmirler 2012-03-04 01:15:40 +01:00
parent 3da6ae734e
commit 26af4459d8
13 changed files with 54 additions and 18 deletions

View File

@ -1,6 +1,9 @@
VDR Plugin 'streamdev' Revision History
---------------------------------------
- Use the new streamdev-client setup option "Live TV Priority" to control
precedence among multiple clients. The VDR option "Primary Limit" which
has previouly been used for this purpose has been dropped in VDR 1.7.25.
- Timout for network operations now configurable in streamdev-client setup
- Added timeout to Connect()
- Report the server-side HTTP status "503 Service unavailable" instead of

19
README
View File

@ -394,14 +394,17 @@ With "Filter Streaming" enabled, the client will receive meta information like
EPG data and service information, just as if the client had its own DVB card.
Link channels and even a client-side EPG scan have been reported to work.
With maximum and minimum priority you can keep VDR from considering streamdev
in certain cases. If for instance you have a streamdev client with its own DVB
card, VDR might use streamdev for recording. If this is not what you want, you
could set the maximum priority to 0. As recordings usually have a much higher
priority (default 50), streamdev is now no longer used for recordings. The two
parameters define the inclusive range of priorities for which streamdev will
accept to tune. Setting the minimum priority to a higher value than the maximum,
you will get two ranges: "up to maximum" and "minimum and above".
The precedence among multiple client VDRs receiving live TV from the same
server is controlled with "Live TV Priority".
With "Maximum Priority" and "Minimum Priority" you can keep VDR from considering
streamdev in certain cases. If for instance you have a streamdev client with its
own DVB card, VDR might use streamdev for recording. If this is not what you
want, you could set the maximum priority to 0. As recordings usually have a much
higher priority (default 50), streamdev is now no longer used for recordings.
The two parameters define the inclusive range of priorities for which streamdev
will accept to tune. Setting the minimum priority to a higher value than the
maximum, you will get two ranges: "up to maximum" and "minimum and above".
If you are running at least VDR 1.7.0, you can also configure the "Broadcast
Systems / Cost" of the streamdev-client device. On a pure streamdev-client only

View File

@ -321,8 +321,9 @@ void cStreamdevDevice::UpdatePriority(void) {
m_Device->Lock();
if (m_Device->m_UpdatePriority && ClientSocket.DataSocket(siLive)) {
int Priority = m_Device->Priority();
if (m_Device == cDevice::ActualDevice() && Priority < Setup.PrimaryLimit)
Priority = Setup.PrimaryLimit;
// override TRANSFERPRIORITY (-1) with live TV priority from setup
if (m_Device == cDevice::ActualDevice() && Priority == -1)
Priority = StreamdevClientSetup.LivePriority;
if (m_Device->m_Priority != Priority && ClientSocket.SetPriority(Priority))
m_Device->m_Priority = Priority;
}

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: streamdev 0.5.0\n"
"Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n"
"POT-Creation-Date: 2012-03-03 23:12+0100\n"
"POT-Creation-Date: 2012-03-03 23:57+0100\n"
"PO-Revision-Date: 2008-03-30 02:11+0200\n"
"Last-Translator: Frank Schmirler <vdrdev@schmirler.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n"
@ -46,6 +46,9 @@ msgstr "Timeout (s)"
msgid "Filter Streaming"
msgstr "Filter-Daten streamen"
msgid "Live TV Priority"
msgstr "Live TV Priorität"
msgid "Minimum Priority"
msgstr "Minimale Priorität"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: streamdev 0.5.0\n"
"Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n"
"POT-Creation-Date: 2012-03-03 23:12+0100\n"
"POT-Creation-Date: 2012-03-03 23:57+0100\n"
"PO-Revision-Date: 2010-06-19 03:58+0100\n"
"Last-Translator: Javier Bradineras <jbradi@hotmail.com>\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n"
@ -46,6 +46,9 @@ msgstr ""
msgid "Filter Streaming"
msgstr "Filtrar transmisión"
msgid "Live TV Priority"
msgstr ""
msgid "Minimum Priority"
msgstr "Prioridad mínima"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: streamdev 0.5.0\n"
"Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n"
"POT-Creation-Date: 2012-03-03 23:12+0100\n"
"POT-Creation-Date: 2012-03-03 23:57+0100\n"
"PO-Revision-Date: 2008-03-30 02:11+0200\n"
"Last-Translator: Rolf Ahrenberg\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
@ -46,6 +46,9 @@ msgstr ""
msgid "Filter Streaming"
msgstr "Suodatetun tiedon suoratoisto"
msgid "Live TV Priority"
msgstr ""
msgid "Minimum Priority"
msgstr "Pienin prioriteetti"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: streamdev 0.5.0\n"
"Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n"
"POT-Creation-Date: 2012-03-03 23:12+0100\n"
"POT-Creation-Date: 2012-03-03 23:57+0100\n"
"PO-Revision-Date: 2008-03-30 02:11+0200\n"
"Last-Translator: micky979 <micky979@free.fr>\n"
"Language-Team: French <vdr@linuxtv.org>\n"
@ -46,6 +46,9 @@ msgstr ""
msgid "Filter Streaming"
msgstr "Filtre streaming"
msgid "Live TV Priority"
msgstr ""
msgid "Minimum Priority"
msgstr ""

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: streamdev 0.5.0\n"
"Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n"
"POT-Creation-Date: 2012-03-03 23:12+0100\n"
"POT-Creation-Date: 2012-03-03 23:57+0100\n"
"PO-Revision-Date: 2010-06-19 03:58+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n"
@ -48,6 +48,9 @@ msgstr ""
msgid "Filter Streaming"
msgstr "Filtra trasmissione"
msgid "Live TV Priority"
msgstr ""
msgid "Minimum Priority"
msgstr "Priorità minima"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: streamdev 0.5.0\n"
"Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n"
"POT-Creation-Date: 2012-03-03 23:12+0100\n"
"POT-Creation-Date: 2012-03-03 23:57+0100\n"
"PO-Revision-Date: 2009-11-26 21:57+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
@ -46,6 +46,9 @@ msgstr ""
msgid "Filter Streaming"
msgstr "Filtruoti transliavimą"
msgid "Live TV Priority"
msgstr ""
msgid "Minimum Priority"
msgstr "Minimalus prioritetas"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: streamdev 0.5.0\n"
"Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n"
"POT-Creation-Date: 2012-03-03 23:12+0100\n"
"POT-Creation-Date: 2012-03-03 23:57+0100\n"
"PO-Revision-Date: 2008-06-26 15:36+0100\n"
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n"
@ -46,6 +46,9 @@ msgstr ""
msgid "Filter Streaming"
msgstr "ÄØÛìâà ßÞâÞÚÐ"
msgid "Live TV Priority"
msgstr ""
msgid "Minimum Priority"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: streamdev_SK\n"
"Report-Msgid-Bugs-To: <http://www.vdr-developer.org/mantisbt/>\n"
"POT-Creation-Date: 2012-03-03 23:12+0100\n"
"POT-Creation-Date: 2012-03-03 23:57+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <hrala.milan@gmail.com>\n"
@ -48,6 +48,9 @@ msgstr ""
msgid "Filter Streaming"
msgstr "filtrova» prúdy"
msgid "Live TV Priority"
msgstr ""
msgid "Minimum Priority"
msgstr "minimálna priorita"

View File

@ -15,6 +15,7 @@ cStreamdevClientSetup::cStreamdevClientSetup(void) {
Timeout = 2;
StreamFilters = false;
HideMenuEntry = false;
LivePriority = 0;
MinPriority = -1;
MaxPriority = MAXPRIORITY;
#if APIVERSNUM >= 10700
@ -35,6 +36,7 @@ bool cStreamdevClientSetup::SetupParse(const char *Name, const char *Value) {
else if (strcmp(Name, "Timeout") == 0) Timeout = atoi(Value);
else if (strcmp(Name, "StreamFilters") == 0) StreamFilters = atoi(Value);
else if (strcmp(Name, "HideMenuEntry") == 0) HideMenuEntry = atoi(Value);
else if (strcmp(Name, "LivePriority") == 0) LivePriority = atoi(Value);
else if (strcmp(Name, "MinPriority") == 0) MinPriority = atoi(Value);
else if (strcmp(Name, "MaxPriority") == 0) MaxPriority = atoi(Value);
#if APIVERSNUM >= 10700
@ -53,6 +55,7 @@ cStreamdevClientMenuSetupPage::cStreamdevClientMenuSetupPage(void) {
Add(new cMenuEditIntItem (tr("Remote Port"), &m_NewSetup.RemotePort, 0, 65535));
Add(new cMenuEditIntItem (tr("Timeout (s)"), &m_NewSetup.Timeout, 1, 15));
Add(new cMenuEditBoolItem(tr("Filter Streaming"), &m_NewSetup.StreamFilters));
Add(new cMenuEditIntItem (tr("Live TV Priority"), &m_NewSetup.LivePriority, 0, MAXPRIORITY));
Add(new cMenuEditIntItem (tr("Minimum Priority"), &m_NewSetup.MinPriority, -1, MAXPRIORITY));
Add(new cMenuEditIntItem (tr("Maximum Priority"), &m_NewSetup.MaxPriority, -1, MAXPRIORITY));
#if APIVERSNUM >= 10715
@ -81,6 +84,7 @@ void cStreamdevClientMenuSetupPage::Store(void) {
SetupStore("Timeout", m_NewSetup.Timeout);
SetupStore("StreamFilters", m_NewSetup.StreamFilters);
SetupStore("HideMenuEntry", m_NewSetup.HideMenuEntry);
SetupStore("LivePriority", m_NewSetup.LivePriority);
SetupStore("MinPriority", m_NewSetup.MinPriority);
SetupStore("MaxPriority", m_NewSetup.MaxPriority);
#if APIVERSNUM >= 10700

View File

@ -18,6 +18,7 @@ struct cStreamdevClientSetup {
int Timeout;
int StreamFilters;
int HideMenuEntry;
int LivePriority;
int MinPriority;
int MaxPriority;
#if APIVERSNUM >= 10700