From 1c37934861f2dd7c3ca38fe770734e2b3b30cfdb Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Wed, 9 Mar 2005 12:06:56 +0000 Subject: configure.ac: Fix FAAD detection problems against FAAD-CVS. Original commit message from CVS: * configure.ac: Fix FAAD detection problems against FAAD-CVS. * ext/faad/gstfaad.c: (gst_faad_class_init), (gst_faad_chanpos_to_gst), (gst_faad_srcconnect), (gst_faad_sync), (gst_faad_chain): Fix FAAD channel positions for mono/stereo against FAAD CVS. Implement raw stream sync support for AAC+ radio support. Embed info structure in our function to prevent unneeded excessive allocations. * ext/ogg/gstoggdemux.c: (gst_ogg_pad_populate), (gst_ogg_demux_push): Only set first/last positions when we search for them. Fixes invalid length reporting for some video files. * gst/playback/gstdecodebin.c: (remove_element_chain): Always remove only our own kids. * gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_parse_trak): Fix ESDS atom finding bug. * gst/typefind/gsttypefindfunctions.c: (aac_type_find): Implement frame-finding (similar to MP3) to support AAC+ radio. --- gst/qtdemux/qtdemux.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gst') diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index a65c9c68..72949962 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -1240,9 +1240,10 @@ qtdemux_parse (GstQTDemux * qtdemux, GNode * node, void *buffer, int length) guint32 version; version = QTDEMUX_GUINT32_GET (buffer + 16); - if (version == 0x00010000) { - buf = buffer + 0x34; + if (version == 0x00010000 || 1) { + buf = buffer + 0x24; end = buffer + length; + while (buf < end) { GNode *child; @@ -2139,9 +2140,13 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak) wave = NULL; if (mp4a) wave = qtdemux_tree_get_child_by_type (mp4a, FOURCC_wave); + esds = NULL; if (wave) esds = qtdemux_tree_get_child_by_type (wave, FOURCC_esds); + else if (mp4a) + esds = qtdemux_tree_get_child_by_type (mp4a, FOURCC_esds); + if (esds) { gst_qtdemux_handle_esds (qtdemux, stream, esds); #if 0 -- cgit v1.2.1