qtdemux: mind rounding issues when converting from global time to mov time

In particular, this avoids missing the intended keyframe when first converting
from the frame's mov time to global segment time, and then back from global
time to mov time when activating the segment.
This commit is contained in:
Mark Nauwelaerts 2011-01-27 12:16:46 +01:00
parent 0add79cbf1
commit cb76a13cc9

View file

@ -848,7 +848,8 @@ gst_qtdemux_find_index (GstQTDemux * qtdemux, QtDemuxStream * str,
guint32 index;
/* convert media_time to mov format */
media_time = gst_util_uint64_scale (media_time, str->timescale, GST_SECOND);
media_time =
gst_util_uint64_scale_ceil (media_time, str->timescale, GST_SECOND);
result = gst_util_array_binary_search (str->samples, str->stbl_index + 1,
sizeof (QtDemuxSample), (GCompareDataFunc) find_func,