[vlc-devel] [PATCH 03/13] es_out: add the ES_OUT_SET_FIRST_PCR control

Francois Cartegnie fcvlcdev at free.fr
Fri Aug 23 12:14:50 CEST 2019

Le 21/08/2019 à 16:13, Thomas Guillem a écrit :
> This control will send this first pcr to the main clock and will be used for
> clock update notification.
> Only the ts module need this control for now. Indeed, this is the only one that
> is sending absolute ts.
> In order to check if a module need this control, one should check the
> DEMUX_GET_TIME implementation for a subtraction with a first_pcr member.

Media time is not related to the PCR. In most case it does match, but
it's not the global case.

Live events, EPG event time, chapters, chained streams, do report TIME
that will evolve in a difference space.

On SET_TIME, the demuxer remaps the SET_TIME timeline to the data to be
demuxed. (The TS_0 on GET_TIME being then an insignifiant issue)

Also, GET_TIME time update is synchronous at input level, while the
SET_PCR in controls streams is asynchronous.
There's never a guarantee (chapters, reset, PCR_RESET) that the PCR was
issued during the same timeline as GET_TIME.

Francois Cartegnie
VideoLAN - VLC Developer

More information about the vlc-devel mailing list