From 84f7a3ec516155314c07ad6c7d45954d2cfd33da Mon Sep 17 00:00:00 2001 From: Julien Isorce Date: Wed, 19 Oct 2016 15:39:54 +0100 Subject: [PATCH] vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)' In short GstFdMemory is configured to call close when using GstDmabufMemory. https://bugzilla.gnome.org/show_bug.cgi?id=755072 --- gst/vaapi/gstvaapivideomemory.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gst/vaapi/gstvaapivideomemory.c b/gst/vaapi/gstvaapivideomemory.c index 3b2b4d8..7545149 100644 --- a/gst/vaapi/gstvaapivideomemory.c +++ b/gst/vaapi/gstvaapivideomemory.c @@ -825,6 +825,9 @@ gst_vaapi_dmabuf_memory_new (GstAllocator * allocator, GstVaapiVideoMeta * meta) gst_vaapi_video_meta_set_surface_proxy (meta, proxy); gst_vaapi_surface_proxy_unref (proxy); + /* Need dup because GstDmabufMemory creates the GstFdMemory with flag + * GST_FD_MEMORY_FLAG_NONE. So when being freed it calls close on the fd + * because GST_FD_MEMORY_FLAG_DONT_CLOSE is not set. */ dmabuf_fd = gst_vaapi_buffer_proxy_get_handle (dmabuf_proxy); if (dmabuf_fd < 0 || (dmabuf_fd = dup (dmabuf_fd)) < 0) goto error_create_dmabuf_handle; -- 2.7.4