[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