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 );
INPUT_LOCK=2,
INPUT_FIFO_LOCK=4,
OUTPUT_FIFO_LOCK=8,
+ VOLUME_VARS_LOCK=16
};
void aout_lock (unsigned);
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 */
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( "" );