[vlc-devel] [PATCH 2/2] equalizer: load the equalizer-preset only if equalizer-bands is not set

Rémi Denis-Courmont remi at remlab.net
Tue Jun 24 14:14:09 CEST 2014


     Hello,

Le 2014-06-18 22:33, Adrien Maglo a écrit :
> When using the libVLC equalizer API, this prevents the band settings
> to be overridden on start by the default "flat" preset.
> ---
>  modules/audio_filter/equalizer.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/modules/audio_filter/equalizer.c
> b/modules/audio_filter/equalizer.c
> index a7ce684..f8ca033 100644
> --- a/modules/audio_filter/equalizer.c
> +++ b/modules/audio_filter/equalizer.c
> @@ -341,11 +341,13 @@ static int EqzInit( filter_t *p_filter, int 
> i_rate )
>
>      /* Get initial values */
>      var_Get( p_aout, "equalizer-preset", &val1 );
> -    PresetCallback( VLC_OBJECT( p_aout ), NULL, val1, val1, p_sys );
> -    free( val1.psz_string );
> -
>      var_Get( p_aout, "equalizer-bands", &val2 );
>      var_Get( p_aout, "equalizer-preamp", &val3 );
> +
> +    /* Load the preset only if equalizer-bands is not set. */
> +    if (val2.psz_string != NULL && *val2.psz_string != "\0")

Comparing a character with a pointer cannot be correct. And I think 
val2 cannot be NULL (aside from memory errors which this code does not 
handle correctly anyway).

> +        PresetCallback( VLC_OBJECT( p_aout ), NULL, val1, val1, 
> p_sys );
> +    free( val1.psz_string );
>      BandsCallback(  VLC_OBJECT( p_aout ), NULL, val2, val2, p_sys );
>      PreampCallback( VLC_OBJECT( p_aout ), NULL, val3, val3, p_sys );

-- 
Rémi Denis-Courmont



More information about the vlc-devel mailing list