当前位置: 代码迷 >> 多媒体/流媒体开发 >> 求解ffmpeg中的两个变量priv_data,opaque!解决方案
  详细解决方案

求解ffmpeg中的两个变量priv_data,opaque!解决方案

热度:9286   发布时间:2013-02-26 00:00:00.0
求解ffmpeg中的两个变量priv_data,opaque!!!!!!!!

  AVFormatContext 中的 void *priv_data; //字面意思应该是私有数据
  AVIOContext 中的 void *opaque; ////字面意思应该是不透明数据之类的吧

这两个变量用来什么的?含义是什么?代码貌似表明这个两个变量用得挺频繁的!

------解决方案--------------------------------------------------------
AVFormatContext这个结构实现了对具体的文件格式分离器的封装
其中void *priv_data 指向了具体的某种文件格式的一些私有数据
举个例子,比如你播放一个AVI文件,那么个这个void *priv_data就关于指向AVI的一些私有数据

同样的AVIOContext 实现了对文件IO的封装 (其实ffmpeg把文件也当做url来处理了)
void *opaque字面意思确实是不透明,他指向了具体的文件读取实现形式的一些数据结构。比如是从本地播放,还是从rtmp服务器,或者从mms服务器,那么void *opaque是不同的
  相关解决方案