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 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 - Timout for network operations now configurable in streamdev-client setup
- Added timeout to Connect() - Added timeout to Connect()
- Report the server-side HTTP status "503 Service unavailable" instead of - 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. 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. 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 The precedence among multiple client VDRs receiving live TV from the same
in certain cases. If for instance you have a streamdev client with its own DVB server is controlled with "Live TV Priority".
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 With "Maximum Priority" and "Minimum Priority" you can keep VDR from considering
priority (default 50), streamdev is now no longer used for recordings. The two streamdev in certain cases. If for instance you have a streamdev client with its
parameters define the inclusive range of priorities for which streamdev will own DVB card, VDR might use streamdev for recording. If this is not what you
accept to tune. Setting the minimum priority to a higher value than the maximum, want, you could set the maximum priority to 0. As recordings usually have a much
you will get two ranges: "up to maximum" and "minimum and above". 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 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 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(); m_Device->Lock();
if (m_Device->m_UpdatePriority && ClientSocket.DataSocket(siLive)) { if (m_Device->m_UpdatePriority && ClientSocket.DataSocket(siLive)) {
int Priority = m_Device->Priority(); int Priority = m_Device->Priority();
if (m_Device == cDevice::ActualDevice() && Priority < Setup.PrimaryLimit) // override TRANSFERPRIORITY (-1) with live TV priority from setup
Priority = Setup.PrimaryLimit; if (m_Device == cDevice::ActualDevice() && Priority == -1)
Priority = StreamdevClientSetup.LivePriority;
if (m_Device->m_Priority != Priority && ClientSocket.SetPriority(Priority)) if (m_Device->m_Priority != Priority && ClientSocket.SetPriority(Priority))
m_Device->m_Priority = Priority; m_Device->m_Priority = Priority;
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,6 +15,7 @@ cStreamdevClientSetup::cStreamdevClientSetup(void) {
Timeout = 2; Timeout = 2;
StreamFilters = false; StreamFilters = false;
HideMenuEntry = false; HideMenuEntry = false;
LivePriority = 0;
MinPriority = -1; MinPriority = -1;
MaxPriority = MAXPRIORITY; MaxPriority = MAXPRIORITY;
#if APIVERSNUM >= 10700 #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, "Timeout") == 0) Timeout = atoi(Value);
else if (strcmp(Name, "StreamFilters") == 0) StreamFilters = atoi(Value); else if (strcmp(Name, "StreamFilters") == 0) StreamFilters = atoi(Value);
else if (strcmp(Name, "HideMenuEntry") == 0) HideMenuEntry = 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, "MinPriority") == 0) MinPriority = atoi(Value);
else if (strcmp(Name, "MaxPriority") == 0) MaxPriority = atoi(Value); else if (strcmp(Name, "MaxPriority") == 0) MaxPriority = atoi(Value);
#if APIVERSNUM >= 10700 #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("Remote Port"), &m_NewSetup.RemotePort, 0, 65535));
Add(new cMenuEditIntItem (tr("Timeout (s)"), &m_NewSetup.Timeout, 1, 15)); Add(new cMenuEditIntItem (tr("Timeout (s)"), &m_NewSetup.Timeout, 1, 15));
Add(new cMenuEditBoolItem(tr("Filter Streaming"), &m_NewSetup.StreamFilters)); 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("Minimum Priority"), &m_NewSetup.MinPriority, -1, MAXPRIORITY));
Add(new cMenuEditIntItem (tr("Maximum Priority"), &m_NewSetup.MaxPriority, -1, MAXPRIORITY)); Add(new cMenuEditIntItem (tr("Maximum Priority"), &m_NewSetup.MaxPriority, -1, MAXPRIORITY));
#if APIVERSNUM >= 10715 #if APIVERSNUM >= 10715
@ -81,6 +84,7 @@ void cStreamdevClientMenuSetupPage::Store(void) {
SetupStore("Timeout", m_NewSetup.Timeout); SetupStore("Timeout", m_NewSetup.Timeout);
SetupStore("StreamFilters", m_NewSetup.StreamFilters); SetupStore("StreamFilters", m_NewSetup.StreamFilters);
SetupStore("HideMenuEntry", m_NewSetup.HideMenuEntry); SetupStore("HideMenuEntry", m_NewSetup.HideMenuEntry);
SetupStore("LivePriority", m_NewSetup.LivePriority);
SetupStore("MinPriority", m_NewSetup.MinPriority); SetupStore("MinPriority", m_NewSetup.MinPriority);
SetupStore("MaxPriority", m_NewSetup.MaxPriority); SetupStore("MaxPriority", m_NewSetup.MaxPriority);
#if APIVERSNUM >= 10700 #if APIVERSNUM >= 10700

View File

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