Welcome to the Linux Foundation Forum!

error using dmbuf mode in my v4l2 driver

Hi,
I'm writing a linux kernel module (v4l2) and I have implemented the mmap io-mode successfully. The main problem is that I can't go over 30fps at 1080p (I need 60fps at uhd), I think that the mmap io-mode it's not the best (efficient) way to transfer the buffers between my driver and gstreamer (maybe the limited fps is caused by the use of mmap). To improve I'm trying to implement the dmabuf mode, but I've some issues:

I've implemented the expbufs ioctl, in this function I create a dma_buf and a new fd for the dma_buf, but when I start the pipeline I get this error:

  1. GET_DMA_PHY: Invalid argument
  2. Failed to import fd : 22
  3. gst-launch-1.0: base/omx_component/omx_component_enc.cpp:375: virtual void EncComponent::TreatEmptyBufferCommand(Task*): Assertion `success' failed.

These are the fds created during the expbufs call

  1. [ 272.329198] expbuf buf0 fd 21
  2. [ 272.338884] expbuf buf1 fd 23
  3. [ 272.344981] expbuf buf2 fd 25
  4. [ 272.349528] expbuf buf3 fd 27
  5. [ 272.354089] expbuf buf4 fd 29
  6. [ 272.358636] expbuf buf5 fd 31
  7. [ 272.363176] expbuf buf6 fd 33
  8. [ 272.367933] expbuf buf7 fd 35
  9. [ 272.372484] expbuf buf8 fd 37
  10. [ 272.377032] expbuf buf9 fd 39
  11. [ 272.381582] expbuf buf10 fd 41
  12. [ 272.386215] expbuf buf11 fd 43
  13. [ 272.390859] expbuf buf12 fd 45
  14. [ 272.395504] expbuf buf13 fd 47
  15. [ 272.400134] expbuf buf14 fd 49
  16. [ 272.404770] expbuf buf15 fd 51

I don't know where it get the fd 22 and how to solve this error?

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training