summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Schmirler <vdr@schmirler.de>2010-12-10 17:03:04 +0100
committerFrank Schmirler <vdr@schmirler.de>2010-12-10 17:03:04 +0100
commita35675490d91a7112119eb7a52a22616f3ed45a7 (patch)
treec494bdb446c9bbe0b8985b30cb6eec8a643185a4
parent0c07109974e5335b2b962f3450ed14b0978891a3 (diff)
downloadvdr-plugin-streamdev-a35675490d91a7112119eb7a52a22616f3ed45a7.tar.gz
vdr-plugin-streamdev-a35675490d91a7112119eb7a52a22616f3ed45a7.tar.bz2
switching away live TV failed even when "always suspended"
The vdr main loop usually switches back to the previous channel at "Make sure we have a visible programme in case device usage has changed" (#472)
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY2
-rw-r--r--server/connection.c8
3 files changed, 11 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d7f1e79..f6d286d 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -174,3 +174,6 @@ Rainer Blickle
Gavin Hamill
for reporting that ES/PS/PES no longer works
+
+Michal Novotny
+ for reporting that switching away live TV fails when "always suspended"
diff --git a/HISTORY b/HISTORY
index 35b892f..437f56f 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,8 @@
VDR Plugin 'streamdev' Revision History
---------------------------------------
+- switching away live TV failed even when "always suspended" (reported by
+ Michal Novotny)
- fixed regression: no receiver created for ES/PS/PES (reported by Gavin
Hamill)
- VTP no longer uses a static priority value for its server-side receivers.
diff --git a/server/connection.c b/server/connection.c
index 2ba99f3..944b2f5 100644
--- a/server/connection.c
+++ b/server/connection.c
@@ -296,7 +296,6 @@ cDevice *cServerConnection::GetDevice(const cChannel *Channel, int Priority)
if (device && device == cDevice::ActualDevice()
&& !cSuspendCtl::IsActive()
- && StreamdevServerSetup.SuspendMode != smAlways
&& current != NULL
&& !TRANSPONDER(Channel, current)) {
// now we would have to switch away live tv...let's see if live tv
@@ -307,8 +306,13 @@ cDevice *cServerConnection::GetDevice(const cChannel *Channel, int Priority)
#else
cDevice *newdev = CheckDevice(current, 0, true, device);
#endif
- if (newdev)
+ if (newdev) {
newdev->SwitchChannel(current, true);
+ }
+ else if (StreamdevServerSetup.SuspendMode == smAlways) {
+ Channels.SwitchTo(Channel->Number());
+ Skins.Message(mtInfo, tr("Streaming active"));
+ }
else
device = NULL;
}