[theora] oggz reading & seeking

Chris Pearce chris at pearce.org.nz
Mon Aug 24 08:23:18 PDT 2009

Your decode will be encountering only interframes after the seek. It 
will return garbage until it encounters a keyframe. As ogg.k.ogg.k says, 
you need to seek back to the previous keyframe and decode forwards from 

I fixed this in Firefox's HTML video element implementation. There's a 
patch in this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=463358
which you may find useful. This uses the double-bisect method ogg.k 
mentioned. It still fails in some cases, due to these reasons: 
Seeking is hard.

Another solution is here, but it's not as fast on local files:

Chris P.

On 8/24/2009 7:06 AM, Manolache Adrian wrote:
>   I've rewritten my theora player using liboggz. I've stumbled upon a
> few issues though. First of all liboggz exposes oggz_read and oggz_run,
> but how can i read only sound data, or only video data using liboggz,
> say something like this: oggz_read_sound(1024), oggz_read_video(1024).
> Second of all i tried using liboggz's seek function. Immediately after
> the seek i get some "garbage" frames: how can i address this issue?
> ------------------------------------------------------------------------
> _______________________________________________
> theora mailing list
> theora at xiph.org
> http://lists.xiph.org/mailman/listinfo/theora

More information about the theora mailing list