WebRTC源码默认不支持AAC,若要在源码里面支持AAC,需要改到以下的源码,目前接入的编码库为faac,解码库为faad2。
1、faac(Android&&iOS)编译,faad2(Android&&iOS)编译
2、在api/audio_codecs添加aac模块,该模块主要是工厂方法,生成aac的sdp,采样率,创建aac编解码器,如下图所示:
2、在api/audio_codecs下的BUILD.gn添加AAC模块,如下图所示:
3、在解码工厂和编码工厂添加AAC编解码,如下图所示:
4、编解码模块实现。
modules/audio_coding/BUILD.gn添加编译源码,如下图所示:
在modules/audio_coding/codecs添加编解码实现代码,如下图所示:
以上为WebRTC添加AAC主要的流程。具体源码后续抽时间贴出。在实现过程中还遇到不少问题,比如时间戳、长度等问题,后续统一整理下。