summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY4
-rw-r--r--dvbdevice.c21
-rw-r--r--dvbdevice.h4
4 files changed, 18 insertions, 13 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f3d20f9e..5e401ebb 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1077,6 +1077,8 @@ Marco Schlüßler <marco@lordzodiac.de>
with older compiler versions
for adding the 'portal name' to cChannels
for fixing the cDvbSpuDecoder
+ for fixing a short glitch when starting a recording on the primary device while
+ in replay or transfer mode
Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP
diff --git a/HISTORY b/HISTORY
index 78b751a5..2f66d60c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3117,7 +3117,7 @@ Video Disk Recorder Revision History
learned inside the menu to avoid overwriting the date/time in the 'classic'
skin (thanks to Oliver Endriss for reporting this one).
-2004-11-06: Version 1.3.16
+2004-11-07: Version 1.3.16
- Fixed cChannel::SetName() in case only the ShortName or Provider has changed
(thanks to Sascha Volkenandt for reporting this one).
@@ -3129,3 +3129,5 @@ Video Disk Recorder Revision History
input).
- Fixed the cDvbSpuDecoder (thanks to Marco Schlüßler).
- Fixed handling of pmAudioOnlyBlack (thanks to Stefan Huelswitt).
+- Fixed a short glitch when starting a recording on the primary device while
+ in replay or transfer mode (thanks to Marco Schlüßler).
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));
diff --git a/dvbdevice.h b/dvbdevice.h
index 7dd6174d..1817f371 100644
--- a/dvbdevice.h
+++ b/dvbdevice.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.h 1.29 2004/10/30 14:48:27 kls Exp $
+ * $Id: dvbdevice.h 1.30 2004/11/07 10:25:16 kls Exp $
*/
#ifndef __DVBDEVICE_H
@@ -56,7 +56,7 @@ public:
private:
cDvbTuner *dvbTuner;
- void TurnOffLiveMode(void);
+ void TurnOffLiveMode(bool LiveView);
public:
virtual bool ProvidesSource(int Source) const;
virtual bool ProvidesTransponder(const cChannel *Channel) const;