summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY2
-rw-r--r--dvbdevice.c10
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 <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
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);
}
}