[FFmpeg-devel] [PATCH V4 2/4] libavfilter/buffersink.c: unref private_ref when frame leaves libavfilter

Guo, Yejun yejun.guo at intel.com
Mon Mar 1 15:20:51 EET 2021


private_ref is for internal use by a single libav* library.
It has to be NULL when ownership of the frame leaves the respective library,

buffersink is the last step when the frame leaves libavfilter, so add unref here.

Signed-off-by: Guo, Yejun <yejun.guo at intel.com>
---
 libavfilter/buffersink.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c
index 58848941d4..837a6e9e82 100644
--- a/libavfilter/buffersink.c
+++ b/libavfilter/buffersink.c
@@ -98,6 +98,7 @@ static int return_or_keep_frame(BufferSinkContext *buf, AVFrame *out, AVFrame *i
     } else {
         av_assert1(out);
         buf->peeked_frame = NULL;
+        av_buffer_unref(&in->private_ref);
         av_frame_move_ref(out, in);
         av_frame_free(&in);
         return 0;
-- 
2.17.1



More information about the ffmpeg-devel mailing list