From: RĂ©mi Denis-Courmont Date: Sun, 29 Nov 2009 16:10:33 +0000 (+0200) Subject: Fix another potential audio output dead lock X-Git-Tag: 1.1.0-ff~2320 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=2852aba44c5127fea525f348d77fcd82cd326a3f;p=vlc Fix another potential audio output dead lock --- 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; }