Commit f4132b2e authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

audio_output: Properly lock the input_fifos_lock in aout_Restart.

(Should fix a number of crash^W assert report that we had in apple-bugreport ml).
parent 59bd93a8
...@@ -379,6 +379,8 @@ static int aout_Restart( aout_instance_t * p_aout ) ...@@ -379,6 +379,8 @@ static int aout_Restart( aout_instance_t * p_aout )
} }
/* Lock all inputs. */ /* Lock all inputs. */
vlc_mutex_lock( &p_aout->input_fifos_lock );
for ( i = 0; i < p_aout->i_nb_inputs; i++ ) for ( i = 0; i < p_aout->i_nb_inputs; i++ )
{ {
vlc_mutex_lock( &p_aout->pp_inputs[i]->lock ); vlc_mutex_lock( &p_aout->pp_inputs[i]->lock );
...@@ -397,6 +399,7 @@ static int aout_Restart( aout_instance_t * p_aout ) ...@@ -397,6 +399,7 @@ static int aout_Restart( aout_instance_t * p_aout )
{ {
vlc_mutex_unlock( &p_aout->pp_inputs[i]->lock ); vlc_mutex_unlock( &p_aout->pp_inputs[i]->lock );
} }
vlc_mutex_unlock( &p_aout->input_fifos_lock );
vlc_mutex_unlock( &p_aout->mixer_lock ); vlc_mutex_unlock( &p_aout->mixer_lock );
return -1; return -1;
} }
...@@ -408,6 +411,7 @@ static int aout_Restart( aout_instance_t * p_aout ) ...@@ -408,6 +411,7 @@ static int aout_Restart( aout_instance_t * p_aout )
{ {
vlc_mutex_unlock( &p_aout->pp_inputs[i]->lock ); vlc_mutex_unlock( &p_aout->pp_inputs[i]->lock );
} }
vlc_mutex_unlock( &p_aout->input_fifos_lock );
vlc_mutex_unlock( &p_aout->mixer_lock ); vlc_mutex_unlock( &p_aout->mixer_lock );
return -1; return -1;
} }
...@@ -422,6 +426,7 @@ static int aout_Restart( aout_instance_t * p_aout ) ...@@ -422,6 +426,7 @@ static int aout_Restart( aout_instance_t * p_aout )
vlc_mutex_unlock( &p_input->lock ); vlc_mutex_unlock( &p_input->lock );
} }
vlc_mutex_unlock( &p_aout->input_fifos_lock );
vlc_mutex_unlock( &p_aout->mixer_lock ); vlc_mutex_unlock( &p_aout->mixer_lock );
return b_error; return b_error;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment