summaryrefslogtreecommitdiff
path: root/server
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 /server
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)
Diffstat (limited to 'server')
-rw-r--r--server/connection.c8
1 files changed, 6 insertions, 2 deletions
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;
}