Hi, As noticed by James Blanford , we were discarding every other frame in stv06xx and the ov518 (part of ov519.c) drivers. When we call gspca_frame_add, it returns a pointer to the frame passed in, unless we call it with LAST_PACKET, when it will return a pointer to a new frame in which to store the frame data for the next frame. So whenever calling: gspca_frame_add(gspca_dev, LAST_PACKET, frame, data, len); we should do this as: frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame, data, len); So that any further data got from of the pkt we are handling in pkt_scan, goes to the next frame. We are not doing this in stv06xx.c pkt_scan method, which the cause of what James is seeing. So I started checking all drivers, and we are not doing this either in ov519.c when handling an ov518 bridge. So now the framerate of my 3 ov518 test cams has just doubled. Thanks James! The attached patch fixes this. Regards, Hans