MOVContext数据结构分析—FFmpeg源码分析
因为后面的 mov_read_header()
函数会使用到两个数据结构,MOVContext
与 MOVStreamContext
,这两个数据结构都是比较关键的,所以需要提前讲解一下。
MOVContext
是整个 MP4 的 管理器,他在 ff_mov_demuxer
里面有被使用,如下:
上图中的 两个字段 priv_class
,priv_data_size
,比较难看懂。
priv_class
指向 mov_class
,mov_class
是一个静态变量来的,mov_class
变量的这些静态内存后面会 在 avformat_open_input()
里被拷贝给 AVFormatContext
的 priv_data
。
priv_data_size
不是指 priv_class
变量指向的内存大小,这个 priv_data_size
是给 AVFormatContext
的 priv_data
使用的。
这两个字段的作用,你看一下下面的代码就明白了。
以下是 VIP会员 专属内容,点击购买 FFmpeg原理VIP版