如需转载请注明出处!
之前文章有介绍,在FFmpeg成功编译并采用精简configure配置项方案后,成功实现了所需音频格式的解码,并开发实现了解码器的demo,能够对本地的音频文件进行解码输出,限于项目属性不便公开源码。为了实现解码器同播放器的衔接,需要实现decoder的buffer 缓冲解码机制,即播放器传递音频压缩数据给decoder,decoder解码后将PCM数据输出。
流程如下图所示:
实现过程中有查阅相关资料,结合测试发现在FFmpeg编译配置protocol时,该解码场景只需要configure protocol=file即可。同时参考了FFmpeg 雷神的提示,主题部分如下:
Code scope:
FILE *fp_open;
int fill_iobuffer(void * opaque,uint8_t *buf, int buf_size){
if(!feof(fp_open)){
int true_size&#