functionality of the VIDIOC_QBUF and VIDIOC_DQBUF ioctls
Posted: 11 Dec 2009 06:50
Chaps ,
I am new to v4l2 /linux development. I want to understand the relationship between two ioctls calls .
In the scenario where application want to get captured frames from a tuner card driver using MMAP IO.
After Application called ioctl REQBUF during init routine. Do the application
have another action to do ie queue the buffer by calling QBUF ioctl?
Or it can just call STREAMON and go for DQBUF staright away first time. Only after capturing the frame , the application need to QBUF to queue the buffers back to driver.
I mean in REQBUF ioctl , doesn't driver is the one that get allocated /owned the empty buffers and owns the same initially. So application have nothing to queue back initially. Off course once the cycle of frame capture starts then, application have to call QBUF ioctl call after using the buffer got from DQBUF. Or I am wrong in my assumption/understanding of the working scenario
I am new to v4l2 /linux development. I want to understand the relationship between two ioctls calls .
In the scenario where application want to get captured frames from a tuner card driver using MMAP IO.
After Application called ioctl REQBUF during init routine. Do the application
have another action to do ie queue the buffer by calling QBUF ioctl?
Or it can just call STREAMON and go for DQBUF staright away first time. Only after capturing the frame , the application need to QBUF to queue the buffers back to driver.
I mean in REQBUF ioctl , doesn't driver is the one that get allocated /owned the empty buffers and owns the same initially. So application have nothing to queue back initially. Off course once the cycle of frame capture starts then, application have to call QBUF ioctl call after using the buffer got from DQBUF. Or I am wrong in my assumption/understanding of the working scenario