[vlc-devel] [RFC] Equalizer cannot be disabled once equalizer-bands are set
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...
Size: 908 bytes
Desc: not available
More information about the vlc-devel