From 58ee1b978a44c4deeefc360fc747b51c2e420c6e Mon Sep 17 00:00:00 2001 From: phintuka Date: Thu, 24 Mar 2011 09:53:03 +0000 Subject: reset_scr_tuning(): do not change playback speed if playback is currently paused by the user. Fixes delayed pause when using UDP/RTP. --- xine_input_vdr.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/xine_input_vdr.c b/xine_input_vdr.c index 25ca3794..bd9cc27e 100644 --- a/xine_input_vdr.c +++ b/xine_input_vdr.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_input_vdr.c,v 1.333 2011-03-24 09:49:43 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.334 2011-03-24 09:53:03 phintuka Exp $ * */ @@ -136,7 +136,7 @@ typedef struct { # include /* syscall(__NR_gettid) */ #endif -static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.333 2011-03-24 09:49:43 phintuka Exp $"; +static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.334 2011-03-24 09:53:03 phintuka Exp $"; static const char log_module_input_vdr[] = "[input_vdr] "; #define LOG_MODULENAME log_module_input_vdr #define SysLogLevel iSysLogLevel @@ -589,8 +589,12 @@ static void reset_scr_tuning(vdr_input_plugin_t *this) if (this->scr) this->scr->set_speed_tuning(this->scr, 1.0); - if (_x_get_fine_speed(this->stream) != XINE_FINE_SPEED_NORMAL) - _x_set_fine_speed(this->stream, XINE_FINE_SPEED_NORMAL); + if (_x_get_fine_speed(this->stream) != XINE_FINE_SPEED_NORMAL) { + if (!this->is_paused) + _x_set_fine_speed(this->stream, XINE_FINE_SPEED_NORMAL); + else + LOGDBG("reset_scr_tuning: playback is paused"); + } this->scr->scr.set_fine_speed(&this->scr->scr, XINE_FINE_SPEED_NORMAL); } -- cgit v1.2.3