}
aout_lock_mixer( p_aout );
- if ( !p_aout->mixer.b_error )
+ if ( p_aout->p_mixer )
{
i_result = p_aout->output.pf_volume_get( p_aout, pi_volume );
}
return VLC_SUCCESS;
int i_result = VLC_SUCCESS;
- aout_lock_mixer( p_aout );
- if ( !p_aout->mixer.b_error )
+ aout_lock_mixer( p_aout );
+ aout_lock_input_fifos( p_aout );
+ if ( p_aout->p_mixer )
i_result = p_aout->output.pf_volume_set( p_aout, i_volume );
-
+ aout_unlock_input_fifos( p_aout );
aout_unlock_mixer( p_aout );
var_SetBool( p_aout, "intf-change", true );
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. */