> This is the problem with V4L read(), as I see it. The most efficient > read() / select() implementations end up being a lot like mmap() / > VIDIOCSYNC, which makes me want to drop support for one or the other. > (That cannot be done without breaking a lot of apps, though). You want to support read so you can do things like cat /dev/video | stream2jpeg| magicperlbits and the like > "Ineffective to implement" is the reason why ov511 doesn't support > partial reads. It has no way to know whether the frame is error-free > until the camera has sent the whole thing, making partial reads a > pointless complexity. If you have the entire frame in the internal buffer then that case becomes easy but the remembering where in the frame you are cases do become trickier (imagine a perl script reading the top of the frame removing the black from letterboxing and skipping the bottom by using block reads) > read() on both the driver side and the app side? If the library could > convert one call to another, then I could support the best one in my > driver and not worry about the rest. Im assuming the library is something like convert_fromfmt_tofmt(from, to) > Sorry, just had to put in my 1 cent :) I agree the complexity is higher supporting partial read/write. Im not sure its worth it