[vlc-devel] [PATCH V2 00/13] player: add a timer API
Thomas Guillem
thomas at gllm.fr
Fri Aug 23 16:45:05 CEST 2019
Branch available here: https://code.videolan.org/tguillem/vlc/tree/clock-update/9
Changes since the V1:
- Don't pass the clock as a parameter to clock udpates
- Use VLC_TICK_0 as origin, and not 0
- Handle the b_access_control case in mpeg/ts.c (no first_pcr)
- Reworked ES_OUT_SET_FIRST_PCR/vlc_clock_main_SetFirstPcr():
Replaced with ES_OUT_ADD_ORIGIN_TIME / vlc_clock_main_AddOriginPoint(), cf.
patches 01, 02 and 03. Demuxers can send origin points to the main clock via
the es_out. The clock will keep a map of origin points and will fix ts with
their origin before being sent via callbacks. This fixes a TOCTOU issue when
the ts module updated its origin more than one time.
Thomas Guillem (13):
clock: rename SetFirstPcr to SetReferencePoint
clock: add AddOriginPoint
es_out: add the ES_OUT_ADD_ORIGIN_TIME control
ts: update the origin time to the es_out
clock: forward clock update points
input: forward clock update points
input: send pause/playing date via events
player: add the timer API
aout: dummy: implement TimeGet
demux: mock: add audio_block_length param
test: player: add audio_block_length param
test: player: test the timer API
qt: use the new player timer
include/vlc_es_out.h | 4 +
include/vlc_player.h | 134 ++++++++++
modules/audio_output/adummy.c | 61 ++++-
modules/demux/mock.c | 3 +-
modules/demux/mpeg/ts.c | 24 ++
modules/demux/mpeg/ts_streams.c | 2 +-
modules/demux/mpeg/ts_streams_private.h | 1 +
.../gui/qt/components/player_controller.cpp | 119 ++++++---
.../gui/qt/components/player_controller.hpp | 1 +
.../gui/qt/components/player_controller_p.hpp | 8 +
src/Makefile.am | 1 +
src/clock/clock.c | 147 +++++++++--
src/clock/clock.h | 49 +++-
src/input/es_out.c | 60 ++++-
src/input/es_out_timeshift.c | 16 ++
src/input/event.h | 16 +-
src/input/input.c | 25 +-
src/input/input_internal.h | 23 +-
src/input/item.c | 2 +-
src/input/thumbnailer.c | 4 +-
src/libvlccore.sym | 3 +
src/player/input.c | 77 +++++-
src/player/player.c | 16 +-
src/player/player.h | 44 +++-
src/player/timer.c | 240 ++++++++++++++++++
test/src/player/player.c | 155 ++++++++++-
26 files changed, 1120 insertions(+), 115 deletions(-)
create mode 100644 src/player/timer.c
--
2.20.1
More information about the vlc-devel
mailing list