No longer stopping/restarting the DMX when switching audio channels

This commit is contained in:
Klaus Schmidinger 2002-12-14 10:59:34 +01:00
parent f784d52a39
commit f3fdca49b9
3 changed files with 9 additions and 6 deletions

View File

@ -510,3 +510,6 @@ Gerald Berwolf <genka@genka.de>
Thomas Sailer <sailer@scs.ch> Thomas Sailer <sailer@scs.ch>
for pointing out how to set the terminal parameters to read from the keyboard for pointing out how to set the terminal parameters to read from the keyboard
Sven Goethel <sgoethel@jausoft.com>
for making switching audio channels work without stopping/restarting the DMX

View File

@ -1884,3 +1884,5 @@ Video Disk Recorder Revision History
- Fixed recording overlapping timers on the same channel in case - 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 DO_REC_AND_PLAY_ON_PRIMARY_DEVICE and/or DO_MULTIPLE_RECORDINGS is not defined
(thanks to Jaakko Hyvätti). (thanks to Jaakko Hyvätti).
- No longer stopping/restarting the DMX when switching audio channels (thanks to
Sven Goethel).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "dvbdevice.h"
@ -686,11 +686,9 @@ const char **cDvbDevice::GetAudioTracksDevice(int *CurrentTrack) const
void cDvbDevice::SetAudioTrackDevice(int Index) void cDvbDevice::SetAudioTrackDevice(int Index)
{ {
if (0 <= Index && Index < NumAudioTracksDevice()) { if (0 <= Index && Index < NumAudioTracksDevice()) {
int vpid = pidHandles[ptVideo].pid; // need to turn video PID off/on to restart demux int Pid = Index ? aPid2 : aPid1;
DelPid(vpid); pidHandles[ptAudio].pid = Pid;
DelPid(pidHandles[ptAudio].pid); SetPid(&pidHandles[ptAudio], ptAudio, true);
AddPid(Index ? aPid2 : aPid1, ptAudio);
AddPid(vpid, ptVideo);
} }
} }