ffmpeg av_opt_set_dict陷阱

来源:互联网 发布:linux 获取文件夹大小 编辑:程序博客网 时间:2024/06/06 04:14

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中的内容就不会莫名的变掉了。

0 0
原创粉丝点击