rtpjitterbuffer: reevaluate the current timer after timeout

When we trigger the timeout logic of a timer, reevaluate it because it is
possible that it still has the lowest timeout.
This commit is contained in:
Wim Taymans 2013-09-18 16:32:28 +02:00
parent 8d021b6ede
commit 6bb2626498

View file

@ -2446,16 +2446,13 @@ wait_next_timeout (GstRtpJitterBuffer * jitterbuffer)
/* no timestamp, timeout immeditately */
if (test_timeout == -1 || test_timeout <= now) {
if (do_timeout (jitterbuffer, test, now)) {
i--;
if (do_timeout (jitterbuffer, test, now))
len--;
}
} else {
i--;
} else if (timer == NULL || test_timeout < timer_timeout) {
/* find the smallest timeout */
if (timer == NULL || test_timeout < timer_timeout) {
timer = test;
timer_timeout = test_timeout;
}
timer = test;
timer_timeout = test_timeout;
}
}
if (timer) {