make sure that a client doesn't interrupt replaying on server's FF card

http://www.vdr-portal.de/board/thread.php?postid=948311 (reported by wtor)
This commit is contained in:
Frank Schmirler 2010-12-10 18:06:39 +01:00
parent 0125471412
commit 3ff3ef05da
3 changed files with 8 additions and 0 deletions

View File

@ -177,3 +177,6 @@ Gavin Hamill
Michal Novotny Michal Novotny
for reporting that switching away live TV fails when "always suspended" for reporting that switching away live TV fails when "always suspended"
wtor
for reporting that a client may interrupt replaying on FF cards

View File

@ -1,6 +1,8 @@
VDR Plugin 'streamdev' Revision History 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 - switching away live TV failed even when "always suspended" (reported by
Michal Novotny) Michal Novotny)
- fixed regression: no receiver created for ES/PS/PES (reported by Gavin - fixed regression: no receiver created for ES/PS/PES (reported by Gavin

View File

@ -295,6 +295,7 @@ cDevice *cServerConnection::GetDevice(const cChannel *Channel, int Priority)
cDevice *device = cDevice::GetDevice(Channel, Priority, false); cDevice *device = cDevice::GetDevice(Channel, Priority, false);
if (device && device == cDevice::ActualDevice() if (device && device == cDevice::ActualDevice()
&& (!device->IsPrimaryDevice() || !device->Replaying())
&& !cSuspendCtl::IsActive() && !cSuspendCtl::IsActive()
&& current != NULL && current != NULL
&& !TRANSPONDER(Channel, current)) { && !TRANSPONDER(Channel, current)) {
@ -331,6 +332,7 @@ bool cServerConnection::ProvidesChannel(const cChannel *Channel, int Priority)
cDevice *device = CheckDevice(Channel, Priority, false); cDevice *device = CheckDevice(Channel, Priority, false);
if (!device || (device == cDevice::ActualDevice() if (!device || (device == cDevice::ActualDevice()
&& (!device->IsPrimaryDevice() || !device->Replaying())
&& !cSuspendCtl::IsActive() && !cSuspendCtl::IsActive()
&& StreamdevServerSetup.SuspendMode != smAlways && StreamdevServerSetup.SuspendMode != smAlways
&& current != NULL && current != NULL
@ -341,6 +343,7 @@ bool cServerConnection::ProvidesChannel(const cChannel *Channel, int Priority)
device = CheckDevice(Channel, Priority, false); device = CheckDevice(Channel, Priority, false);
Attach(); Attach();
if (device && device == cDevice::ActualDevice() if (device && device == cDevice::ActualDevice()
&& (!device->IsPrimaryDevice() || !device->Replaying())
&& !cSuspendCtl::IsActive() && !cSuspendCtl::IsActive()
&& StreamdevServerSetup.SuspendMode != smAlways && StreamdevServerSetup.SuspendMode != smAlways
&& current != NULL && current != NULL