[vlc-devel] [PATCH 00/17] Fixing normal_time handling
Thomas Guillem
thomas at gllm.fr
Tue Mar 9 15:15:29 UTC 2021
The normal_time handling (cf. DEMUX_GET_NORMAL_TIME) was added for the
player timer, in order to calculate the playback time from a PTS (that
doesn't have an origin of 0).
It was implemented only for the TS module (missing the EPG part) and not
for dvd, bluray, ccda and adaptives.
Using a demux control was not a good approach. Indeed, the normal_time
was fetched every 200ms from the input_thread_t mainloop and sent back
to the player.
This patch set improve the normal time support.
- The normal_time is now calculated in the ES_OUT_SET_PCR control, from
the demux matching_time.
- Implement it for cdda, bluray and dvd
- TODO: adaptive. Francois, could you do it ?
Best regards,
Thomas Guillem (17):
es_out_timeshift: add int_i64_i64 control
es_out_timeshift: use int_i64_i64 for SET_PCR
demux: ty: use the es_out_SetPCR() helper
es_out: add a matching time to SET_*_PCR
clock: handle the normal_time from the input
es_out: send the normal_time
demux: ts: refactor
demux: ts: handle matching time
player: remove normal_time handling
input: remove unused normal_time handling
dvdnav: handle matching_time
dvdread: handle matching_time
bluray: handle matching time
cdda: handle matching_time
input: rename vlc_input_event_times variables
input: pass times measurement date to the player
dbus: increase player timer period
include/vlc_demux.h | 2 --
include/vlc_es_out.h | 16 +++++++--
modules/access/bluray.c | 26 ++++++++++++++
modules/access/cdda.c | 3 +-
modules/access/dvdnav.c | 3 +-
modules/access/dvdread.c | 7 +++-
modules/control/dbus/dbus.c | 2 +-
modules/demux/adaptive/PlaylistManager.cpp | 2 +-
modules/demux/adaptive/plumbing/Demuxer.cpp | 2 +-
modules/demux/mpeg/ts.c | 38 ++++++++++++---------
modules/demux/timestamps_filter.h | 5 +--
modules/demux/ty.c | 4 +--
src/clock/clock.c | 23 +++++++++++--
src/clock/clock.h | 9 +++++
src/input/demux.c | 2 --
src/input/es_out.c | 15 ++++----
src/input/es_out.h | 10 +++---
src/input/es_out_timeshift.c | 33 +++++++++++-------
src/input/event.h | 4 +--
src/input/input.c | 13 +++----
src/input/input_internal.h | 6 ++--
src/player/input.c | 28 +++++----------
src/player/player.h | 3 --
src/player/timer.c | 15 ++------
24 files changed, 161 insertions(+), 110 deletions(-)
--
2.30.0
More information about the vlc-devel
mailing list