From 5807b51c46b31abe0fecedb8f1a783f2bd74a18d Mon Sep 17 00:00:00 2001 From: uid86226 Date: Mon, 16 Feb 2004 20:19:09 +0000 Subject: fix freezes with input plugins that play with the speed: * use _x_set_speed() for speed manipulations, since it is ticket-safe * _x_set_speed() is an internal helper function now, move frontend locking outside of it * restrict access to metronom clock internal stuff CVS patchset: 6165 CVS date: 2004/02/16 20:19:09 --- src/input/input_pvr.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/input/input_pvr.c') diff --git a/src/input/input_pvr.c b/src/input/input_pvr.c index 8b47c9747..32a7aa632 100644 --- a/src/input/input_pvr.c +++ b/src/input/input_pvr.c @@ -38,7 +38,7 @@ * usage: * xine pvr:/\!\! * - * $Id: input_pvr.c,v 1.41 2004/02/12 18:09:20 mroi Exp $ + * $Id: input_pvr.c,v 1.42 2004/02/16 20:19:09 uid86226 Exp $ */ /************************************************************************** @@ -460,7 +460,7 @@ static void pvr_adjust_realtime_speed(pvr_input_plugin_t *this, fifo_buffer_t *f this->scr_tunning = -2; /* marked as paused */ pvrscr_speed_tunning(this->scr, 1.0); this->speed_before_pause = speed; - this->stream->xine->clock->set_speed ( this->stream->xine->clock, XINE_SPEED_PAUSE); + _x_set_speed(this->stream, XINE_SPEED_PAUSE); #ifdef SCRLOG printf("input_pvr: buffer empty, pausing playback\n" ); #endif @@ -472,7 +472,7 @@ static void pvr_adjust_realtime_speed(pvr_input_plugin_t *this, fifo_buffer_t *f this->scr_tunning = 0; pvrscr_speed_tunning(this->scr, 1.0 ); - this->stream->xine->clock->set_speed ( this->stream->xine->clock, this->speed_before_pause); + _x_set_speed(this->stream, this->speed_before_pause); #ifdef SCRLOG printf("input_pvr: resuming playback\n" ); #endif @@ -674,7 +674,7 @@ static int pvr_play_file(pvr_input_plugin_t *this, fifo_buffer_t *fifo, uint8_t this->play_blk = (this->rec_blk) ? (this->rec_blk-1) : 0; if( speed > XINE_SPEED_NORMAL ) - this->stream->xine->clock->set_speed (this->stream->xine->clock, XINE_SPEED_NORMAL); + _x_set_speed(this->stream, XINE_SPEED_NORMAL); if( this->play_fd != -1 ) { if(this->play_fd != this->rec_fd ) @@ -977,7 +977,7 @@ static void pvr_event_handler (pvr_input_plugin_t *this) { case XINE_EVENT_SET_V4L2: /* make sure we are not paused */ - this->stream->xine->clock->set_speed ( this->stream->xine->clock, XINE_SPEED_NORMAL); + _x_set_speed(this->stream, XINE_SPEED_NORMAL); if( v4l2_data->session_id != this->session ) { /* if session changes -> closes the old one */ -- cgit v1.2.3