From fc0d238194eb581aa74455a8ed0fad3ea76785d2 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 10 Apr 2009 10:27:16 +0200 Subject: [PATCH] Added missing AUDIO_PAUSE/AUDIO_CONTINUE calls to cDvbDevice --- CONTRIBUTORS | 1 + HISTORY | 4 +++- dvbdevice.c | 10 +++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 38bc7734..6d6cd032 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -666,6 +666,7 @@ Oliver Endriss even in trick modes for pointing out a problem with the decimal point of the F record in the info file of a recording + for adding missing AUDIO_PAUSE/AUDIO_CONTINUE calls to cDvbDevice Reinhard Walter Buchner for adding some satellites to 'sources.conf' diff --git a/HISTORY b/HISTORY index 07b68f8e..6fbbdce0 100644 --- a/HISTORY +++ b/HISTORY @@ -5979,7 +5979,7 @@ Video Disk Recorder Revision History cDevice class reimplements PlayTs() or PlayPes(), it also needs to make sure this new function works as expected. -2009-04-05: Version 1.7.5 +2009-04-10: Version 1.7.5 - Fixed a hangup when replaying a TS recording with subtitles activated (reported by Timo Helkio). @@ -6025,3 +6025,5 @@ Video Disk Recorder Revision History Oliver Endriss for pointing out a problem with the F record in the info file of a recording). - Fixed detecting the frame rate for radio recordings. +- Added missing AUDIO_PAUSE/AUDIO_CONTINUE calls to cDvbDevice (thanks to Oliver + Endriss). diff --git a/dvbdevice.c b/dvbdevice.c index a1b2cfc4..942abf11 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 2.13 2009/04/05 10:42:59 kls Exp $ + * $Id: dvbdevice.c 2.14 2009/04/10 09:54:24 kls Exp $ */ #include "dvbdevice.h" @@ -1172,8 +1172,10 @@ void cDvbDevice::Play(void) CHECK(ioctl(fd_audio, AUDIO_CONTINUE)); } else { - if (fd_audio >= 0) + if (fd_audio >= 0) { CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, true)); + CHECK(ioctl(fd_audio, AUDIO_CONTINUE)); + } if (fd_video >= 0) CHECK(ioctl(fd_video, VIDEO_CONTINUE)); } @@ -1187,8 +1189,10 @@ void cDvbDevice::Freeze(void) CHECK(ioctl(fd_audio, AUDIO_PAUSE)); } else { - if (fd_audio >= 0) + if (fd_audio >= 0) { CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, false)); + CHECK(ioctl(fd_audio, AUDIO_PAUSE)); + } if (fd_video >= 0) CHECK(ioctl(fd_video, VIDEO_FREEZE)); }