> In this scenario, an application could push data into > the driver at whatever rate the driver will accept it > as controlled by the write() (e.g blocking or select() > use). And likewise a application could be > simultaneously retrieve available data via the read() > interface at a rate controlled by the driver. Using mmap() instead of read()/write() avoids copying around the data. Also read() is expected to return a fresh captured video frame to the application, not an old one from some queue. But without a queue read() wouldn't be able to capture at full frame rate. Gerd -- #include </dev/tty>