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; }