Some filters and outputs rely on the samples count (which was correct),
others on the bytes size (which was not), accounting for why decoding
failed only in some combinations.
New methods are provided to:
- get the available equalizer presets;
- get the available frequency bands (useful for creating a UI);
- create a new default equalizer, or create a new equalizer from a preset;
- release a previously created equalizer;
- get/set preamp and individual frequency amplification values;
- apply equalizer settings to a media player.
Equalizer settings are persistent, can be made whether media is currently playing or not, and will automatically be applied to subsequently played media.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
The configuration system cannot store both a static list and a dynamic
one (and AFAIK, it never could). It only makes to use either a static
list or a callback.
The library introduces noise in unclear circumstances. There does not
seem to be any problem on VLC side though. I do not have time and
expertise to troubleshoot this.
Conversion from FI32 to S16 is already supported by the Laurent's
generic audio format filter. Conversion to FI32 are useless for lack
of (functional) FI32 encoder or output.
Support for more samplerate than 44100 and 48000
Support for classic ISO bands instead of Winamp ones
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
I am not sure this filter ever worked as intended.
It was providing serious distortions.
This is now limiting seriously the space of parameters but at least it
does not explode anymore. Should close#4887
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
This filter allows channels to be remapped. Potential uses include
downmixing, or to correct non-standard channel orders.
Modified-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
This should fix buffer underflows when changing the playback rate.
We probably should instead reallocate the buffer and resume resampling
when the situation occurs, but that would be a lot more complicated.
This adds a good resampler for integers, while reusing a source package
(speex) that is already dependend on.
Contrary to SRC, the library is BSD and the plugin is LGPL.