我使用libav解码aac音频,然后使用libmp3lame将其转码为mp3。 我知道当我解码aac流时,我得到AV_SAMPLE_FMT_FLTP输出,mp3编码器需要AV_SAMPLE_FMT_S16P中的输入。所以我正在使用libswresample的swr_convert进行样本格式转换。我知道不。解码输出中的样本与libmp3lame(即1152)所需的样本不同(即1024)?因为我也在做缓冲。
但由于缓冲没有崩溃,它甚至没有到达那个部分,它在swr_convert中崩溃。
如果我使用gdb看到堆栈跟踪,我会看到崩溃发生在
中ff_float_to_int16.next()
可能出现什么问题?