[vlc-devel] [PATCH] input: don't send ES_OUT_ *PCR/SET_NEXT_DISPLAY_TIME from slaves
Rémi Denis-Courmont
remi at remlab.net
Thu Apr 5 17:30:38 CEST 2018
Le torstaina 5. huhtikuuta 2018, 18.21.56 EEST Denis Charmet a écrit :
> Hi,
>
> On 2018-04-05 17:04, Thomas Guillem wrote:
> > This avoid having slaves messing up the timing of the main input.
>
> I can't say that I agree with this.
> Slaves are kinda broken by design and with this you just hide
> everything under the carpet and hope for the best.
> IMO, the "proper" solution would to correctly implement the support of
> SET_DEMUX_NEXT_DISPLAY_TIME in all the demuxes and prevent them to call
> ES_OUT_(RE)SET_PCR if they receive this control.
That will not work either. Rate-incontrollable inputs such as capture devices
get the data whenever they get the data. They cannot implement any kind of
SET_DEMUX_TIME.
AFAICT, the correct solution is to compute the global PCR as the minimum of
all input sources (the master and all or any slaves) and then extrapolated by
the clock rate.
Of course, this will not work for TS streams with broken PCR. There are no
ways to handle all arbitrary breakages.
--
雷米‧德尼-库尔蒙
https://www.remlab.net/
More information about the vlc-devel
mailing list