> A driver that blocks on VIDIOCMCAPTURE and makes VIDIOCSYNC a noop is broken. Depends on the hardware. With dumb hardware which can't transfer video frames on its own using DMA it makes no big difference whenever the CPU does the work at VIDIOCMCAPTURE or at VIDIOCSYNC time. In any case you can't do stuff like processing one frame while the other gets captured simply because the hardware can't do that. Doing the capture at VIDIOCSYNC time has the advantage that it keeps the latencies down for applications which try to do double-buffering, so this probably the better way to handle it. Gerd -- #define ENOCLUE 125 /* userland programmer induced race condition */