summaryrefslogtreecommitdiff
path: root/dvbdevice.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2006-02-19 13:53:30 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2006-02-19 13:53:30 +0100
commit8409c68e44d1545469cd70b7c257c83e69a21715 (patch)
tree7c3298d994c66c273bfc0a390688977137eaac09 /dvbdevice.c
parent47519e0536960f647145969204f1bc421088c329 (diff)
downloadvdr-8409c68e44d1545469cd70b7c257c83e69a21715.tar.gz
vdr-8409c68e44d1545469cd70b7c257c83e69a21715.tar.bz2
Fixed handling DPID when deciding whether to switch to 'Transfer Mode'
Diffstat (limited to 'dvbdevice.c')
-rw-r--r--dvbdevice.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/dvbdevice.c b/dvbdevice.c
index f5f5f4e2..148a12a5 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 1.152 2006/02/04 10:21:51 kls Exp $
+ * $Id: dvbdevice.c 1.153 2006/02/19 13:52:04 kls Exp $
*/
#include "dvbdevice.h"
@@ -811,7 +811,7 @@ bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
);
bool StartTransferMode = IsPrimaryDevice() && !DoTune
- && (LiveView && HasPid(Channel->Vpid() ? Channel->Vpid() : Channel->Apid(0)) && (pidHandles[ptVideo].pid != Channel->Vpid() || pidHandles[ptAudio].pid != Channel->Apid(0))// the PID is already set as DMX_PES_OTHER
+ && (LiveView && HasPid(Channel->Vpid() ? Channel->Vpid() : Channel->Apid(0)) && (pidHandles[ptVideo].pid != Channel->Vpid() || (pidHandles[ptAudio].pid != Channel->Apid(0) && (Channel->Dpid(0) ? pidHandles[ptAudio].pid != Channel->Dpid(0) : true)))// the PID is already set as DMX_PES_OTHER
|| !LiveView && (pidHandles[ptVideo].pid == Channel->Vpid() || pidHandles[ptAudio].pid == Channel->Apid(0)) // a recording is going to shift the PIDs from DMX_PES_AUDIO/VIDEO to DMX_PES_OTHER
);