summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmirl <schmirl>2009-01-29 07:48:58 +0000
committerschmirl <schmirl>2009-01-29 07:48:58 +0000
commit0e0b4b587d90efa7bbe8a37c707dda4c3e94aceb (patch)
treebeba72db47e9d740d6bcb61d9b7662f754a4530a
parent9af6ceb00705470484c4b23cf71f9bb11d2af271 (diff)
downloadvdr-plugin-streamdev-0e0b4b587d90efa7bbe8a37c707dda4c3e94aceb.tar.gz
vdr-plugin-streamdev-0e0b4b587d90efa7bbe8a37c707dda4c3e94aceb.tar.bz2
Added min/max priority (#508)
Modified Files: HISTORY README client/device.c client/setup.c client/setup.h po/de_DE.po po/fi_FI.po po/fr_FR.po po/it_IT.po po/ru_RU.po
-rw-r--r--HISTORY2
-rw-r--r--README12
-rw-r--r--client/device.c15
-rw-r--r--client/setup.c10
-rw-r--r--client/setup.h4
-rw-r--r--po/de_DE.po6
-rw-r--r--po/fi_FI.po6
-rw-r--r--po/fr_FR.po6
-rwxr-xr-xpo/it_IT.po6
-rw-r--r--po/ru_RU.po6
10 files changed, 69 insertions, 4 deletions
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 <vdr/menuitems.h>
@@ -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 áÕàÒÕà"