Fixed a short glitch when starting a recording on the primary device while in replay or transfer mode

This commit is contained in:
Klaus Schmidinger 2004-11-07 10:31:59 +01:00
parent f2d44b3d60
commit 2ef5ba5710
4 changed files with 18 additions and 13 deletions

View File

@ -1077,6 +1077,8 @@ Marco Schl
with older compiler versions with older compiler versions
for adding the 'portal name' to cChannels for adding the 'portal name' to cChannels
for fixing the cDvbSpuDecoder 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> Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP for reporting a bug in displaying the current channel when switching via the SVDRP

View File

@ -3117,7 +3117,7 @@ Video Disk Recorder Revision History
learned inside the menu to avoid overwriting the date/time in the 'classic' learned inside the menu to avoid overwriting the date/time in the 'classic'
skin (thanks to Oliver Endriss for reporting this one). 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 - Fixed cChannel::SetName() in case only the ShortName or Provider has changed
(thanks to Sascha Volkenandt for reporting this one). (thanks to Sascha Volkenandt for reporting this one).
@ -3129,3 +3129,5 @@ Video Disk Recorder Revision History
input). input).
- Fixed the cDvbSpuDecoder (thanks to Marco Schlüßler). - Fixed the cDvbSpuDecoder (thanks to Marco Schlüßler).
- Fixed handling of pmAudioOnlyBlack (thanks to Stefan Huelswitt). - 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).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "dvbdevice.h"
@ -681,14 +681,15 @@ int cDvbDevice::OpenFilter(u_short Pid, u_char Tid, u_char Mask)
return -1; return -1;
} }
void cDvbDevice::TurnOffLiveMode(void) void cDvbDevice::TurnOffLiveMode(bool LiveView)
{ {
// Avoid noise while switching: if (LiveView) {
// Avoid noise while switching:
CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true)); CHECK(ioctl(fd_audio, AUDIO_SET_MUTE, true));
CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true)); CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER)); CHECK(ioctl(fd_audio, AUDIO_CLEAR_BUFFER));
CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER)); CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
}
// Turn off live PIDs: // Turn off live PIDs:
@ -781,7 +782,7 @@ bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
// Turn off live PIDs if necessary: // Turn off live PIDs if necessary:
if (TurnOffLivePIDs) if (TurnOffLivePIDs)
TurnOffLiveMode(); TurnOffLiveMode(LiveView);
// Set the tuner: // Set the tuner:
@ -899,7 +900,7 @@ bool cDvbDevice::SetPlayMode(ePlayMode PlayMode)
case pmAudioVideo: case pmAudioVideo:
case pmAudioOnlyBlack: case pmAudioOnlyBlack:
if (playMode == pmNone) if (playMode == pmNone)
TurnOffLiveMode(); TurnOffLiveMode(true);
CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true)); CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
CHECK(ioctl(fd_audio, AUDIO_SELECT_SOURCE, AUDIO_SOURCE_MEMORY)); CHECK(ioctl(fd_audio, AUDIO_SELECT_SOURCE, AUDIO_SOURCE_MEMORY));
CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, PlayMode == pmAudioVideo)); CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, PlayMode == pmAudioVideo));

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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 #ifndef __DVBDEVICE_H
@ -56,7 +56,7 @@ public:
private: private:
cDvbTuner *dvbTuner; cDvbTuner *dvbTuner;
void TurnOffLiveMode(void); void TurnOffLiveMode(bool LiveView);
public: public:
virtual bool ProvidesSource(int Source) const; virtual bool ProvidesSource(int Source) const;
virtual bool ProvidesTransponder(const cChannel *Channel) const; virtual bool ProvidesTransponder(const cChannel *Channel) const;