mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 00:36:51 +00:00
qtdemux: guard against timestamp calculation overflow in gap event loop
Could possibly cause an endless loop. Fixes #1400. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3084>
This commit is contained in:
parent
3c2c4bbe2c
commit
02a8f9973b
1 changed files with 1 additions and 0 deletions
|
@ -6575,6 +6575,7 @@ gst_qtdemux_loop_state_movie (GstQTDemux * qtdemux)
|
||||||
/* send gap events until the stream catches up */
|
/* send gap events until the stream catches up */
|
||||||
/* gaps can only be sent after segment is activated (segment.stop is no longer -1) */
|
/* gaps can only be sent after segment is activated (segment.stop is no longer -1) */
|
||||||
while (GST_CLOCK_TIME_IS_VALID (stream->segment.position) &&
|
while (GST_CLOCK_TIME_IS_VALID (stream->segment.position) &&
|
||||||
|
pseudo_cur_time < (G_MAXUINT64 - gap_threshold) &&
|
||||||
pseudo_cur_time + gap_threshold < pseudo_target_time) {
|
pseudo_cur_time + gap_threshold < pseudo_target_time) {
|
||||||
GstEvent *gap =
|
GstEvent *gap =
|
||||||
gst_event_new_gap (stream->segment.position, gap_threshold);
|
gst_event_new_gap (stream->segment.position, gap_threshold);
|
||||||
|
|
Loading…
Reference in a new issue