From a35675490d91a7112119eb7a52a22616f3ed45a7 Mon Sep 17 00:00:00 2001 From: Frank Schmirler Date: Fri, 10 Dec 2010 17:03:04 +0100 Subject: 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) --- server/connection.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'server') 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; } -- cgit v1.2.3