[theora-dev] Video encoded using libtheora-1.1.1 and libogg-1.1.4 plays too fast...

Timothy B. Terriberry tterribe at email.unc.edu
Wed Feb 10 23:06:26 PST 2010

You seem to be assuming a one-to-one correspondence between packets and
pages. This is not correct. A packet can span any number of pages (and
usually does for keyframes), and a page may contain all or part of
multiple packets (as it usually does when you encode the same frame 300
times, as most of these frames will be very small). You need to write
out pages in a loop so long as there are pages ready to be written,
instead of just writing 0 or 1 pages after each packet.

More information about the theora-dev mailing list