AVFrame: add an opaque_ref field
[ffmpeg.git] / libavutil / frame.c
index a08e0c539d6e4bd3a7dc5d4692c18cc9f917de4e..2913982e91debc4568a9d2ef563391a2cd297d6f 100644 (file)
@@ -379,6 +379,13 @@ FF_DISABLE_DEPRECATION_WARNINGS
 FF_ENABLE_DEPRECATION_WARNINGS
 #endif
 
+    av_buffer_unref(&dst->opaque_ref);
+    if (src->opaque_ref) {
+        dst->opaque_ref = av_buffer_ref(src->opaque_ref);
+        if (!dst->opaque_ref)
+            return AVERROR(ENOMEM);
+    }
+
     return 0;
 }
 
@@ -513,6 +520,8 @@ void av_frame_unref(AVFrame *frame)
 
     av_buffer_unref(&frame->hw_frames_ctx);
 
+    av_buffer_unref(&frame->opaque_ref);
+
     get_frame_defaults(frame);
 }