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

Rémi Denis-Courmont remi at remlab.net
Thu Mar 16 19:41:15 CET 2017


On March 16, 2017 11:43:19 PM GMT+08:00, Thomas Guillem <thomas at gllm.fr> wrote:
>* 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
>
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel

This was already discussed and rejected in the past. I am not aware of any new element that would justify revisiting this. In fact, aout blocking should work better than then, so there are even more reasons to NOT do nonblocking drain.
-- 
Rémi Denis-Courmont


More information about the vlc-devel mailing list