From 62a7bcb3959613bcf52a8f6f92c3ed090b1c57a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 16 Jun 2015 10:30:34 +0200 Subject: [PATCH] rtpjitterbuffer: Compare ext RTP times, not plain RTP time and ext RTP time when calculating elapsed time Otherwise all RTP times after a wraparound would be considered as going backwards, they will always be smaller than the ext RTP time. --- gst/rtpmanager/gstrtpjitterbuffer.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c index 89b1072fe2..4e29e426c0 100644 --- a/gst/rtpmanager/gstrtpjitterbuffer.c +++ b/gst/rtpmanager/gstrtpjitterbuffer.c @@ -2717,10 +2717,9 @@ compute_elapsed (GstRtpJitterBuffer * jitterbuffer, RTPJitterBufferItem * item) GST_LOG_OBJECT (jitterbuffer, "rtp %" G_GUINT32_FORMAT ", ext %" G_GUINT64_FORMAT, rtp_time, priv->ext_timestamp); - if (rtp_time < priv->ext_timestamp) { + ext_time = gst_rtp_buffer_ext_timestamp (&priv->ext_timestamp, rtp_time); + if (ext_time < priv->ext_timestamp) { ext_time = priv->ext_timestamp; - } else { - ext_time = gst_rtp_buffer_ext_timestamp (&priv->ext_timestamp, rtp_time); } if (ext_time > priv->clock_base)