From 364a921d3f10c54d403b5f35afbbdb405dbca819 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Sun, 13 May 2018 21:59:49 -0700 Subject: [PATCH] qtdemux: do not update segment.stop is it is not a valid time Otherwise it overflows and starts having a meaningful and wrong value. https://bugzilla.gnome.org/show_bug.cgi?id=752603 --- gst/isomp4/qtdemux.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index d34c8653b3..3509f4714a 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -4917,8 +4917,10 @@ gst_qtdemux_stream_update_segment (GstQTDemux * qtdemux, QtDemuxStream * stream, stream->segment.rate = rate; stream->segment.start = start + QTSTREAMTIME_TO_GSTTIME (stream, stream->cslg_shift) + min_ts; - stream->segment.stop = stop + QTSTREAMTIME_TO_GSTTIME (stream, - stream->cslg_shift) + min_ts; + if (GST_CLOCK_TIME_IS_VALID (stop)) { + stream->segment.stop = stop + QTSTREAMTIME_TO_GSTTIME (stream, + stream->cslg_shift) + min_ts; + } stream->segment.time = time + min_ts; stream->segment.position = stream->segment.start + min_ts;