After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 341231 - [qtdemux] [faad] audio in some superman trailers doesn't work
[qtdemux] [faad] audio in some superman trailers doesn't work
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-05-10 08:48 UTC by Tim-Philipp Müller
Modified: 2006-05-10 17:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tim-Philipp Müller 2006-05-10 08:48:25 UTC
Take:

http://images.apple.com/movies/wb/superman_returns/superman_returns-tlr1_h480p.mov

qtdemux claims this streams has the following caps:

 audio/mpeg, mpegversion=(int)4, framed=(boolean)true, rate=(int)1, channels=(int)3

which then interfers with our new faad magic and leads to one of the usual mysterious faad errors.
Comment 1 Jan Schmidt 2006-05-10 10:15:49 UTC
This only happens with the first trailer - the 2nd one (tlr2) plays fine for me.
 
Comment 2 Jan Schmidt 2006-05-10 10:24:19 UTC
Actually, I take that back - the normal small, medium and large trailers are fine in both tlr1 and tlr2, but the High Definition 480p/720p/1080p versions are broken. 

The main difference between the 2 would seem to be that the HD trailers have 5.1 AAC in them instead of stereo.
Comment 3 Wim Taymans 2006-05-10 17:45:29 UTC
yow. version2 sample descriptiors are not parsed, setting a wrong samplerate/channels on the caps. Following patch fixes this.

        * gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_dump_unknown),
        (qtdemux_parse_trak), (gst_qtdemux_handle_esds):
        Parse version 2 sample descriptions. Fixes #341231
        Don't #define gst_util_dump_mem(), use something more
        specific instead to avoid confusion.