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

Thomas Guillem thomas at gllm.fr
Tue Nov 3 12:39:57 CET 2015


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