[Bug 740575] Fixing DTS in GStreamer
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Mar 19 07:31:06 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=740575
--- Comment #43 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> ---
(In reply to Wim Taymans from comment #42)
> (In reply to Matej Knopp from comment #40)
> > So if DTS don't need to be inside segment start / stop, why use segment
> > offset for the shift instead of just moving segment start time? if you use
> > the offset field it will (at least for current implementation of
> > gst_segment_to_stream_time) also move stream time, while if you just adjust
> > segment start, stream time stays unaffected?
>
> Good remark, I guess we could also allow DTS outside of the segment, It's
> not much different from adjusting the offset.
>
> We would need to add something to gst_segment_to_running_time_full() or make
> a new method to return the extrapolated time instead of returning _BEFORE
> and _AFTER. Is it worth it?
When synching on DTS (e.g. decoding sync, or identity sync=1) it would be
unfortunate if we would be dropping a buffer because it's outside of the
segment. There is no way to actually know, so if it's before, we need to render
it from now on. I'm not sure if that is even consistent in any direction across
the code.
In any case, it is needed, otherwise we can't calculate the offset, which must
be in running time. The easy way is to get the DTS and PTS in running time, and
substract it (if DTS the absolute of a negative value, add it).
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list