gstreamer - Using VIDIOC_STREAMON and VIDIOC_QBUF - Stack Overflow

admin2025-04-22  0

I'm facing the issue while testing hw accelirated decoding in Chromium. After some investigation I found out that at the start of decoding Chromuim calls VIDIOC_STREAMON ioctl first and the starts to transmit buffers by calling VIDIOC_QBUF for OUTPUT (filled with data for hw decoder) buffer. And such sequence leads to inappropriate buffer management in v4l2 video decoder driver. For comparison, Gstreamer uses reverse sequence, when it sends buffers with VIDIOC_QBUF first and then runs streaming via calling VIDIOC_STREAMON. And in case of decoding with Gsteamer there are no any problems with queueing buffers in decoder driver.

So my question is, is it valid to use such a sequence for v4l2, when VIDIOC_STREAMON ioctl is called before VIDIOC_QBUF?

P.S.: I read the docs ( ioctl VIDIOC_STREAMON, VIDIOC_STREAMOFF and ioctl VIDIOC_QBUF, VIDIOC_DQBUF ) but didn't find the answer to my question there.

转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1745267910a293398.html

最新回复(0)