summaryrefslogtreecommitdiff
path: root/dvbdevice.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2004-11-07 10:31:59 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2004-11-07 10:31:59 +0100
commit2ef5ba57101fbc9fc38c1687b405dca127183c78 (patch)
tree60d95c8daca8a0bdbba131035413c4303770960c /dvbdevice.c
parentf2d44b3d60fc8d8aad83eb5595c59c19b4d0739a (diff)
downloadvdr-2ef5ba57101fbc9fc38c1687b405dca127183c78.tar.gz
vdr-2ef5ba57101fbc9fc38c1687b405dca127183c78.tar.bz2
Fixed a short glitch when starting a recording on the primary device while in replay or transfer mode
Diffstat (limited to 'dvbdevice.c')
-rw-r--r--dvbdevice.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/dvbdevice.c b/dvbdevice.c
index c2b60011..2702f953 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.103 2004/11/06 13:16:25 kls Exp $
+ * $Id: dvbdevice.c 1.104 2004/11/07 10:27:19 kls Exp $
*/
#include "dvbdevice.h"
@@ -681,14 +681,15 @@ int cDvbDevice::OpenFilter(u_short Pid, u_char Tid, u_char Mask)
return -1;
}
-void cDvbDevice::TurnOffLiveMode(void)
+void cDvbDevice::TurnOffLiveMode(bool LiveView)
{
- // Avoid noise while switching:
-
- CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true));
- CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
- CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER));
- CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
+ if (LiveView) {
+ // Avoid noise while switching:
+ CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true));
+ CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
+ CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER));
+ CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
+ }
// Turn off live PIDs:
@@ -781,7 +782,7 @@ bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
// Turn off live PIDs if necessary:
if (TurnOffLivePIDs)
- TurnOffLiveMode();
+ TurnOffLiveMode(LiveView);
// Set the tuner:
@@ -899,7 +900,7 @@ bool cDvbDevice::SetPlayMode(ePlayMode PlayMode)
case pmAudioVideo:
case pmAudioOnlyBlack:
if (playMode == pmNone)
- TurnOffLiveMode();
+ TurnOffLiveMode(true);
CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
CHECK(ioctl(fd_audio, AUDIO_SELECT_SOURCE, AUDIO_SOURCE_MEMORY));
CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, PlayMode == pmAudioVideo));