From 43d25f07de0c9a6feedaa331c82f923beb379fcf Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 5 Apr 2009 11:01:21 +0200 Subject: [PATCH] Fixed the 'VideoOnly' condition in the PlayPes() and PlayTs() calls in cDvbPlayer::Action() --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ dvbplayer.c | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b85ee360..7dd1ed7e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1201,6 +1201,8 @@ Reinhard Nissl for reporting that the PAT/PMT is processed too often, even if its version hasn't changed for making sure vdr-xine no longer needs cDvbPlayer::Action() to call DeviceFlush() + for fixing the 'VideoOnly' condition in the PlayPes() and PlayTs() calls in + cDvbPlayer::Action() Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index 120f1ba5..3dcc9cb2 100644 --- a/HISTORY +++ b/HISTORY @@ -6018,3 +6018,5 @@ Video Disk Recorder Revision History - Now freeing configDirectory before setting it to a new value in cPlugin::SetConfigDirectory(). - Fixed a crash when jumping to an editing mark in an audio recording. +- Fixed the 'VideoOnly' condition in the PlayPes() and PlayTs() calls in + cDvbPlayer::Action() (thanks to Reinhard Nissl). diff --git a/dvbplayer.c b/dvbplayer.c index 08483a7c..8ffd406a 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.8 2009/04/05 10:11:26 kls Exp $ + * $Id: dvbplayer.c 2.9 2009/04/05 10:55:11 kls Exp $ */ #include "dvbplayer.h" @@ -531,9 +531,9 @@ void cDvbPlayer::Action(void) while (pc > 0) { int w; if (isPesRecording) - w = PlayPes(p, pc, playMode != pmPlay && DeviceIsPlayingVideo()); + w = PlayPes(p, pc, playMode != pmPlay && !(playMode == pmSlow && playDir == pdForward) && DeviceIsPlayingVideo()); else - w = PlayTs(p, TS_SIZE, playMode != pmPlay && DeviceIsPlayingVideo()); + w = PlayTs(p, TS_SIZE, playMode != pmPlay && !(playMode == pmSlow && playDir == pdForward) && DeviceIsPlayingVideo()); if (w > 0) { p += w; pc -= w;