summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY2
-rw-r--r--server/connection.c3
3 files changed, 8 insertions, 0 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f6d286d..af23429 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -177,3 +177,6 @@ Gavin Hamill
Michal Novotny
for reporting that switching away live TV fails when "always suspended"
+
+wtor
+ for reporting that a client may interrupt replaying on FF cards
diff --git a/HISTORY b/HISTORY
index 437f56f..5884504 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,8 @@
VDR Plugin 'streamdev' Revision History
---------------------------------------
+- make sure that a client doesn't interrupt replaying on server's FF card
+ (reported by wtor)
- 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
diff --git a/server/connection.c b/server/connection.c
index 944b2f5..7b2b9db 100644
--- a/server/connection.c
+++ b/server/connection.c
@@ -295,6 +295,7 @@ cDevice *cServerConnection::GetDevice(const cChannel *Channel, int Priority)
cDevice *device = cDevice::GetDevice(Channel, Priority, false);
if (device && device == cDevice::ActualDevice()
+ && (!device->IsPrimaryDevice() || !device->Replaying())
&& !cSuspendCtl::IsActive()
&& current != NULL
&& !TRANSPONDER(Channel, current)) {
@@ -331,6 +332,7 @@ bool cServerConnection::ProvidesChannel(const cChannel *Channel, int Priority)
cDevice *device = CheckDevice(Channel, Priority, false);
if (!device || (device == cDevice::ActualDevice()
+ && (!device->IsPrimaryDevice() || !device->Replaying())
&& !cSuspendCtl::IsActive()
&& StreamdevServerSetup.SuspendMode != smAlways
&& current != NULL
@@ -341,6 +343,7 @@ bool cServerConnection::ProvidesChannel(const cChannel *Channel, int Priority)
device = CheckDevice(Channel, Priority, false);
Attach();
if (device && device == cDevice::ActualDevice()
+ && (!device->IsPrimaryDevice() || !device->Replaying())
&& !cSuspendCtl::IsActive()
&& StreamdevServerSetup.SuspendMode != smAlways
&& current != NULL