
Rich Felker <dalias@aerifal.cx> writes:
On Mon, Jul 17, 2006 at 12:10:56AM +0100, Måns Rullgård wrote:
Baptiste Coudurier <baptiste.coudurier@smartjog.com> writes:
aac cant be stored as adts in nut it violates the specs (double container)
ADTS is IMHO no more of a container than mp3 is.
I really don't know what ADTS looks like, but I would say that if it doesn't multiplex streams and doesn't have timestamps or seek info, it's probably not a container..
The ADTS header is 7 bytes per frame containing a sync word, AAC type, sample rate, number of channels, frame size, and a few useless pieces of information. It is equivalent to the mp3 frame header. In a container with proper framing, this information can be stored in a global header instead. MOV does just that, but of course uses a different format for the global header. See libavcodec/parser.c and libavformat/adtsenc.c for the gory details. The reason ADTS exists is (I assume) to make possible raw AAC streams and headerless streams for broadcast.
However if it's stupid bloat it probably shouldn't be stored in NUT anyway.
Since nut has an extradata space, using it seems like the right choice. It does save a little overhead. -- Måns Rullgård mru@inprovide.com