From 4ff245bce986904355056ab93a2bd7554bfeae37 Mon Sep 17 00:00:00 2001 From: Michael Roitzsch Date: Fri, 25 Jun 2004 16:09:31 +0000 Subject: exit pause loop, when video loop is terminated (fixed latest deadlock report by Stefan Holst) CVS patchset: 6744 CVS date: 2004/06/25 16:09:31 --- src/xine-engine/video_out.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index 894d0200a..0ed6462f0 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out.c,v 1.199 2004/06/19 20:07:15 mroi Exp $ + * $Id: video_out.c,v 1.200 2004/06/25 16:09:31 mroi Exp $ * * frame allocation / queuing / scheduling / output functions */ @@ -926,7 +926,7 @@ static void paused_loop( vos_t *this, int64_t vpts ) /* prevent decoder thread from allocating new frames */ this->free_img_buf_queue->locked_for_read = 1; - while (this->clock->speed == XINE_SPEED_PAUSE) { + while (this->clock->speed == XINE_SPEED_PAUSE && this->video_loop_running) { /* we need at least one free frame to keep going */ if( this->display_img_buf_queue->first && @@ -961,7 +961,7 @@ static void paused_loop( vos_t *this, int64_t vpts ) pthread_mutex_unlock( &this->free_img_buf_queue->mutex ); xine_usec_sleep (20000); pthread_mutex_lock( &this->free_img_buf_queue->mutex ); - } + } this->free_img_buf_queue->locked_for_read = 0; -- cgit v1.2.3