Ronald S. Bultje wrote: > Hi, > > On Wed, 2007-01-02, Andy Brown wrote: >> So from what you explain, I cannot stop this from causing the device to >> stop delivering the data and require the device to be closed then re-opened? > > You don't need to close it, you just need to re-queue the frame for > capture. I.e., your _application_ is responsible for handling te capture > error. The driver doesn't crash or anything, it simply returns an error > on he sync call, because the next frame could not be delivered (it got > lost), probably along with a whole bunch of more frames if the > interference is really bad. Simply discard them and continue queueing > frames for capture and you should be fine. > > (Note, however, that this is the theory; in practice, we never actually > test that. If you want, we can add a --ignore-frame-errors or so to > lavrec and see if it really actually works, and fix possible driver > errors, but that will require some small testing + patching from your > side.)
Ah, right. Sorry I'm not any good at image programming, so bear with me on this one! That makes a lot of sense though Ronald. What I'm getting is the first frame dropped with an: "sync error in proc 11048: Timer expired" and then the second attempt: "mcapture error in proc 11048: Device or resource busy" error, which are both generated from this piece of code: vid_mmap.frame = viddev->v4l_curbuffer; if (ioctl(dev, VIDIOCMCAPTURE, &vid_mmap) == -1) { motion_log(LOG_ERR, 1, "mcapture error in proc %d", getpid()); sigprocmask (SIG_UNBLOCK, &old, NULL); return V4L_FATAL_ERROR; } vid_mmap.frame=frame; if (ioctl(dev, VIDIOCSYNC, &vid_mmap.frame) == -1) { motion_log(LOG_ERR, 1, "sync error in proc %d", getpid()); sigprocmask (SIG_UNBLOCK, &old, NULL); } (I understand this is difficult to understand only seeing a small portion of the code). What I'm understanding from you, is that I should be able to change this so it isn't a fatal error, and continue trying to retrieve frames, simply skipping the 'bad' ones? I'll give that a try, as I'd love to get this working! Thanks for your assistance. Regards, -- Andy w: http://www.thebmwz3.co.uk ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users