summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY4
-rw-r--r--dvbdevice.c7
2 files changed, 6 insertions, 5 deletions
diff --git a/HISTORY b/HISTORY
index 80c48b09..2a5379b5 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2898,9 +2898,9 @@ Video Disk Recorder Revision History
- In order to avoid problems on NPTL systems, VDR now checks for the presence
of NPTL at program start, and if it is, exists and tells the user to do
'export LD_ASSUME_KERNEL=2.4.1' before starting VDR.
-- Revoked the "Fixed missing audio after replaying a DVD" change because it
+- Revisited the "Fixed missing audio after replaying a DVD" change because it
introduced a sound disturbance when switching between channels on the same
- transponder.
+ transponder (thanks to Marco Schlüßler).
- In order to avoid problems on UTF-8 systems, VDR now checks for the presence
of UTF-8 at program start, and if it is, exists and tells the user to turn off
UTF-8 before starting VDR.
diff --git a/dvbdevice.c b/dvbdevice.c
index e5b777dc..2d23d27c 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.89 2004/06/06 11:28:28 kls Exp $
+ * $Id: dvbdevice.c 1.90 2004/06/12 14:42:19 kls Exp $
*/
#include "dvbdevice.h"
@@ -766,9 +766,10 @@ bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
}
if (IsPrimaryDevice())
AddPid(Channel->Tpid(), ptTeletext);
+ CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true)); // actually one would expect 'false' here, but according to Marco Schlüßler <marco@lordzodiac.de> this works
+ // to avoid missing audio after replaying a DVD; with 'false' there is an audio disturbance when switching
+ // between two channels on the same transponder on DVB-S
CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, true));
- CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, false));
- CHECK(ioctl(fd_video, VIDEO_SET_BLANK, false));
}
else if (StartTransferMode)
cControl::Launch(new cTransferControl(this, Channel->Vpid(), Channel->Apid1(), Channel->Apid2(), Channel->Dpid1(), Channel->Dpid2()));