[gst-cvs] gst-plugins-good: rtpmp4adepay: don' t append an extra 0 byte to the codec data

Tim Mueller tpm at kemper.freedesktop.org
Thu Mar 19 18:07:35 PDT 2009


Module: gst-plugins-good
Branch: master
Commit: fa3d457882e0b271b62b52bf5404a634c203469f
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=fa3d457882e0b271b62b52bf5404a634c203469f

Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
Date:   Wed Mar 18 16:55:27 2009 +0000

rtpmp4adepay: don't append an extra 0 byte to the codec data

The audioMuxVersion structure is packed in such a way that the codec
data does not start byte-aligned, which means there's an extra bit of
padding at the end. We don't want that bit in the codec data, since
some decoders seem get confused when they're fed with an extra codec
data byte (also it's just not right of course).

---

 gst/rtp/gstrtpmp4adepay.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gst/rtp/gstrtpmp4adepay.c b/gst/rtp/gstrtpmp4adepay.c
index 406940e..cb8735d 100644
--- a/gst/rtp/gstrtpmp4adepay.c
+++ b/gst/rtp/gstrtpmp4adepay.c
@@ -208,9 +208,9 @@ gst_rtp_mp4a_depay_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
       for (i = 0; i < size; i++) {
         data[i] = ((data[i + 1] & 1) << 7) | ((data[i + 2] & 0xfe) >> 1);
       }
-      /* last bit, this is probably not needed. */
-      data[i] = ((data[i + 1] & 1) << 7);
-      GST_BUFFER_SIZE (buffer) = size + 1;
+
+      /* ignore remaining bit, we're only interested in full bytes */
+      GST_BUFFER_SIZE (buffer) = size;
 
       gst_caps_set_simple (srccaps,
           "codec_data", GST_TYPE_BUFFER, buffer, NULL);





More information about the Gstreamer-commits mailing list