gst/qtdemux/qtdemux.c: Fix parsing of esds atoms inside mp4a atoms so that we can...
authorWim Taymans <wim.taymans@gmail.com>
Mon, 16 Jul 2007 12:11:36 +0000 (12:11 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 16 Jul 2007 12:11:36 +0000 (12:11 +0000)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_node):
Fix parsing of esds atoms inside mp4a atoms so that we can set correct
codec_info for AAC audio. Fixes #457097 along with a whole other bunch
of qt/aac files.

ChangeLog
gst/qtdemux/qtdemux.c

index 989a30a..2d310c3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-07-16  Wim Taymans  <wim.taymans@gmail.com>
+
+       * gst/qtdemux/qtdemux.c: (qtdemux_parse_node):
+       Fix parsing of esds atoms inside mp4a atoms so that we can set correct
+       codec_info for AAC audio. Fixes #457097 along with a whole other bunch
+       of qt/aac files.
+
 2007-07-16  Sebastian Dröge  <slomo@circular-chaos.org>
 
        * ext/wavpack/gstwavpackdec.c:
index 0b4b7aa..72a67d4 100644 (file)
@@ -1999,6 +1999,7 @@ qtdemux_parse_node (GstQTDemux * qtdemux, GNode * node, guint8 * buffer,
         guint32 offset;
 
         if (length < 20) {
+          /* small boxes are also inside wave inside the mp4a box */
           GST_LOG_OBJECT (qtdemux, "skipping small mp4a box");
           break;
         }
@@ -2010,10 +2011,10 @@ qtdemux_parse_node (GstQTDemux * qtdemux, GNode * node, guint8 * buffer,
         switch (version) {
           case 0x00000000:
           case 0x00010000:
-            offset = 0x24;
+            offset = 0x34;
             break;
           case 0x00020000:
-            offset = 0x48;
+            offset = 0x58;
             break;
           default:
             GST_WARNING_OBJECT (qtdemux, "unhandled mp4a version 0x%08x",