[theora] Implementing seeking in splayer

Markus Meyer meyer at mesw.de
Thu Jul 31 08:00:03 PDT 2003


I have now played around with seeking a bit.

Currently I can seek into a file position in splayer and resynchronize
playing (via ogg_sync_pageseek) from there.

I did not take chained streams into account yet, as I'm not sure if it
would make splayer far to complex for a sample application. Maybe later.

Before I implement seeking to a specified time (ala libvorbisfile), can
you answer me these questions:

1. Libvorbisfile does a vorbis_synthesis_restart() on each seek. I
didn't notice any difference with or without it, though. Is this
necessary and is there anything I should know about it? Does theora have
an equivalent function or will the presence of a keyframe succeed to
restart the internal decoder? Is there anything I should reset
additionally on a seek?

2. I'm afraid that decoding after seeking must start at a keyframe,
because otherwise the screen will look garbled for a short time. How can
I know if a frame is a keyframe? Is it guaranteed that a keyframe will
occur at most every n frames/pages?

Any help greatly appreciated


<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'theora-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Theora mailing list