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
This commit is contained in:
Wim Taymans 2013-09-12 15:01:36 +02:00
parent 9d3dbd6581
commit 9f9ba21404

View file

@ -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);