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>
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
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).

View File

@ -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);
}
}