From: RĂ©mi Denis-Courmont Date: Sun, 29 Nov 2009 11:16:51 +0000 (+0200) Subject: Fix potential deadlock when changing audio channels (fixes #2240) X-Git-Tag: 1.1.0-ff~2324 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=66b2d87574e61f5bf293ffd29235819805d0fd96;p=vlc Fix potential deadlock when changing audio channels (fixes #2240) --- diff --git a/src/audio_output/intf.c b/src/audio_output/intf.c index 1e0d8b9315..3476ad3ce8 100644 --- a/src/audio_output/intf.c +++ b/src/audio_output/intf.c @@ -286,15 +286,16 @@ static int aout_Restart( aout_instance_t * p_aout ) return -1; } - /* Lock all inputs. */ - aout_lock_input_fifos( p_aout ); - for ( i = 0; i < p_aout->i_nb_inputs; i++ ) { aout_lock_input( p_aout, p_aout->pp_inputs[i] ); + aout_lock_input_fifos( p_aout ); aout_InputDelete( p_aout, p_aout->pp_inputs[i] ); + aout_unlock_input_fifos( p_aout ); } + /* Lock all inputs. */ + aout_lock_input_fifos( p_aout ); aout_MixerDelete( p_aout ); /* Re-open the output plug-in. */