Problems with AAC and qtdemux

Tim-Philipp Müller t.i.m at zen.co.uk
Mon Mar 19 11:22:41 PDT 2012


On Mon, 2012-03-19 at 15:31 +0000, Neil Jones wrote:

> this is a 48Khz LC-AAC with SBR (ie HE-AAC), looking a this with
> qtdemux and fakesink gives:
> 
> 
>  gst-launch -vvv filesrc location=cooper.mp4 ! qtdemux ! fakesink | more
> 
> ....
> caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
> stream-format=(string)raw, codec_data=(buffer)139056e5a0,
> rate=(int)44100, channels=(int)2
> ....
> 
> So as qtdemux gives us raw data (not adts or adif framed) I need to
> setup my decoder on the info provided by qtdemux, unfortunatley it
> gives me the wrong sample rate 44.1 instead of 48 and I need to know
> that the profile has SBR as this effects my decoder setup.
> 
> How do other AAC decoders deal with this? Do they just parse the raw
> data, I cant easily do this as my plugin is for a hardware decoder.

You can get that information from the "codec_data" buffer in the caps,
which is basically codec setup data. It's the same as the "esds" atom in
a quicktime/isomp4 container.

 Cheers
  -Tim



More information about the gstreamer-devel mailing list