From: Wim Taymans Date: Mon, 19 Aug 2013 12:58:01 +0000 (+0200) Subject: jitterbuffer: remove lost timer when we get the packet X-Git-Tag: 1.1.4~61 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ec82e4ab7c45bcdbcdf35bb056aa0431cc5bbc10;p=platform%2Fupstream%2Fgst-plugins-good.git jitterbuffer: remove lost timer when we get the packet When we receive a packet, also remove the LOST timer for it. --- diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c index 3c1e23f..044ffff 100644 --- a/gst/rtpmanager/gstrtpjitterbuffer.c +++ b/gst/rtpmanager/gstrtpjitterbuffer.c @@ -1584,14 +1584,21 @@ update_timers (GstRtpJitterBuffer * jitterbuffer, guint16 seqnum, TimerData *test = &g_array_index (priv->timers, TimerData, i); gint gap; - if (test->type != TIMER_TYPE_EXPECTED) - continue; - gap = gst_rtp_buffer_compare_seqnum (test->seqnum, seqnum); GST_DEBUG_OBJECT (jitterbuffer, "%d, #%d<->#%d gap %d", i, test->seqnum, seqnum, gap); + if (test->type == TIMER_TYPE_LOST) { + if (gap == 0) { + remove_timer (jitterbuffer, test); + len--; + i--; + } + continue; + } else if (test->type != TIMER_TYPE_EXPECTED) + continue; + if (gap == 0) { /* the timer for the current seqnum */ timer = test;