collectpads: Assume PTS is equal DTS if PTS is missing

This is the best guess we can make if such a buffer reached the collect
pad. This is uncommon, we do expect parsers to have tried and fixed that
if possible (or needed).

https://bugzilla.gnome.org/show_bug.cgi?id=762207
This commit is contained in:
Nicolas Dufresne 2016-03-02 21:11:51 -05:00 committed by Sebastian Dröge
parent c2507ac86e
commit 9b0d42ceec

View file

@ -515,6 +515,12 @@ gst_collect_pads_clip_running_time (GstCollectPads * pads,
time = GST_BUFFER_PTS (buf); time = GST_BUFFER_PTS (buf);
/* If PTS is not set, the best guess we can make is to assume that both
* PTS and DTS are the same. If it was possible, parsers should have fixed
* it already as explained in https://bugzilla.gnome.org/show_bug.cgi?id=659489 */
if (!GST_CLOCK_TIME_IS_VALID (time))
time = GST_BUFFER_DTS (buf);
if (GST_CLOCK_TIME_IS_VALID (time)) { if (GST_CLOCK_TIME_IS_VALID (time)) {
time = time =
gst_segment_to_running_time (&cdata->segment, GST_FORMAT_TIME, time); gst_segment_to_running_time (&cdata->segment, GST_FORMAT_TIME, time);