[vlc-devel] [PATCH 00/18] New output clock
Thomas Guillem
thomas at gllm.fr
Thu Mar 7 15:25:22 CET 2019
During the Majorca core meeting, Francois, Steve, Denis, Rémi, JB, and me
worked on the new VLC output clock. During this meeting the vlc_clock_t API was
designed and we were able to get AV sync working (but only with PulseAudio).
Here is branch resulting of our work during this meeting:
https://code.videolan.org/jbk/vlc/tree/clock-core/1
And now I present you the 32th (!!!) version of this branch:
https://code.videolan.org/jbk/vlc/tree/clock-core/32
I cleaned everything, split the commits and fixed the following since
clock-core/1:
- aout modules that can't start deferred (every modules except PulseAudio)
- rate change
- delay change
- rate + delay change
- visualization plugin sync
- spu sync
- seek/flush
- ts/ogg playback (linked to input delay)
- monotonic vs audio clock switch
There should be no surprise here. Every time I was blocked by an issue, I asked
personally Denis and Rémi or on the mailing-list and did my best to respect
what we agreed on.
Regards,
Denis Charmet (3):
clock: Avg: use double
clock: rework clock_point_t
clock: add vlc_clock
François Cartegnie (1):
es_out: rebuffer without flush on late PCR
Jean-Baptiste Kempf (1):
doc: add clock documentation
Rémi Denis-Courmont (1):
aout: add timing notify
Thomas Guillem (12):
vout: rework spu_Render()
vout: spu: use vlc_clock_t
vout: use vlc_clock_t
aout: use original pts as play date
aout: pass vlc_clock_t to aout filters
aout: aout_DecNew: assert that arguments are valid
aout: use vlc_clock_t
codec: get_display_date: add system_now
core: switch to the new output clock
aout: vlc_clock_t is now mandatory
vout: vlc_clock_t is now mandatory
clock: add 'clock-master' option to choose the master clock
doc/clock.md | 109 +++++
include/vlc_aout.h | 1 +
include/vlc_codec.h | 8 +-
include/vlc_spu.h | 2 +-
modules/codec/avcodec/video.c | 2 +-
modules/codec/synchro.c | 14 +-
modules/stream_out/transcode/video.c | 4 +-
src/Makefile.am | 2 +
src/audio_output/aout_internal.h | 23 +-
src/audio_output/dec.c | 163 ++++++--
src/audio_output/filters.c | 74 +++-
src/audio_output/output.c | 7 +
src/clock/clock.c | 567 +++++++++++++++++++++++++++
src/clock/clock.h | 141 +++++++
src/clock/clock_internal.c | 55 +--
src/clock/clock_internal.h | 36 +-
src/clock/input_clock.c | 44 +--
src/input/decoder.c | 219 ++++-------
src/input/decoder.h | 2 +-
src/input/es_out.c | 96 ++++-
src/libvlc-module.c | 16 +
src/video_output/control.h | 8 +
src/video_output/video_output.c | 147 +++++--
src/video_output/vout_internal.h | 36 ++
src/video_output/vout_subpictures.c | 184 ++++++---
25 files changed, 1597 insertions(+), 363 deletions(-)
create mode 100644 doc/clock.md
create mode 100644 src/clock/clock.c
create mode 100644 src/clock/clock.h
--
2.20.1
More information about the vlc-devel
mailing list