From 9f9ba21404035dc37fef642e1679a6898da5cb8e Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 12 Sep 2013 15:01:36 +0200 Subject: [PATCH] jitterbuffer: handle segments with non-0 start We keep the DTS and PTS in running-time inside the jitterbuffer. Make sure to transform it back to a buffer timestamp before pushing out the buffer. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707931 --- gst/rtpmanager/gstrtpjitterbuffer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c index 079ae0c..6326476 100644 --- a/gst/rtpmanager/gstrtpjitterbuffer.c +++ b/gst/rtpmanager/gstrtpjitterbuffer.c @@ -2071,6 +2071,9 @@ pop_and_push_next (GstRtpJitterBuffer * jitterbuffer, guint16 seqnum) dts = GST_BUFFER_DTS (outbuf); pts = GST_BUFFER_PTS (outbuf); + dts = gst_segment_to_position (&priv->segment, GST_FORMAT_TIME, dts); + pts = gst_segment_to_position (&priv->segment, GST_FORMAT_TIME, pts); + /* apply timestamp with offset to buffer now */ GST_BUFFER_DTS (outbuf) = apply_offset (jitterbuffer, dts); GST_BUFFER_PTS (outbuf) = apply_offset (jitterbuffer, pts); -- 2.7.4