ffmpeg av_opt_set_dict陷阱
2015-11-01 20:29
211 查看
Av_opt_set_dict(obj, dict);
今天用这个函数,发现set之后,原来指向dict的指针内容发生了变化。看了源码,发现这个函数的是一个大陷阱啊,它会改变dict中的内容。
正确的用法是在set之前,先将dict复制一份副本,用副本进行set,这样就比较符合人类的用法了。
Av_dict_copy(&tmp_dict, dict,0);
Av_opt_set_dict(obj, tmp_dict);
Av_dict_free(&tmp_dict);
这样原来dict中的内容就不会莫名的变掉了。
今天用这个函数,发现set之后,原来指向dict的指针内容发生了变化。看了源码,发现这个函数的是一个大陷阱啊,它会改变dict中的内容。
正确的用法是在set之前,先将dict复制一份副本,用副本进行set,这样就比较符合人类的用法了。
Av_dict_copy(&tmp_dict, dict,0);
Av_opt_set_dict(obj, tmp_dict);
Av_dict_free(&tmp_dict);
这样原来dict中的内容就不会莫名的变掉了。
相关文章推荐
- 十个实用的linux工具
- weblogic管理维护(持续更新中)
- linux下Hadoop在Eclipse的配置和使用
- CentOs安装ssh服务
- 关于OpenNI(1.5/2)和OpenCV的那些事——环境搭建(Windows8.1, 64位系统, VS2012/2013, 华硕XtionProLive)
- Shell条件测试语句及三种if语句
- ubuntu14.04下配置使用openCV3.0
- 十个有用的linux命令行技巧
- linux下文件名后面带有波浪号(~)
- 70个经典的 Shell 脚本面试问题
- Linux下的段错误(Segmentation fault)产生的原因及调试方法(经典)
- HDFS 常用文件操作命令
- OpenJudge7614
- 在linux下如何编译c程序和c++程序
- Linux操作系统及其常用命令
- Apache FlexJS 0.0.1 和 Apache Flex FalconJX 0.0.1发布
- CodeForces 400A(Inna and Choose Options)
- Linux-read函数
- windows共享目录在linux下乱码
- linux: 几个常用makefile模板