rtpmp4gpay: Don't produce timestamps based on byte count
authorOlivier Crête <olivier.crete@collabora.com>
Sun, 15 May 2016 10:16:23 +0000 (12:16 +0200)
committerOlivier Crête <olivier.crete@collabora.com>
Sun, 15 May 2016 10:28:55 +0000 (12:28 +0200)
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
gst/rtp/gstrtpmp4gpay.h

index 44c6cf2..7333b49 100644 (file)
@@ -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);
index 7506fad..14fd68a 100644 (file)
@@ -48,8 +48,6 @@ struct _GstRtpMP4GPay
   GstClockTime  first_timestamp;
   GstClockTime  first_duration;
   gboolean      discont;
-  GstClockTime  duration;
-  guint64       offset;
 
   gint          rate;
   gchar        *params;