summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager
diff options
context:
space:
mode:
authorHÃ¥vard Graff <havard.graff@tandberg.com>2009-09-08 13:39:31 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2009-09-08 13:39:31 +0200
commit40549278c31c601164ab29c28afbb463db907942 (patch)
tree9ff7876477e22a48a2154f2d49ff538acd34a705 /gst/rtpmanager
parent610802483885757d4339805dfdf53966920ceae9 (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/rtpmanager')
-rw-r--r--gst/rtpmanager/gstrtpjitterbuffer.c6
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;