From e21cf3bc1c85ff7ad235c36a99ee169784040008 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Cr=C3=AAte?= Date: Sun, 15 May 2016 12:16:23 +0200 Subject: [PATCH] rtpmp4gpay: Don't produce timestamps based on byte count The GST_BUFFER_OFFSET of output buffers returned to GstRtpBasePayload should reflect the number of "samples" in the unit of the RTP clock in this buffer. If this is not true, then it shouldn't be set. https://bugzilla.gnome.org/show_bug.cgi?id=761943 --- gst/rtp/gstrtpmp4gpay.c | 6 +----- gst/rtp/gstrtpmp4gpay.h | 2 -- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/gst/rtp/gstrtpmp4gpay.c b/gst/rtp/gstrtpmp4gpay.c index 44c6cf2..7333b49 100644 --- a/gst/rtp/gstrtpmp4gpay.c +++ b/gst/rtp/gstrtpmp4gpay.c @@ -134,7 +134,6 @@ gst_rtp_mp4g_pay_reset (GstRtpMP4GPay * rtpmp4gpay) GST_DEBUG_OBJECT (rtpmp4gpay, "reset"); gst_adapter_clear (rtpmp4gpay->adapter); - rtpmp4gpay->offset = 0; } static void @@ -540,10 +539,7 @@ gst_rtp_mp4g_pay_flush (GstRtpMP4GPay * rtpmp4gpay) GST_BUFFER_PTS (outbuf) = rtpmp4gpay->first_timestamp; GST_BUFFER_DURATION (outbuf) = rtpmp4gpay->first_duration; - if (rtpmp4gpay->frame_len) { - GST_BUFFER_OFFSET (outbuf) = rtpmp4gpay->offset; - rtpmp4gpay->offset += rtpmp4gpay->frame_len; - } + GST_BUFFER_OFFSET (outbuf) = GST_BUFFER_OFFSET_NONE; if (rtpmp4gpay->discont) { GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DISCONT); diff --git a/gst/rtp/gstrtpmp4gpay.h b/gst/rtp/gstrtpmp4gpay.h index 7506fad..14fd68a 100644 --- a/gst/rtp/gstrtpmp4gpay.h +++ b/gst/rtp/gstrtpmp4gpay.h @@ -48,8 +48,6 @@ struct _GstRtpMP4GPay GstClockTime first_timestamp; GstClockTime first_duration; gboolean discont; - GstClockTime duration; - guint64 offset; gint rate; gchar *params; -- 2.7.4