diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-06-16 10:30:34 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-06-16 10:31:47 +0200 |
commit | 62a7bcb3959613bcf52a8f6f92c3ed090b1c57a3 (patch) | |
tree | 50039f1d2a232d83532d81e9ae8e088b2b6ef3c4 | |
parent | f4e01b13eed39087a7994f74be2e48bbb21e4eb3 (diff) |
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.
-rw-r--r-- | gst/rtpmanager/gstrtpjitterbuffer.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c index 89b1072fe..4e29e426c 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) |