From 36e4202c145b7d1a39a9ac3eb6a8758dd3425ffb Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 27 Jan 2013 14:18:19 +0100 Subject: Fixed possible audio chatter when a recording is replayed to its very end --- HISTORY | 3 ++- dvbplayer.c | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/HISTORY b/HISTORY index cc21cd60..b4eecc2e 100644 --- a/HISTORY +++ b/HISTORY @@ -7534,7 +7534,7 @@ Video Disk Recorder Revision History - Reduced the number of retries in cTransfer::Receive() to avoid blocking recordings in case the primary device can't handle the current live signal. -2013-01-25: Version 1.7.37 +2013-01-27: Version 1.7.37 - Now also using FindHeader() in cMpeg2Fixer::AdjTref() (pointed out by Sören Moch). - Added missing template for DVBDIR to Make.config.template (reported by Derek Kelly). @@ -7550,3 +7550,4 @@ Video Disk Recorder Revision History - Improved responsiveness during replay when close to the recording's end. - Fixed a leftover progress display in the LCARS main menu when replay of a recording ends while the menu is open, and the live channel has no EPG information. +- Fixed possible audio chatter when a recording is replayed to its very end. diff --git a/dvbplayer.c b/dvbplayer.c index f2cb2d20..241c7ec8 100644 --- a/dvbplayer.c +++ b/dvbplayer.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbplayer.c 2.28 2012/06/09 14:37:24 kls Exp $ + * $Id: dvbplayer.c 2.29 2013/01/27 14:03:16 kls Exp $ */ #include "dvbplayer.h" @@ -548,10 +548,11 @@ void cDvbPlayer::Action(void) } if (p) { int w; + bool VideoOnly = (dropFrame || playMode != pmPlay && !(playMode == pmSlow && playDir == pdForward)) && DeviceIsPlayingVideo(); if (isPesRecording) - w = PlayPes(p, pc, playMode != pmPlay && !(playMode == pmSlow && playDir == pdForward) && DeviceIsPlayingVideo()); + w = PlayPes(p, pc, VideoOnly); else - w = PlayTs(p, pc, playMode != pmPlay && !(playMode == pmSlow && playDir == pdForward) && DeviceIsPlayingVideo()); + w = PlayTs(p, pc, VideoOnly); if (w > 0) { p += w; pc -= w; -- cgit v1.2.3