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 */ /* no timestamp, timeout immeditately */
if (test_timeout == -1 || test_timeout <= now) { if (test_timeout == -1 || test_timeout <= now) {
if (do_timeout (jitterbuffer, test, now)) { if (do_timeout (jitterbuffer, test, now))
i--;
len--; len--;
} i--;
} else { } else if (timer == NULL || test_timeout < timer_timeout) {
/* find the smallest timeout */ /* find the smallest timeout */
if (timer == NULL || test_timeout < timer_timeout) { timer = test;
timer = test; timer_timeout = test_timeout;
timer_timeout = test_timeout;
}
} }
} }
if (timer) { if (timer) {