From 1fc3d42f8ae2e0b5b4241cb42c25806149e9ae45 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Sat, 7 Jan 2017 23:55:42 +1100 Subject: [PATCH] qtdemux: Don't reset output timestamps when no tfdt If a fragmented stream doesn't have a tfdt, don't reset the output timestamps at each fragment boundary by erroneously using the default value of 0. Introduced by commit 69fc48 https://bugzilla.gnome.org/show_bug.cgi?id=754230 --- gst/isomp4/qtdemux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index 854ef3ac42..f178301b6f 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -3178,7 +3178,7 @@ qtdemux_parse_trun (GstQTDemux * qtdemux, GstByteReader * trun, /* If this is a GST_FORMAT_BYTES stream and there's a significant * difference (1 sec.) between decode_ts and timestamp, prefer the * former */ - if (!qtdemux->upstream_format_is_time + if (decode_ts != 0 && !qtdemux->upstream_format_is_time && ABSDIFF (decode_ts, timestamp) > MAX (stream->duration_last_moof / 2, GSTTIME_TO_QTSTREAMTIME (stream, GST_SECOND))) {