Skip to content

v4l2bufferpool: add lock as atomic operation for seek

When seek flush, gst v4l2 buffer pool flush is not atomic which will lead double enqueue buffer (qbuf) issue, and v4l2 buffer pool qbuf is also not atomic which will lead no free buffer found in the pool.

  1. add lock for calculate enqueue number in streamon function
  2. add lock for v4l2 capture end streamoff in pool flush function
  3. lock the whole funciton of v4l2 buffer pool qbuf, then the buffer pool index and qbuf operation are atomic

Merge request reports

Loading