FMpeg分析4:AVStream

     前几篇说的都还是数据源文件格式解析部分,哪么解析完后呢,读出的数据流保存在哪呢?正是现在讲的AVStream对像,在AVInputFormat的read_header中初始化AVFormatContext对像时,他会解析出该输入文件有哪些类型的数据流,并初始化AVFormatContext的AVStream *streams[MAX_STREAMS];一个AVStream代表一个流对像,如音频流、视频流,nb_streams记录流对像个数。主版本号大于53时MAX_STREAMS为100,小于53为20。AVStream也是个容器,其

void *priv_data;//

成员变量指向具体的Stream类型对像,如AVIStream。其

AVCodecContext *actx;//记录具体的编解容器,这个下面会讲

也在这读头文件信息里初始化。

主要相关的函数有

int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,

                       AVInputFormat *fmt,

                       int buf_size,

                       AVFormatParameters *ap)

{

    av_open_input_stream(AVFormatContext **ic_ptr,ByteIOContext *pb, const char *filename,AVInputFormat                                                              *fmt, AVFormatParameters *ap)

    {

         fmt.read_header()//调用具体的AVInputFormat的read_header,如avi_read_header

         {

               //根据文件头信息初始化AVStream *streams及AVStream里的

               //void *priv_data和AVCodecContext *actx;成员对像

         }        

    }

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值