From a9121588115a890ada660c45a5cec0a750153a62 Mon Sep 17 00:00:00 2001 From: Laurent Aimar Date: Wed, 14 Jul 2010 19:14:11 +0200 Subject: [PATCH] Moved AoutChangeFilterString out of aout_internal.h. No functionnal changes. --- src/audio_output/aout_internal.h | 67 +------------------------------- src/audio_output/common.c | 66 +++++++++++++++++++++++++++++++ src/audio_output/input.c | 4 +- src/audio_output/intf.c | 2 +- 4 files changed, 70 insertions(+), 69 deletions(-) diff --git a/src/audio_output/aout_internal.h b/src/audio_output/aout_internal.h index 7a36b37160..0d9da2a564 100644 --- a/src/audio_output/aout_internal.h +++ b/src/audio_output/aout_internal.h @@ -142,7 +142,7 @@ void aout_FifoSet( aout_instance_t *, aout_fifo_t *, mtime_t ); void aout_FifoMoveDates( aout_instance_t *, aout_fifo_t *, mtime_t ); void aout_FifoDestroy( aout_instance_t * p_aout, aout_fifo_t * p_fifo ); void aout_FormatsPrint( aout_instance_t * p_aout, const char * psz_text, const audio_sample_format_t * p_format1, const audio_sample_format_t * p_format2 ); - +bool aout_ChangeFilterString( vlc_object_t *, aout_instance_t *, const char *psz_variable, const char *psz_name, bool b_add ); /* From intf.c :*/ int aout_VolumeSoftGet( aout_instance_t *, audio_volume_t * ); @@ -266,69 +266,4 @@ static inline void AoutInputsMarkToRestart( aout_instance_t *p_aout ) aout_unlock_mixer( p_aout ); } -/* This function will add or remove a a module from a string list (colon - * separated). It will return true if there is a modification - * In case p_aout is NULL, we will use configuration instead of variable */ -static inline bool AoutChangeFilterString( vlc_object_t *p_obj, aout_instance_t * p_aout, - const char* psz_variable, - const char *psz_name, bool b_add ) -{ - char *psz_val; - char *psz_parser; - - if( *psz_name == '\0' ) - return false; - - if( p_aout ) - psz_val = var_GetString( p_aout, psz_variable ); - else - { - psz_val = var_CreateGetString( p_obj->p_libvlc, "audio-filter" ); - var_Destroy( p_obj->p_libvlc, "audio-filter" ); - } - - if( !psz_val ) - psz_val = strdup( "" ); - - psz_parser = strstr( psz_val, psz_name ); - - if( ( b_add && psz_parser ) || ( !b_add && !psz_parser ) ) - { - /* Nothing to do */ - free( psz_val ); - return false; - } - - if( b_add ) - { - char *psz_old = psz_val; - if( *psz_old ) - { - if( asprintf( &psz_val, "%s:%s", psz_old, psz_name ) == -1 ) - psz_val = NULL; - } - else - psz_val = strdup( psz_name ); - free( psz_old ); - } - else - { - const int i_name = strlen( psz_name ); - const char *psz_next; - - psz_next = &psz_parser[i_name]; - if( *psz_next == ':' ) - psz_next++; - - memmove( psz_parser, psz_next, strlen(psz_next)+1 ); - } - - if( p_aout ) - var_SetString( p_aout, psz_variable, psz_val ); - else - config_PutPsz( p_obj, psz_variable, psz_val ); - free( psz_val ); - return true; -} - #endif /* !__LIBVLC_AOUT_INTERNAL_H */ diff --git a/src/audio_output/common.c b/src/audio_output/common.c index e3c7d94c37..b5c012ec18 100644 --- a/src/audio_output/common.c +++ b/src/audio_output/common.c @@ -774,3 +774,69 @@ aout_buffer_t *aout_BufferAlloc(aout_alloc_t *allocation, mtime_t microseconds, return block_Alloc( i_alloc_size ); } + + +/* This function will add or remove a a module from a string list (colon + * separated). It will return true if there is a modification + * In case p_aout is NULL, we will use configuration instead of variable */ +bool aout_ChangeFilterString( vlc_object_t *p_obj, aout_instance_t *p_aout, + const char *psz_variable, + const char *psz_name, bool b_add ) +{ + char *psz_val; + char *psz_parser; + + if( *psz_name == '\0' ) + return false; + + if( p_aout ) + psz_val = var_GetString( p_aout, psz_variable ); + else + { + psz_val = var_CreateGetString( p_obj->p_libvlc, "audio-filter" ); + var_Destroy( p_obj->p_libvlc, "audio-filter" ); + } + + if( !psz_val ) + psz_val = strdup( "" ); + + psz_parser = strstr( psz_val, psz_name ); + + if( ( b_add && psz_parser ) || ( !b_add && !psz_parser ) ) + { + /* Nothing to do */ + free( psz_val ); + return false; + } + + if( b_add ) + { + char *psz_old = psz_val; + if( *psz_old ) + { + if( asprintf( &psz_val, "%s:%s", psz_old, psz_name ) == -1 ) + psz_val = NULL; + } + else + psz_val = strdup( psz_name ); + free( psz_old ); + } + else + { + const int i_name = strlen( psz_name ); + const char *psz_next; + + psz_next = &psz_parser[i_name]; + if( *psz_next == ':' ) + psz_next++; + + memmove( psz_parser, psz_next, strlen(psz_next)+1 ); + } + + if( p_aout ) + var_SetString( p_aout, psz_variable, psz_val ); + else + config_PutPsz( p_obj, psz_variable, psz_val ); + free( psz_val ); + return true; +} diff --git a/src/audio_output/input.c b/src/audio_output/input.c index a179080fa7..f0ab216f3d 100644 --- a/src/audio_output/input.c +++ b/src/audio_output/input.c @@ -843,8 +843,8 @@ vout_thread_t *aout_filter_RequestVout( filter_t *p_filter, static int ChangeFiltersString( aout_instance_t * p_aout, const char* psz_variable, const char *psz_name, bool b_add ) { - return AoutChangeFilterString( VLC_OBJECT(p_aout), p_aout, - psz_variable, psz_name, b_add ) ? 1 : 0; + return aout_ChangeFilterString( VLC_OBJECT(p_aout), p_aout, + psz_variable, psz_name, b_add ) ? 1 : 0; } static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd, diff --git a/src/audio_output/intf.c b/src/audio_output/intf.c index 493ad5c71b..017ece2259 100644 --- a/src/audio_output/intf.c +++ b/src/audio_output/intf.c @@ -512,7 +512,7 @@ void aout_EnableFilter( vlc_object_t *p_this, const char *psz_name, { aout_instance_t *p_aout = findAout( p_this ); - if( AoutChangeFilterString( p_this, p_aout, "audio-filter", psz_name, b_add ) ) + if( aout_ChangeFilterString( p_this, p_aout, "audio-filter", psz_name, b_add ) ) { if( p_aout ) AoutInputsMarkToRestart( p_aout ); -- 2.39.2