From b25a01fab9c447ba45626b4ff091982238082e20 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Fri, 19 Oct 2018 17:14:15 -0400 Subject: [PATCH] v4l2allocator: Don't dup imported DMABuf FD There is no specific needs to duplicate the FD. Unlike the exportation, we don't depend on code that will call close. This will make debugging easyer since the traced FD will match the exporter. --- sys/v4l2/gstv4l2allocator.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/sys/v4l2/gstv4l2allocator.c b/sys/v4l2/gstv4l2allocator.c index 19c78ba478..5dcfd024f8 100644 --- a/sys/v4l2/gstv4l2allocator.c +++ b/sys/v4l2/gstv4l2allocator.c @@ -936,9 +936,6 @@ gst_v4l2_allocator_clear_dmabufin (GstV4l2Allocator * allocator, GST_LOG_OBJECT (allocator, "[%i] clearing DMABUF import, fd %i plane %d", group->buffer.index, mem->dmafd, i); - if (mem->dmafd >= 0) - close (mem->dmafd); - /* Update memory */ mem->mem.maxsize = 0; mem->mem.offset = 0; @@ -1078,8 +1075,7 @@ gst_v4l2_allocator_import_dmabuf (GstV4l2Allocator * allocator, size = gst_memory_get_sizes (dma_mem[i], &offset, &maxsize); - if ((dmafd = dup (gst_dmabuf_memory_get_fd (dma_mem[i]))) < 0) - goto dup_failed; + dmafd = gst_dmabuf_memory_get_fd (dma_mem[i]); GST_LOG_OBJECT (allocator, "[%i] imported DMABUF as fd %i plane %d", group->buffer.index, dmafd, i); @@ -1124,12 +1120,6 @@ not_dmabuf: GST_ERROR_OBJECT (allocator, "Memory %i is not of DMABUF", i); return FALSE; } -dup_failed: - { - GST_ERROR_OBJECT (allocator, "Failed to dup DMABUF descriptor: %s", - g_strerror (errno)); - return FALSE; - } } gboolean