[vlc-devel] [RFC PATCH 0/6] aout and vout drain
Thomas Guillem
thomas at gllm.fr
Mon Mar 20 09:21:59 CET 2017
On Thu, Mar 16, 2017, at 19:41, Rémi Denis-Courmont wrote:
> 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.
I can't find the discussion, I guess I was not in the project when this
discussion occurred.
I'm OK to keep the current aout drain behavior for 3.0.
Should we discuss this subject again for next releases ? Is it OK to
block the input while draining the aout ? Even if it's not working now,
the airplay audio delay will be more than 2 seconds. Are we OK with that
?
> --
> Rémi Denis-Courmont
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list