From 8409c68e44d1545469cd70b7c257c83e69a21715 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 19 Feb 2006 13:53:30 +0100 Subject: [PATCH] Fixed handling DPID when deciding whether to switch to 'Transfer Mode' --- CONTRIBUTORS | 1 + HISTORY | 2 ++ dvbdevice.c | 4 ++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index f0ccaa63..213c92a6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1316,6 +1316,7 @@ Marco Schl process the audio data for improving OSD area handling in cDvbSpuDecoder for suggesting to log the description (if present) in case a thread is canceled + for fixing handling DPID when deciding whether to switch to 'Transfer Mode' Jürgen Schmitz for reporting a bug in displaying the current channel when switching via the SVDRP diff --git a/HISTORY b/HISTORY index d106f0fc..2bec17cd 100644 --- a/HISTORY +++ b/HISTORY @@ -4353,3 +4353,5 @@ Video Disk Recorder Revision History in case this is a replay session (based on a patch from Rolf Ahrenberg). - If a recording starts and the channel's audio PID data has more language code information than the EPG's component data, the code from the channel is taken. +- Fixed handling DPID when deciding whether to switch to 'Transfer Mode' (thanks + to Marco Schlüßler). 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 );