mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed a short glitch when starting a recording on the primary device while in replay or transfer mode
This commit is contained in:
parent
f2d44b3d60
commit
2ef5ba5710
@ -1077,6 +1077,8 @@ Marco Schl
|
||||
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
|
||||
|
4
HISTORY
4
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).
|
||||
|
21
dvbdevice.c
21
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));
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user