X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Faudio_output%2Faout_internal.h;h=12878c26027b81aff3d5f94d3bb29219beb3f906;hb=08d51eaa6e33e3c47c6d00de5fc8424a27955912;hp=6ef8da46cd339d4ee01e0469165abbd0bdaacca1;hpb=7a87d5768beaecfc8132a875d08b53ec5b780bee;p=vlc diff --git a/src/audio_output/aout_internal.h b/src/audio_output/aout_internal.h index 6ef8da46cd..12878c2602 100644 --- a/src/audio_output/aout_internal.h +++ b/src/audio_output/aout_internal.h @@ -108,6 +108,7 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input, const aout_ int aout_InputDelete( aout_instance_t * p_aout, aout_input_t * p_input ); int aout_InputPlay( aout_instance_t * p_aout, aout_input_t * p_input, aout_buffer_t * p_buffer, int i_input_rate ); +void aout_InputCheckAndRestart( aout_instance_t * p_aout, aout_input_t * p_input ); /* From filters.c : */ int aout_FiltersCreatePipeline ( aout_instance_t * p_aout, filter_t ** pp_filters, int * pi_nb_filters, const audio_sample_format_t * p_input_format, const audio_sample_format_t * p_output_format ); @@ -178,6 +179,7 @@ enum INPUT_LOCK=2, INPUT_FIFO_LOCK=4, OUTPUT_FIFO_LOCK=8, + VOLUME_VARS_LOCK=16 }; void aout_lock (unsigned); @@ -238,6 +240,17 @@ static inline void aout_unlock_input( aout_instance_t *p_aout, aout_input_t * p_ vlc_mutex_unlock( &p_input->lock ); } +static inline void aout_lock_volume( aout_instance_t *p_aout ) +{ + aout_lock( VOLUME_VARS_LOCK ); + vlc_mutex_lock( &p_aout->volume_vars_lock ); +} + +static inline void aout_unlock_volume( aout_instance_t *p_aout ) +{ + aout_unlock( VOLUME_VARS_LOCK ); + vlc_mutex_unlock( &p_aout->volume_vars_lock ); +} /* Helpers */ @@ -269,7 +282,10 @@ static inline bool AoutChangeFilterString( vlc_object_t *p_obj, aout_instance_t if( p_aout ) psz_val = var_GetString( p_aout, psz_variable ); else - psz_val = config_GetPsz( p_obj, "audio-filter" ); + { + psz_val = var_CreateGetString( p_obj->p_libvlc, "audio-filter" ); + var_Destroy( p_obj->p_libvlc, "audio-filter" ); + } if( !psz_val ) psz_val = strdup( "" );