After reading the proposed V4l2 API, there seems to still be missing a robust means of guaranteeing frame accurate audio and video sync on capture. In particular, no way of prerolling the audio and video to guarantee that the next read from both is exactly in sync. I have recently been working with the VideoPump card from ViewGraphics/Optibase. While this board, being a pro level serial digital video capture card has quite a different audience from the normal consumer TV board, the capture API they used was very simple and effective. You would access the audio and video using the typical open(), read(), write() calls, however before issuing the first read(), you called preroll() which would guarantee that the next reads to the audio and video would produce frame accurate data. If you missed a frame the read() returned an error code. There was no need for time stamping since every read gave exactly one frames worth of data. Since you know the video standard and the audio sample rate, everything else can just be calculated. Neil