驱动程序是否有责任以传递缓冲区的相同顺序返回缓冲区

时间:2018-07-28 19:51:43

标签: linux linux-kernel linux-device-driver v4l2

根据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

0 个答案:

没有答案