From 2852aba44c5127fea525f348d77fcd82cd326a3f Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sun, 29 Nov 2009 18:10:33 +0200 Subject: [PATCH] Fix another potential audio output dead lock --- src/audio_output/output.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/audio_output/output.c b/src/audio_output/output.c index 6cce790486..bb80e0116b 100644 --- a/src/audio_output/output.c +++ b/src/audio_output/output.c @@ -336,6 +336,14 @@ aout_buffer_t * aout_OutputNextBuffer( aout_instance_t * p_aout, p_aout->output.b_starving = 0; + p_aout->output.fifo.p_first = p_buffer->p_next; + if ( p_buffer->p_next == NULL ) + { + p_aout->output.fifo.pp_last = &p_aout->output.fifo.p_first; + } + + aout_unlock_output_fifo( p_aout ); + if ( !b_can_sleek && ( (p_buffer->i_pts - start_date > AOUT_PTS_TOLERANCE) || (start_date - p_buffer->i_pts > AOUT_PTS_TOLERANCE) ) ) @@ -358,12 +366,5 @@ aout_buffer_t * aout_OutputNextBuffer( aout_instance_t * p_aout, aout_unlock_input_fifos( p_aout ); } - p_aout->output.fifo.p_first = p_buffer->p_next; - if ( p_buffer->p_next == NULL ) - { - p_aout->output.fifo.pp_last = &p_aout->output.fifo.p_first; - } - - aout_unlock_output_fifo( p_aout ); return p_buffer; } -- 2.39.2