summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-06-16 10:30:34 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-06-16 10:31:47 +0200
commit62a7bcb3959613bcf52a8f6f92c3ed090b1c57a3 (patch)
tree50039f1d2a232d83532d81e9ae8e088b2b6ef3c4
parentf4e01b13eed39087a7994f74be2e48bbb21e4eb3 (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.c5
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)