GNOME Bugzilla – Bug 330632
[qtdemux] MP3 stream in MP4 container not playable
Last modified: 2006-05-11 09:10:25 UTC
ftp://mirrors.blueyonder.co.uk/mirrors/ftp.planetquake3.net/movies/q3fuel2.zip Playing this file crashes totem. Video-only playback works: gst-launch-0.10 filesrc location=q3fuel2.mp4 ! qtdemux ! ffdec_h264 ! xvimagesink Audio-only playback does not work: gst-launch-0.10 filesrc location=q3fuel2.mp4 ! qtdemux ! mad ! alsasink Also files produced by MP4Box(gpac.sf.net) that contain an MP3 stream (e.g. encoded with LAME) don't work.
If you don't want to download such a big file, you can produce a sample yourself. All you need is lame and gpac (http://sourceforge.net/projects/gpac): $ lame somefile.wav test.mp3 $ MP4box -add test.mp3 test.mp4 $ totem test.mp4
the problem is qtdemux detects the audio stream as being an audio/mpeg, mpegversion=(int)4, framed=(boolean)true stream since it's got a 'mp4a' stream type... Maybe there's more info in the 'iods' or 'avc1' atoms. the good thing is that we play the video... whereas mplayer crashes :)
Which mplayer version are you using? mplayer plays it fine here.
MPlayer 1.0pre7try2-3.4.5 (C) 2000-2005 MPlayer Team
As they say on their mailing list: "Always use CVS!" :) Mine is: MPlayer dev-CVS-060118-13:12-3.3.6 (C) 2000-2006 MPlayer Team
mp4a has a flag somewhere to indicate the mpeg version. we should use that flag.
* gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_parse_trak), (gst_qtdemux_handle_esds): Figure out the real audio type in mp4a boxes by parsing the optional descriptors in the optional esds box. Promote the default AAC to mp3 when indicated. Fixes #330632.