From: RĂ©mi Denis-Courmont Date: Wed, 3 Dec 2008 17:29:38 +0000 (+0200) Subject: RTP: dequeue and discard late packets X-Git-Tag: 1.0.0-pre1~1953 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=2cd57dde9b3a7b10700a89c479c37da4d71c48b0;p=vlc RTP: dequeue and discard late packets --- diff --git a/modules/access/rtp/session.c b/modules/access/rtp/session.c index e9bf3cb5a7..a4e0d221c1 100644 --- a/modules/access/rtp/session.c +++ b/modules/access/rtp/session.c @@ -479,13 +479,12 @@ bool rtp_dequeue (demux_t *demux, const rtp_session_t *session, */ while (((block = src->blocks)) != NULL) { -#if 0 - if (rtp_seq (block) == ((src->last_seq + 1) & 0xffff)) - { /* Next block ready, no need to wait */ + if ((int16_t)(rtp_seq (block) - (src->last_seq + 1)) <= 0) + { /* Next (or earlier) block ready, no need to wait */ rtp_decode (demux, session, src); continue; } -#endif + /* Wait for 3 times the inter-arrival delay variance (about 99.7% * match for random gaussian jitter). Additionnaly, we implicitly * wait for misordering times the packetization time.