From cb76a13cc98367b955c8e2a02c4d4dacd2a5bd04 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Thu, 27 Jan 2011 12:16:46 +0100 Subject: [PATCH] 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. --- gst/qtdemux/qtdemux.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index 2076ba9..b6457ce 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -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, -- 2.7.4