根据V4L2
框架的要求,驱动程序是否必须按照传递给缓冲区的顺序返回缓冲区?即使帧连续传递,是否还可以按其他顺序返回缓冲区?
例如,如果先前通过VIDIOC_REQBUFS
请求了三个缓冲区,并且VIDIOC_QUERYBUF
是否允许驱动程序发生这种行为?
Time | VIDIOC_QBUF | VIDIOC_DQBUF
-----+----------------+----------------
| [buf 0 emppty]
| [buf 1 emppty]
| [buf 2 emppty]
| [buf 0 frame 0]
| [buf 0 emppty]
| [buf 2 frame 1]
| [buf 2 emppty]
| [buf 1 frame 2]
| ... ...
v