How does streaming video capture work?

I ask the video device for 8 buffers using ioctl:VIDIOC_REQBUFS
then query for the addresses using ioctl:VIDIOC_QUERYBUF
and then mmap the addresses to say, data[0] - data[7] and
finally, use ioctl:VIDIOC_QBUF and ioctl:VIDIOC_STREAMON
to start the streaming capture.

Now the buffers start rolling in.

If I just render data[0], then it (looks like) I am rendering
every 8th frame.  Should I:

1) render all 8 buffers,
   then do another ioctl:VIDIOC_DQBUF;
   repeat previous 2 lines.

2) render one frame (number i++ % 8),
   then do another ioctl:VIDIOC_DQBUF;
   repeat previous 2 lines.

3) something else?

Basically, I want to know what the contract between
ioctl:VIDIOC_DQBUF and the state of the buffers?

Thanks,

Bilal



_________________________________________________________________
Join the world�s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com



_______________________________________________
Video4linux-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/video4linux-list

Reply via email to