From 2a12af481a05a7d9c84a13e443eeb8c17136c66f Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Tue, 18 Feb 2025 17:06:15 +0100 Subject: [PATCH] Fixed spurious fast frames when switching from "slow back" to "slow forward" --- HISTORY | 1 + dvbplayer.c | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/HISTORY b/HISTORY index a0ee48e7..8fa7dcdc 100644 --- a/HISTORY +++ b/HISTORY @@ -10085,3 +10085,4 @@ Video Disk Recorder Revision History - Added '~' to the list of delimiters in cTextWrapper (thanks to Stefan Hofmann). - Fixed progress display when switching from "pause" to "slow back" (reported by Andreas Baierl). +- Fixed spurious fast frames when switching from "slow back" to "slow forward". diff --git a/dvbplayer.c b/dvbplayer.c index 0a6638d9..d890f87a 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 5.5 2025/02/18 15:37:24 kls Exp $ + * $Id: dvbplayer.c 5.6 2025/02/18 17:06:15 kls Exp $ */ #include "dvbplayer.h" @@ -795,15 +795,17 @@ void cDvbPlayer::Forward(void) Pause(); break; } - Empty(); // run into pmPause case pmStill: - case pmPause: + case pmPause: { + LOCK_THREAD; + Empty(); DeviceMute(); playMode = pmSlow; playDir = pdForward; trickSpeed = NORMAL_SPEED; TrickSpeed(Setup.MultiSpeedMode ? -1 : -MAX_SPEEDS); + } break; default: esyslog("ERROR: unknown playMode %d (%s)", playMode, __FUNCTION__); } @@ -844,7 +846,6 @@ void cDvbPlayer::Backward(void) Pause(); break; } - Empty(); // run into pmPause case pmStill: case pmPause: {