On Mon, 4 Aug 2003, Ed Okerson wrote: >> "The number of frames supported is device dependent and may only be one" >> and the way my driver works, more than one buffer would be just waste of >> memory. >If the application cannot read the buffer fast enough, and at exactly the >proper time, it will either miss frames, or get corrupted frames. This my No it won't. The camera driver (qc-usb) has internal double buffering. When application calls VIDIOCSYNC, the mmap buffer is filled from an internal buffer, but the actual capture for the buffer can start much before. >> My driver has workaround for buggy applications which emulates two buffers >> with just one by placing them into same memory address. But this feels a >This is not the proper way to fix it. And is more than a bit hackish. If Yes, as I mentioned, the proper way is to fix applications. But since there are so many broken out there, the hack is just fine: it workarounds with every application that has the bug. >an application requires more than one buffer, yo never want to lie and say >you have more than one if you don't. Would you rather not to use ~30% of your applications than include a small hack in a driver? (Also, the hack is by default disabled and can be enabled with userspace program when needed). >But maybe not so easy to fix everyones hardware. There's nothing to be fixed in hardware (with respect to this thing).