diff options
author | HÃ¥vard Graff <havard.graff@tandberg.com> | 2009-09-08 13:39:31 +0200 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-09-08 13:39:31 +0200 |
commit | 40549278c31c601164ab29c28afbb463db907942 (patch) | |
tree | 9ff7876477e22a48a2154f2d49ff538acd34a705 /gst | |
parent | 610802483885757d4339805dfdf53966920ceae9 (diff) |
jitterbuffer: avoid throwing reordered buffers with same timestamps
When we receive a reordered packet with the same timestamp as the previous one
(which can happen for fragmented packets) don't consider the packet as lost but
instead wait for the reordered packet to arrive.
Switch the warning-level, so that a reordering does not get a warning, only
an actual produced lost-packet.
Fixes #594251
Diffstat (limited to 'gst')
-rw-r--r-- | gst/rtpmanager/gstrtpjitterbuffer.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c index 01b41a06..4ef449ba 100644 --- a/gst/rtpmanager/gstrtpjitterbuffer.c +++ b/gst/rtpmanager/gstrtpjitterbuffer.c @@ -1486,7 +1486,7 @@ again: if (gap > 0) { /* we have a gap */ - GST_WARNING_OBJECT (jitterbuffer, + GST_DEBUG_OBJECT (jitterbuffer, "Sequence number GAP detected: expected %d instead of %d (%d missing)", next_seqnum, seqnum, gap); @@ -1498,7 +1498,7 @@ again: * number of packets we are missing, this is the estimated duration * for the missing packet based on equidistant packet spacing. Also make * sure we never go negative. */ - if (out_time > priv->last_out_time) + if (out_time >= priv->last_out_time) duration = (out_time - priv->last_out_time) / (gap + 1); else goto lost; @@ -1567,7 +1567,7 @@ again: GstEvent *event; /* we had a gap and thus we lost a packet. Create an event for this. */ - GST_DEBUG_OBJECT (jitterbuffer, "Packet #%d lost", next_seqnum); + GST_WARNING_OBJECT (jitterbuffer, "Packet #%d lost", next_seqnum); priv->num_late++; discont = TRUE; |