From 02a8f9973b6c7d4c3c53dfe86d25e262705f92fa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Tue, 27 Sep 2022 13:56:54 +0100 Subject: [PATCH] qtdemux: guard against timestamp calculation overflow in gap event loop Could possibly cause an endless loop. Fixes #1400. Part-of: --- subprojects/gst-plugins-good/gst/isomp4/qtdemux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c b/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c index 7c65784..1c097f8 100644 --- a/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c +++ b/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c @@ -6575,6 +6575,7 @@ gst_qtdemux_loop_state_movie (GstQTDemux * qtdemux) /* send gap events until the stream catches up */ /* gaps can only be sent after segment is activated (segment.stop is no longer -1) */ while (GST_CLOCK_TIME_IS_VALID (stream->segment.position) && + pseudo_cur_time < (G_MAXUINT64 - gap_threshold) && pseudo_cur_time + gap_threshold < pseudo_target_time) { GstEvent *gap = gst_event_new_gap (stream->segment.position, gap_threshold); -- 2.7.4