qtdemux: prefer the tfdt timestamp over the buffer's that is less accurate
authorThiago Santos <thiagoss@osg.samsung.com>
Wed, 18 Feb 2015 12:40:14 +0000 (09:40 -0300)
committerThiago Santos <thiagoss@osg.samsung.com>
Wed, 18 Feb 2015 12:57:48 +0000 (09:57 -0300)
The tfdt should be more accurate as the buffer timestamp is provided
by the fragmented format manifest and it might just be an approximation.

gst/isomp4/qtdemux.c

index 61dd18b..84b56ee 100644 (file)
@@ -2967,6 +2967,12 @@ qtdemux_parse_moof (GstQTDemux * qtdemux, const guint8 * buffer, guint length,
       GST_DEBUG_OBJECT (qtdemux, "decode time %" G_GINT64_FORMAT
           " (%" GST_TIME_FORMAT ")", decode_time,
           GST_TIME_ARGS (decode_time_ts));
+
+      /* Discard the fragment buffer timestamp info to avoid using it.
+       * Rely on tfdt instead as it is more accurate than the timetamp
+       * that is fetches from a manifest/playlist and is usually
+       * less accurate. */
+      qtdemux->fragment_start = -1;
     }
 
     if (G_UNLIKELY (!stream)) {