rtpjitterbuffer: avoid stall by corrupted seqnum accounting
authorMark Nauwelaerts <mnauw@users.sourceforge.net>
Sun, 4 May 2014 11:37:46 +0000 (13:37 +0200)
committerMark Nauwelaerts <mnauw@users.sourceforge.net>
Sun, 4 May 2014 11:38:26 +0000 (13:38 +0200)
gst/rtpmanager/gstrtpjitterbuffer.c

index 1459e91..62d7228 100644 (file)
@@ -2826,7 +2826,10 @@ do_deadline_timeout (GstRtpJitterBuffer * jitterbuffer, TimerData * timer,
 
   GST_INFO_OBJECT (jitterbuffer, "got deadline timeout");
 
-  priv->next_seqnum = timer->seqnum;
+  /* timer seqnum might have been obsoleted by caps seqnum-base,
+   * only mess with current ongoing seqnum if still unknown */
+  if (priv->next_seqnum == -1)
+    priv->next_seqnum = timer->seqnum;
   remove_timer (jitterbuffer, timer);
   JBUF_SIGNAL_EVENT (priv);