dmabuf in pipeline

prg.amc pradeepreddy.g95 at gmail.com
Thu Apr 8 13:53:12 UTC 2021


Hi, currently I have a problem in passing dmabuf fd to other elements.

so, I have plugin which acts as src and it will receive dma fd from another
process using DBUS, so there a way to pass the same fd to next elements, the
next element knows how to access the memory location using the fd.

     GstBuffer *buffer = gst_buffer_new();

    GstAllocator *allocator = gst_dmabuf_allocator_new();

    if (buffer != nullptr && allocator != nullptr) {
      GstMemory *mem = gst_dmabuf_allocator_alloc(allocator, fd, nBufSize);

       gst_buffer_append_memory(buffer, mem);

      *buf = buffer;

This is what i`m using now, but with the above code gstreamer is trying to
copy the data using fdmemory. where the fd is not accessable directly.

*0x5575c30f70 ERROR               fdmemory gstfdmemory.c:126:gst_fd_mem_map:
0x5575e47520: fd 14: mmap failed: No such device
ERROR               fdmemory gstfdmemory.c:126:gst_fd_mem_map: 0x5575e47520:
fd 14: mmap failed: No such device
*

I`m i doing it correct? and i dont have any custom bufferpool manager.






--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list