rtpjitterbuffer: Make the next output buffer discont after resetting the jitterbuffer
authorSebastian Dröge <sebastian@centricular.com>
Fri, 20 Mar 2015 17:21:57 +0000 (18:21 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 13 Apr 2015 07:05:34 +0000 (09:05 +0200)
Resetting the jitterbuffer drops all packets and other things, and will cause
a discontinuity in the packets received by the depayloaders. They should now
also flush anything they had pending as the new data will start at a different
position.

https://bugzilla.gnome.org/show_bug.cgi?id=739868

gst/rtpmanager/gstrtpjitterbuffer.c

index c095920ba486deaaa8fcca5e187b90f4f834686c..6c3c9b8defb4b2bb4eb8c3d024ff3440639aab0e 100644 (file)
@@ -2300,6 +2300,7 @@ gst_rtp_jitter_buffer_chain (GstPad * pad, GstObject * parent,
             (GFunc) free_item_and_retain_events, &events);
         rtp_jitter_buffer_reset_skew (priv->jbuf);
         remove_all_timers (jitterbuffer);
+        priv->discont = TRUE;
         priv->last_popped_seqnum = -1;
         priv->next_seqnum = seqnum;
         do_next_seqnum = TRUE;