From f3fdca49b95dc28b4e9601033649422b873ff440 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 14 Dec 2002 10:59:34 +0100 Subject: [PATCH] No longer stopping/restarting the DMX when switching audio channels --- CONTRIBUTORS | 3 +++ HISTORY | 2 ++ dvbdevice.c | 10 ++++------ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index a7ae8f91..86a7e3dc 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -510,3 +510,6 @@ Gerald Berwolf Thomas Sailer for pointing out how to set the terminal parameters to read from the keyboard + +Sven Goethel + for making switching audio channels work without stopping/restarting the DMX diff --git a/HISTORY b/HISTORY index f7e9814e..20228ca0 100644 --- a/HISTORY +++ b/HISTORY @@ -1884,3 +1884,5 @@ Video Disk Recorder Revision History - Fixed recording overlapping timers on the same channel in case DO_REC_AND_PLAY_ON_PRIMARY_DEVICE and/or DO_MULTIPLE_RECORDINGS is not defined (thanks to Jaakko Hyvätti). +- No longer stopping/restarting the DMX when switching audio channels (thanks to + Sven Goethel). diff --git a/dvbdevice.c b/dvbdevice.c index 45b7fbb1..adc900b6 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.39 2002/12/13 15:29:50 kls Exp $ + * $Id: dvbdevice.c 1.40 2002/12/14 10:52:13 kls Exp $ */ #include "dvbdevice.h" @@ -686,11 +686,9 @@ const char **cDvbDevice::GetAudioTracksDevice(int *CurrentTrack) const void cDvbDevice::SetAudioTrackDevice(int Index) { if (0 <= Index && Index < NumAudioTracksDevice()) { - int vpid = pidHandles[ptVideo].pid; // need to turn video PID off/on to restart demux - DelPid(vpid); - DelPid(pidHandles[ptAudio].pid); - AddPid(Index ? aPid2 : aPid1, ptAudio); - AddPid(vpid, ptVideo); + int Pid = Index ? aPid2 : aPid1; + pidHandles[ptAudio].pid = Pid; + SetPid(&pidHandles[ptAudio], ptAudio, true); } }