[theora] Indexing Ogg files for faster seeking

Silvia Pfeiffer silviapfeiffer1 at gmail.com
Tue Oct 13 19:46:13 PDT 2009

On Wed, Oct 14, 2009 at 1:18 PM, Chris Pearce <chris at pearce.org.nz> wrote:
> On 10/14/2009 12:18 PM, Silvia Pfeiffer wrote:
>> I have seen the need in professional video applications where the
>> beginning of the file is mapped to a time that is not 0.
> That could use useful.
>>> What software out there currently reads the skeleton?
>> I think lots of software skips it, which you could call "basic
>> support".
> Robust players should skip tracks that they don't understand.
>>> I'm also concerned that any players which actually read the skeleton
>>> will be crashy. I'll mock up some Oggs with indexes in the skeleton, and
>>> see how players handle them.
>> Make sure to include the index in a way that is backwards compatible.
>> And then if some players crash, they are actual bugs.
> Of the proposed index-in-skeleton suggestions, the most palatable is
> Conrad's suggestion of including separate index packets, but it looks
> like liboggplay at least assumes that all skeleton packets which don't
> have 'fishead\0' magic bytes at their start are fisbone packets. So at
> least anything that uses liboggplay *could* break. A robust skeleton
> decoder should check the magic bytes.

Yeah, I'd go with that, too. It's almost like having your own Ogg
Index track actually - it only extends the fishead by a few extra
fields (presentation endtime and length). Should be simple to adapt
your code, I would guess.

Looking forward to the experiments!


More information about the theora mailing list