gst-plugins-good: rtpjitterbuffer: only reset skew on gap if input ts available

Mark Nauwelaerts mnauw at kemper.freedesktop.org
Mon Sep 19 03:03:17 PDT 2011


Module: gst-plugins-good
Branch: master
Commit: 915db2602903194984f2c9aa48985946bbca68f5
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=915db2602903194984f2c9aa48985946bbca68f5

Author: Mark Nauwelaerts <mark.nauwelaerts at collabora.co.uk>
Date:   Thu Sep  1 14:47:48 2011 +0200

rtpjitterbuffer: only reset skew on gap if input ts available

---

 gst/rtpmanager/rtpjitterbuffer.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/gst/rtpmanager/rtpjitterbuffer.c b/gst/rtpmanager/rtpjitterbuffer.c
index f1c8e49..5db5da4 100644
--- a/gst/rtpmanager/rtpjitterbuffer.c
+++ b/gst/rtpmanager/rtpjitterbuffer.c
@@ -635,8 +635,12 @@ rtp_jitter_buffer_insert (RTPJitterBuffer * jbuf, GstBuffer * buf,
 
   rtptime = gst_rtp_buffer_get_timestamp (buf);
   /* rtp time jumps are checked for during skew calculation, but bypassed
-   * in other mode, so mind those here and reset jb if needed */
-  if (jbuf->mode != RTP_JITTER_BUFFER_MODE_SLAVE &&
+   * in other mode, so mind those here and reset jb if needed.
+   * Only reset if valid input time, which is likely for UDP input
+   * where we expect this might happen due to async thread effects
+   * (in seek and state change cycles), but not so much for TCP input */
+  if (GST_CLOCK_TIME_IS_VALID (time) &&
+      jbuf->mode != RTP_JITTER_BUFFER_MODE_SLAVE &&
       jbuf->base_time != -1 && jbuf->last_rtptime != -1) {
     GstClockTime ext_rtptime = jbuf->ext_rtptime;
 



More information about the gstreamer-commits mailing list