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 598350 - qtmux with AAC streams (from faac) generate invalid files
qtmux with AAC streams (from faac) generate invalid files
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.14
Other Linux
: Normal normal
: 0.10.18
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 604925
Blocks:
 
 
Reported: 2009-10-13 23:09 UTC by Selene Alvarado
Modified: 2010-01-11 16:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Script for muxing AAC (821 bytes, application/x-sh)
2009-10-13 23:09 UTC, Selene Alvarado
Details

Description Selene Alvarado 2009-10-13 23:09:53 UTC
Created attachment 145387 [details]
Script  for muxing  AAC

Using the attached script to encode and mux a PCM file to get an AAC file into
a container, it looks like generated files cannot be played back with common
players.

Plug-ins used: faac, qtmux, gppmux, mp4mux, matroskamux and avimux.

Players tested: VLC 0.8.6e, Windows QuickTime 7.2, Totem 2.22.1, Rhythmbox
0.11.5, mplayer 1.0rc2-4.2.4.

GStreamer versions used are latest released: 0.10.25 for library and -core
plug-ins; 0.10.16 for -good; 0.10.14 for -bad.

Tried Low Complexity AAC audio (both raw and ADTS stream formats), but only the
raw AAC using avi, mov, 3gp and mp4 containers can be played back, and only
with mplayer.

ADTS files show messages like "FAAD: Failed to decode frame: Invalid number of
channels".

Duration of the audio stream seems to be off as reported by MP4Box (from GPAC
0.4.4):
  Track # 1 Info - TrackID 1 - TimeScale 44100 - Duration 37 Days, 22:19:01.870
  Media Info: Language "Undetermined" - Type "soun:mp4a" - 1713 samples
  MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
  MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
  Self-synchronized

(Files generated using matroskamux do no have anything in them [file size is
around 2K].)
Comment 1 Thiago Sousa Santos 2009-10-14 00:23:09 UTC
I could play all the 'raw' versions with totem.
I'm using git version.

I generated the pcm using: 'gst-launch audiotestsrc num-buffers=100 ! audio/x-raw-int,rate=44100,channels=2,width=16,depth=16,endianness=1234 ! filesink location=sample.pcm'
Comment 2 Selene Alvarado 2009-10-16 19:19:05 UTC
Using gst-plugins-bad-0.10.14.4 (16-Oct-2009) raw AAC muxed files can be played using Totem, but it is not possible using others players (VLC, Windows QuickTime, mplayer).

ADTS files (within container) still show error messages.
Comment 3 Thiago Sousa Santos 2009-10-16 19:31:39 UTC
Do you have any sample files that work on other players? I'd like to see them to spot the differences.

If you have working adts files would also be helpful
Comment 4 Selene Alvarado 2009-10-16 20:15:37 UTC
You could try with http://www.mp4point.com/iron-man-movie-trailer/
Comment 5 Thiago Sousa Santos 2010-01-11 16:53:46 UTC
Fixed, although the caps field is 'raw' and not 'none' anymore as the commit log states.

Now qtmux/avimux/matroskamux rejects aac that are not in 'raw' stream format.

In -bad:

commit 5b8b363310cae46e63c6bebfae0bf24da9e1d92e
Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Date:   Mon Jan 11 10:34:32 2010 -0300

    qtmux: Only accept stream-format='none' aac
    
    Only accept raw aac streams (stream-format=none) to avoid
    generating invalid files.
    
    Fixes #604925


In -good:

commit 1314853210d66959f8c09447ec9278fe645d104c
Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Date:   Mon Jan 11 12:07:29 2010 -0300

    matroskamux: Only accept raw aac
    
    makes matroskamux reject aac streams that are not
    in raw format (stream-format=none)
    
    Fixes #598350

commit bacd350483c548102de64556ad8cfb5ecc455e36
Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Date:   Mon Jan 11 12:08:55 2010 -0300

    avimux: Only accept raw aac
    
    makes avimux reject aac streams that are not
    in raw format (stream-format=none)
    
    Fixes #59835