diff --git a/HISTORY b/HISTORY index 93d679c..a7605e1 100644 --- a/HISTORY +++ b/HISTORY @@ -1,6 +1,8 @@ VDR Plugin 'streamdev' Revision History --------------------------------------- +- added Min/MaxPriority parameters. Can be used to keep client VDR from + using streamdev e.g. when recording - disabled PES for VDR 1.7.3+ - added Network Media Tank browser support to HTML pages (thanks to Jori Hamalainen) diff --git a/README b/README index b49821d..0f7bf8c 100644 --- a/README +++ b/README @@ -277,7 +277,7 @@ 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. -The last parameter, "Synchronize EPG", will have the client synchronize it's +The next parameter, "Synchronize EPG", will have the client synchronize it's program table with the server every now and then, but not regularly. This happens when starting the client, and everytime VDR does its housekeeping tasks. The only thing that's guaranteed is, that there will be a minimum @@ -286,6 +286,16 @@ Streaming" this option has been obsoleted. If you still need to synchronize EPG as additional information is available from the server, you should use the epgsync-plugin instead (http://vdr.schmirler.de). +Finally with the 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 would normally 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". + 4. Other useful Plugins: ------------------------ diff --git a/client/device.c b/client/device.c index 4a2ccd1..9b0dfb5 100644 --- a/client/device.c +++ b/client/device.c @@ -1,5 +1,5 @@ /* - * $Id: device.c,v 1.21 2009/01/14 07:35:51 schmirl Exp $ + * $Id: device.c,v 1.22 2009/01/29 07:48:58 schmirl Exp $ */ #include "client/device.h" @@ -85,6 +85,19 @@ bool cStreamdevDevice::ProvidesChannel(const cChannel *Channel, int Priority, Dprintf("ProvidesChannel, Channel=%s, Prio=%d\n", Channel->Name(), Priority); + if (StreamdevClientSetup.MinPriority <= StreamdevClientSetup.MaxPriority) + { + if (Priority < StreamdevClientSetup.MinPriority || + Priority > StreamdevClientSetup.MaxPriority) + return false; + } + else + { + if (Priority < StreamdevClientSetup.MinPriority && + Priority > StreamdevClientSetup.MaxPriority) + return false; + } + if (ClientSocket.DataSocket(siLive) != NULL && TRANSPONDER(Channel, m_Channel)) res = true; diff --git a/client/setup.c b/client/setup.c index 6336154..46ad7af 100644 --- a/client/setup.c +++ b/client/setup.c @@ -1,5 +1,5 @@ /* - * $Id: setup.c,v 1.6 2008/04/08 14:18:16 schmirl Exp $ + * $Id: setup.c,v 1.7 2009/01/29 07:48:59 schmirl Exp $ */ #include @@ -15,6 +15,8 @@ cStreamdevClientSetup::cStreamdevClientSetup(void) { StreamFilters = false; SyncEPG = false; HideMenuEntry = false; + MinPriority = -1; + MaxPriority = MAXPRIORITY; strcpy(RemoteIp, ""); } @@ -30,6 +32,8 @@ bool cStreamdevClientSetup::SetupParse(const char *Name, const char *Value) { else if (strcmp(Name, "StreamFilters") == 0) StreamFilters = atoi(Value); else if (strcmp(Name, "SyncEPG") == 0) SyncEPG = atoi(Value); else if (strcmp(Name, "HideMenuEntry") == 0) HideMenuEntry = atoi(Value); + else if (strcmp(Name, "MinPriority") == 0) HideMenuEntry = atoi(Value); + else if (strcmp(Name, "MaxPriority") == 0) HideMenuEntry = atoi(Value); else return false; return true; } @@ -43,6 +47,8 @@ cStreamdevClientMenuSetupPage::cStreamdevClientMenuSetupPage(void) { AddShortEdit(tr("Remote Port"), m_NewSetup.RemotePort); AddBoolEdit (tr("Filter Streaming"), m_NewSetup.StreamFilters); AddBoolEdit (tr("Synchronize EPG"), m_NewSetup.SyncEPG); + AddRangeEdit (tr("Minimum Priority"), m_NewSetup.MinPriority, -1, MAXPRIORITY); + AddRangeEdit (tr("Maximum Priority"), m_NewSetup.MaxPriority, -1, MAXPRIORITY); SetCurrent(Get(0)); } @@ -64,6 +70,8 @@ void cStreamdevClientMenuSetupPage::Store(void) { SetupStore("StreamFilters", m_NewSetup.StreamFilters); SetupStore("SyncEPG", m_NewSetup.SyncEPG); SetupStore("HideMenuEntry", m_NewSetup.HideMenuEntry); + SetupStore("MinPriority", m_NewSetup.MinPriority); + SetupStore("MaxPriority", m_NewSetup.MaxPriority); StreamdevClientSetup = m_NewSetup; diff --git a/client/setup.h b/client/setup.h index e220c22..9f4d11b 100644 --- a/client/setup.h +++ b/client/setup.h @@ -1,5 +1,5 @@ /* - * $Id: setup.h,v 1.4 2008/04/07 14:50:32 schmirl Exp $ + * $Id: setup.h,v 1.5 2009/01/29 07:48:59 schmirl Exp $ */ #ifndef VDR_STREAMDEV_SETUPCLIENT_H @@ -18,6 +18,8 @@ struct cStreamdevClientSetup { int StreamFilters; int SyncEPG; int HideMenuEntry; + int MinPriority; + int MaxPriority; }; extern cStreamdevClientSetup StreamdevClientSetup; diff --git a/po/de_DE.po b/po/de_DE.po index 3069ede..d004408 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -42,6 +42,12 @@ msgstr "Filter-Daten streamen" msgid "Synchronize EPG" msgstr "EPG synchronisieren" +msgid "Minimum Priority" +msgstr "Minimale Priorität" + +msgid "Maximum Priority" +msgstr "Maximale Priorität" + msgid "Hide Mainmenu Entry" msgstr "Hauptmenüeintrag verstecken" diff --git a/po/fi_FI.po b/po/fi_FI.po index 6a5a157..a68a3c4 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -42,6 +42,12 @@ msgstr "Suodatetun tiedon suoratoisto" msgid "Synchronize EPG" msgstr "Päivitä ohjelmaopas" +msgid "Minimum Priority" +msgstr "" + +msgid "Maximum Priority" +msgstr "" + msgid "Hide Mainmenu Entry" msgstr "Piilota valinta päävalikosta" diff --git a/po/fr_FR.po b/po/fr_FR.po index ac1c873..87e3647 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -42,6 +42,12 @@ msgstr "Filtre streaming" msgid "Synchronize EPG" msgstr "Synchroniser l'EPG" +msgid "Minimum Priority" +msgstr "" + +msgid "Maximum Priority" +msgstr "" + msgid "Hide Mainmenu Entry" msgstr "Masquer dans le menu principal" diff --git a/po/it_IT.po b/po/it_IT.po index c567844..8b6b311 100755 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -47,6 +47,12 @@ msgstr "Filtra trasmissione" msgid "Synchronize EPG" msgstr "Sincronizza EPG" +msgid "Minimum Priority" +msgstr "" + +msgid "Maximum Priority" +msgstr "" + msgid "VDR Streaming Server" msgstr "Server trasmissione VDR" diff --git a/po/ru_RU.po b/po/ru_RU.po index 11ac1e8..7d12513 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -45,6 +45,12 @@ msgstr " msgid "Synchronize EPG" msgstr "ĮŲŻåąŽŻŲ׊ęŲļ EPG" +msgid "Minimum Priority" +msgstr "" + +msgid "Maximum Priority" +msgstr "" + msgid "VDR Streaming Server" msgstr "VDR Streaming įÕąŅÕą"