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

Adrien Maglo magsoft at gmail.com
Wed Jun 18 16:33:27 CEST 2014


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")
+        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 );
 
-- 
1.9.1




More information about the vlc-devel mailing list