[vlc-devel] [RFC PATCH 01/13] clock: add vlc_clock
Thomas Guillem
thomas at gllm.fr
Thu Oct 25 15:54:59 CEST 2018
On Fri, Aug 31, 2018, at 14:36, Zhao Zhili wrote:
> On 8/31/18 5:59 PM, Denis Charmet wrote:
> > Hi,
> >
> > On 2018-08-29 11:10, Zhao Zhili wrote:
> >> On 2018年06月27日 20:41, Thomas Guillem wrote:
> >>> +static vlc_tick_t main_stream_to_system(vlc_clock_main_t * main_clock,
> >>> + vlc_tick_t pts)
> >>> +{
> >>> + if (unlikely(main_clock->offset == VLC_TS_INVALID))
> >>> + return VLC_TS_INVALID;
> >>> + return (vlc_tick_t) (pts * main_clock->coeff / main_clock->rate
> >>> + main_clock->offset);
> >>> +}
> >>
> >> I'm afraid int64_t to float to int64_t won't work well as float can
> >> only represent a small integer precisely.
> >> main_clock->offset makes it worse since it isn't uncommon to be a
> >> large value.
> >>
> >> (vlc_tick_t)(pts * main_clock->coeff / main_clock->rate) +
> >> main_clock->offset
> >>
> >> may be a little better, but the problem is still there.
> >>
> >
> > Thanks for the review, it's indeed a very interesting point. It seems
> > that switching to double might help a lot with that. Any other suggestions?
> >
> > Regards,
>
> double should give milliseconds precision at the worst case, but I'm not
> sure.
Your test confirms that a double will be OK.
>
> I think the math in AvgRescale is incorrect, in both the master branch
> and the clock-core branch. I have a patch for it
>
> clock: fix AvgRescale
>
> It doesn't make sense in mathematics, but it may have a special meaning
> I missed. And the function is not used in the clock-core branch, so it
> doesn't matter anymore if it's finally being removed.
It will and still be used by the input clock, even in the clock-core branch.
We'll rework and probably the input clock for VLC 5.0 when we rework the buffering.
So, I'll probably merge your AvgRescale fix in our clock branch.
>
>
> _______________________________________________
> 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