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 608114 - Unable to decode RAW AAC data
Unable to decode RAW AAC data
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.14
Other Linux
: Normal minor
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-01-26 00:51 UTC by Darryl Sokoloski
Modified: 2010-01-26 02:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
RAW AAC stream, 2 channels @ 48kHz (801.00 KB, audio/mpeg)
2010-01-26 00:53 UTC, Darryl Sokoloski
Details

Description Darryl Sokoloski 2010-01-26 00:51:24 UTC
Greetings!

I have searched and searched, and I have not found a solution.  It doesn't seem like many people are trying to decode RAW AAC streams.  So I am asking for help...

Using the gst_faad plug-in (or the ffdec_aac) plug-in, I am unable to properly decode RAW AAC data.  The AAC data is without header.  I looks packetized.  I am able to use faad to decode the audio to WAV (or other profiles) successfully.

This works:

# faad libfaad-stream.dat

(Playable libfaad-stream.wav)

This (among any variation I tried over two weeks of trial), does not work.  The sound output sounds like it's being fast-forwarded:

# gst-launch-0.10 filesrc location=libfaad-stream.dat !
    audio/mpeg,mpegversion=4,channels=2,rate=48000,framed=true !
    decodebin ! autoaudiosink

I have tried passing proper codec_data, the result is the same.  Any ideas?
Comment 1 Darryl Sokoloski 2010-01-26 00:53:07 UTC
Created attachment 152278 [details]
RAW AAC stream, 2 channels @ 48kHz

This is the sample data I have been testing with.  I should note that faad (from libfaad2) is able to decode this.
Comment 2 David Schleef 2010-01-26 02:29:18 UTC
RAW AAC streams are not in a container, nor do they have ADIF or ADTS headers, which are the normal means of using AAC without a container.  There's no way to detect such a stream other than to attempt to decode it.  Parsing such files is possible, but is about as complicated as decoding.

It's best to convert files like this to something useful using 'faad -a', which outputs an ADTS stream.