From 3d794023448c527019f21b9b79381fe07165dcfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 7 Sep 2022 11:07:40 +0300 Subject: [PATCH] rtpjitterbuffer: Reschedule timers when updating their offset As EXPECTED timers are skipped the order of the timers relative to each other can change if there are EXPECTED timers and rescheduling needs to happen. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1422 Part-of: --- .../gst-plugins-good/gst/rtpmanager/gstrtpjitterbuffer.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/subprojects/gst-plugins-good/gst/rtpmanager/gstrtpjitterbuffer.c b/subprojects/gst-plugins-good/gst/rtpmanager/gstrtpjitterbuffer.c index 25a1434163..063e39b9f7 100644 --- a/subprojects/gst-plugins-good/gst/rtpmanager/gstrtpjitterbuffer.c +++ b/subprojects/gst-plugins-good/gst/rtpmanager/gstrtpjitterbuffer.c @@ -2274,10 +2274,9 @@ update_timer_offsets (GstRtpJitterBuffer * jitterbuffer) test->timeout = GST_CLOCK_TIME_NONE; test->offset = 0; } - /* as we apply the offset on all timers, the order of timers won't - * change and we can skip updating the timer queue */ } + rtp_timer_queue_reschedule (priv->timers, test); test = rtp_timer_get_next (test); } }