[vlc-devel] [PATCH v2 1/7] clock: handle the normal play time (npt) from the input
Thomas Guillem
thomas at gllm.fr
Wed Apr 7 09:10:27 UTC 2021
Yes, that was I did first, but then you have to add an extra mutex.
ClockUpdate() can be called by any out thread.
On Wed, Apr 7, 2021, at 10:31, Alexandre Janniaux wrote:
> On Wed, Apr 07, 2021 at 09:53:08AM +0200, Thomas Guillem wrote:
> >
> >
> > On Sat, Apr 3, 2021, at 10:22, Rémi Denis-Courmont wrote:
> > > Le torstaina 1. huhtikuuta 2021, 18.30.06 EEST Thomas Guillem a écrit :
> > > > vlc_clock_t will send corrected update points directly.
> > > >
> > > > The player won't have to fetch the normal_time from the demux and fix
> > > > its timer accordingly.
> > >
> > > I'm not convinced that the clock should know/care about NPT.
> >
> > The clock doesn't use it for any calculation. It is just used when passing the pts/system_date points to the clock listener (the player) and only for information purpose.
> >
>
> If the clock doesn´t use it, maybe it can be sent directly
> from the es_out to the player there:
>
> static void ClockUpdate(vlc_tick_t system_ts, vlc_tick_t ts, double rate,
> unsigned frame_rate, unsigned frame_rate_base,
> void *data)
> {
> es_out_id_t *es = data;
> es_out_sys_t *p_sys = container_of(es->out, es_out_sys_t, out);
>
> input_SendEventOutputClock(p_sys->p_input, &es->id, es->master,
> system_ts,
> ts, rate, frame_rate,
> frame_rate_base);
> }
>
> Thus, you´d just have to store the NPT in the es_out, where
> it should mostly make sense, and the player won´t have to
> fetch it from the demux itself either.
>
> > >
> > > And if we need to track NPT per group, that seems rather problematic, because
> > > there will be multiple NPTs for a single clock...
> >
> > Yes, NPT are per group, but there is also one vlc_clock_main per group, so if there are multiple NPTs, they will be handled by their respective clock (main).
> >
> > >
> > > --
> > > 雷米‧德尼-库尔蒙
> > > http://www.remlab.net/
> > >
> > >
> > >
> > > _______________________________________________
> > > vlc-devel mailing list
> > > To unsubscribe or modify your subscription options:
> > > https://mailman.videolan.org/listinfo/vlc-devel
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list