[vlc-devel] [RFC PATCH 0/6] aout and vout drain

Thomas Guillem thomas at gllm.fr
Thu Mar 16 16:43:19 CET 2017


* The 2 first patches replace the following patches
"[PATCH 1/2] vout: add vout_Drain()" and "[PATCH 2/2] decoder: drain the vout".
This a much less invasive and more generic change for the same result.

* Then, for the next 4 patches, I tried do do the same thing with aouts: don't
block the decoder (or the input thread) while the aout is draining (we may want
to pause, flush or stop while draining).

I separated this change into 4 patches for more readability on the mailing
list. If accepted, they should be merged into one, as each patches change the
aout behavior (this will make a future git bisect difficult if it's not
merged).

This set lacks the support of drain callback for amem and alsa, and maybe some
others (I didn't check every aouts since it's only a RFC).


Thomas Guillem (6):
  decoder: don't finish while draining
  vout: fix vout_IsEmpty
  aout: don't wait from flush
  aout: add drain cb and a default implementation
  pulse: implement drain
  decoder: use asynchronous aout_DecDrain

 include/vlc_aout.h                      | 16 ++++--
 modules/audio_output/adummy.c           |  4 +-
 modules/audio_output/alsa.c             | 10 ++--
 modules/audio_output/amem.c             | 17 ++++--
 modules/audio_output/audiotrack.c       | 25 ++-------
 modules/audio_output/audiounit_ios.m    |  2 +-
 modules/audio_output/coreaudio_common.c | 24 +-------
 modules/audio_output/file.c             |  5 +-
 modules/audio_output/mmdevice.c         |  4 +-
 modules/audio_output/mmdevice.h         | 11 +---
 modules/audio_output/pulse.c            | 46 ++++++++++++---
 modules/audio_output/sndio.c            |  5 +-
 src/audio_output/aout_internal.h        | 11 +++-
 src/audio_output/dec.c                  | 38 +++++++++----
 src/audio_output/output.c               | 99 ++++++++++++++++++++++++++++-----
 src/input/decoder.c                     | 26 ++++-----
 src/video_output/video_output.c         | 26 +++++++--
 src/video_output/vout_internal.h        |  2 +
 18 files changed, 242 insertions(+), 129 deletions(-)

-- 
2.11.0



More information about the vlc-devel mailing list