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