If your kernel is new enough (2.6.20 I think), you can use the
dc1394_capture_get_fileno() function to get a file descriptor for the
capture process. After that, you can use the normal Unix mechanisms of
select() and poll() to determine when it's time to call
dc1394_capture_dequeue and know that it won't block.
If your kernel is too old, you will find that select() and poll() will
always return immediately.
On Mon, 2007-09-24 at 17:36 +0200, Hervé du Doignon wrote:
> Hi all,
> how to cleanly stop a blocking capture ?
> As dc1394_capture_stop and dc1394_set_transmission(off) does not make
> dc1394_capture_dequeue(policy_wait) return, am I forced to use
> policy_poll to do so ?
> Thanks for your advises,