AAC ADTS流解析总结

这里列出Android里将aac编码器输出的音频帧加上ADTS头的代码:

+ int tmpFd;

+ tmpFd = ::open("/data/src.aac", O_WRONLY | O_APPEND );

+ if ( tmpFd < 0 ) {

+    LOGE("No dump decode file %s",strerror(errno));

+ }

+ else

+ {

+    unsigned char adts_hdr[7] = {0xff, 0xf9, 0x5c, 0x80, 0x00,0x1f, 0xfc};

+

+    adts_hdr[3] = 0x80 | ((mConfig->inputBufferCurrentLength >> 11) & 3);

+    adts_hdr[4] = (mConfig->inputBufferCurrentLength >> 3) & 0xff;

+    adts_hdr[5] = ((mConfig->inputBufferCurrentLength & 7) << 5) | 0x1f;

+

+    ::write(tmpFd,adts_hdr, 7);

+    ::write(tmpFd,(const char *)mConfig->pInputBuffer , mConfig->inputBufferCurrentLength);

+    ::close(tmpFd);

+ }


AAC参考知识:

http://blog.csdn.net/axdc_qa_team/article/details/4271043    (除协议外,非常详细的文章)

http://blog.csdn.net/jay100500/article/details/52955232       (adts协议)

http://blog.csdn.net/leixiaohua1020/article/details/11822537

//aac header

http://yeyingxian.blog.163.com/blog/static/344712420134485613752/

https://wiki.multimedia.cx/index.php?title=MPEG-4_Audio