Skip to content

v4l2: bufferpool: Fix hang when splitting buffer

Now that we can split GStreamer buffers over multiple v4l2 buffer, we may endup waiting for these buffers to be processed. Avoid waiting for any of the parts being processed. As a side effect, the pool will now try to grow if the number of buffers is not sufficient, and will fail otherwise.

This fixes a hang if the very first frame did not fit. In this case, the driver will retrain that buffer until the capture is setup, but GStreamer won't setup the capture until process() function have returned.

Fixes !5100 (merged)

Merge request reports