mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-07 12:21:17 +00:00
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
This commit is contained in:
parent
6108024838
commit
40549278c3
1 changed files with 3 additions and 3 deletions
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue