[vlc-devel] [RFC PATCH 0/3] drain aout filters

Thomas Guillem thomas at gllm.fr
Tue Nov 3 14:31:15 CET 2015


Should we do the same for video filters ?

I should also add a pf_audio_flush to flush/discard the data (without
draining).

On Tue, Nov 3, 2015, at 12:39, Thomas Guillem wrote:
> The first 2 patches change the behavior of pf_audio_filter: if the input
> block
> is NULL, then the filter is draining (same behavior than pf_decode when
> input
> is NULL).  An other solution is to add pf_audio_drain, that way, we don't
> have
> to modify every audio filters (but then, the behavior will be different
> than
> pf_decode).
> 
> I'm not really sure I if have to do something about the input_rate
> override
> like aout_FiltersPlay does.
> 
> The last patch drain aout filters when aout is draining (that is: flush
> when
> wait is true).
> 
> One remark:the drained block don't have any pts, and is played just
> after, but
> I don't think it's an issue.
> 
> Thomas Guillem (3):
>   filter: pf_audio_filter: block_t can be NULL
>   filter: add aout_FiltersDrain
>   audio_output: drain aout filters on flush (if waiting)
> 
>  include/vlc_aout.h                               |  1 +
>  include/vlc_filter.h                             |  1 +
>  modules/audio_filter/audiobargraph_a.c           |  3 ++
>  modules/audio_filter/channel_mixer/dolby.c       |  3 ++
>  modules/audio_filter/channel_mixer/trivial.c     | 21 ++++++++
>  modules/audio_filter/chorus_flanger.c            |  3 ++
>  modules/audio_filter/compressor.c                |  3 ++
>  modules/audio_filter/converter/a52tofloat32.c    |  3 ++
>  modules/audio_filter/converter/a52tospdif.c      |  3 ++
>  modules/audio_filter/converter/dtstofloat32.c    |  3 ++
>  modules/audio_filter/converter/dtstospdif.c      |  3 ++
>  modules/audio_filter/converter/format.c          | 60
>  ++++++++++++++++++++++
>  modules/audio_filter/equalizer.c                 |  3 ++
>  modules/audio_filter/gain.c                      |  3 ++
>  modules/audio_filter/karaoke.c                   |  3 ++
>  modules/audio_filter/normvol.c                   |  3 ++
>  modules/audio_filter/param_eq.c                  |  3 ++
>  modules/audio_filter/resampler/speex.c           |  2 +
>  modules/audio_filter/resampler/src.c             |  2 +
>  modules/audio_filter/resampler/ugly.c            |  2 +
>  modules/audio_filter/scaletempo.c                |  3 ++
>  modules/audio_filter/spatializer/spatializer.cpp |  3 ++
>  modules/audio_filter/stereo_widen.c              |  3 ++
>  modules/visualization/glspectrum.c               |  3 ++
>  modules/visualization/goom.c                     |  3 ++
>  modules/visualization/projectm.cpp               |  3 ++
>  modules/visualization/visual/visual.c            |  3 ++
>  modules/visualization/vsxu.cpp                   |  3 ++
>  src/audio_output/dec.c                           |  8 +++
>  src/audio_output/filters.c                       | 65
>  ++++++++++++++++++++++++
>  src/libvlccore.sym                               |  1 +
>  31 files changed, 226 insertions(+)
> 
> -- 
> 2.1.4
> 


More information about the vlc-devel mailing list