FFmpeg,av_frame_free-不释放由av_frame_clone分配的所有内存

时间:2018-07-05 17:30:09

标签: ffmpeg

我要克隆 AVFrame 。为此,我调用 av_frame_clone 函数。 然后,我想释放旧的AVFrame分配的所有内存。为此,我调用 av_frame_free 函数。 av_frame_free 函数不会释放按数据指示的内存。那么在ffmpeg中克隆和删除AVFrame的正确方法是什么?

感谢您的答复。

1 个答案:

答案 0 :(得分:0)

av_frame_clone()的文档说:

  

创建一个引用与src相同的数据的新框架。这是一个   av_frame_alloc()+ av_frame_ref()的快捷方式。

用于 av_frame_free()的人说:

  

释放框架及其中的任何动态分配对象,例如   Extended_data。如果该帧是参考计数,它将是   首先未引用。

因此,将这两个功能结合起来看起来是正确的。

原始框架会发生什么?可能需要取消引用吗?