Anders Gnistrup wrote: > > > Ok. that cleared up my overview. Thanks. > in fact I have downloaded all bttr drivers but I could not find the "the thin red > line". > > I have attached my code. You should really be doing a *single* mmap() of size indicated by VIDIOCGMBUF, and then using the frame offsets into that to retrieve the captured frames. Also your capture loop seems a bit convoluted, and I don't think you're giving yourself any time to copy each frame after you set the condition variable before you start to overwrite it with the next capture. Try restructuring your loop like this: frame = 0 capture(frame) while (1) { sync(frame) next_frame = (frame + 1) % 2 capture(next_frame) process(frame) frame = next_frame } Hope this helps. Ben