Hi.
Encoder was opened in non-blocking mode.
I’m getting “Device or resource busy” (errno=16) error in sometime at ioctl(fd, VIDIOC_QBUF, &v4l2_buf) on encoder capture plane. Capture plane configured with V4L2_MEMORY_MMAP buffers.
Can I try again call ioctl(fd, VIDIOC_QBUF, &v4l2_buf) or is this a fatal error?
I have no way to show my code or make an example application.
The problem manifests itself during the long simultaneous operation of several encoders encoding a video stream. Frames are delivered and consumed from the encoder sequentially, not from different streams.
I do not use the C ++ mm api classes, I am making an application in C. Data is supplied and consumed from the encoder sequentially, not from different streams.
Also is this related to the topic? Probably triggered by removing the mutex lock?
Hi,
My apology if I do not describe it clearly, leading to misunderstanding.
We have test cases performed by running default 01_video_encode, and your usecase may not be covered by the default code. If you can share the patch, we can reproduce the issue and check if it is something wrong in our v4l2 implementation. It can be difficult for us to make further suggestion without reproducing it.