[vlc-devel] [RFC] Equalizer cannot be disabled once equalizer-bands are set

David Fuhrmann david.fuhrmann at gmail.com
Fri Apr 11 12:19:11 CEST 2014


While debugging the current equalizer problems on the mac (#9350), I found out that the equalizer never gets disabled once "equalizer-bands“ is set to some value.

In the GUI equalizer panel, we use playlist_EnableAudioFilter to disable the equalizer filter. This, in turn, will call aout_ChangeFilterString and afterwards the filter chain is restarted.

During restart, aout_FiltersNew is called which registers an equalizer callback for „equalizer“ and "equalizer-bands“. Afterwards, this callback is triggered directly (in src/audio_output/filters.c:424). The callback, in turn, directly re-adds the equalizer to the filter chain which seems wrong.

As I’m rather unfamiliar with this code I don’t know why this is needed and if removing the problematic line (as in the attached patch) might be a proper solution.

Additionally, another problem is that due to the audio profiles support in the mac interface, "equalizer-bands“ is set even if the equalizer filter is disabled.
To be sure: The current API design implies that every change to "equalizer-bands“ or "equalizer“ variable will autoenable this filter? This is somewhat awkward, why not explicitly enable the equalizer in libvlc_media_player_set_equalizer if needed, and remove the EqualizerCallback? And why only these two variables, and not "equalizer-preamp“ or "equalizer-present“?

I would be glad if someone can give some insight here.

With best regards,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-src-audio_output-do-not-autoenable-equalizer-if-equa.patch
Type: application/octet-stream
Size: 908 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20140411/d8026b65/attachment.obj>

More information about the vlc-devel mailing list