使用 FAAD2 库的时候解码出来的音频采样率翻倍,通道数由 1 变为 2,一度以为是代码出错了,查了以后发现是源码里面写了要翻倍,并让通道数变为 2
在libfaad/decoder.c
文件中,NeAACDecInit
函数中有如下设置:
#if (defined(PS_DEC) || defined(DRM_PS))
/* check if we have a mono file */
if (*channels == 1)
{
/* upMatrix to 2 channels for implicit signalling of PS */
*channels = 2;
}
#endif
hDecoder->channelConfiguration = *channels;
#ifdef SBR_DEC
/* implicit signalling */
if (*samplerate