Ross, In the findNextFrame() implementaion for MPEG (I,II,III), you don't seek for Sync Header. How the frame ends before the next sync header. Could it be more easy to do? Something like: /* search for a possible start byte */ for (; ((offset < size - 4) && (data[offset] != 0xff)); offset++) skipped++; Flavio