plugins: fix creation of video buffer from another source buffer.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Wed, 20 Mar 2013 13:02:48 +0000 (14:02 +0100)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Wed, 20 Mar 2013 17:35:01 +0000 (18:35 +0100)
gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
buffer video meta since it would be unreference'd from the get_buffer()
helper function. For other cases, we still use (steal) the newly created
video meta.

gst/vaapi/gstvaapipluginbuffer.c

index 305eee8..37171ed 100644 (file)
@@ -70,7 +70,11 @@ gst_vaapi_video_buffer_new_from_pool(GstVaapiVideoPool *pool)
 GstBuffer *
 gst_vaapi_video_buffer_new_from_buffer(GstBuffer *buffer)
 {
-    return get_buffer(gst_buffer_get_vaapi_video_meta(buffer));
+    GstVaapiVideoMeta * const meta = gst_buffer_get_vaapi_video_meta(buffer);
+
+    if (!meta)
+        return NULL;
+    return get_buffer(gst_vaapi_video_meta_ref(meta));
 }
 
 GstBuffer *