[theora-dev] [ogg-dev] handling multitrack Ogg

ogg.k.ogg.k at googlemail.com ogg.k.ogg.k at googlemail.com
Tue Feb 2 14:41:19 PST 2010

> But it means that whenever we edit a video - cut out a track / add a
> track - this field has to be rewritten.

The skeleton track has to be recreated anyway every time the file is
saved again.
Especially now that it may have an index.

> Thus, it might be better if we used a more inherent order scheme that
> doesn't require anything new in the stream.

There is no order now. You can define an order for arbitrary serial numbers, but
if what you want is to define a particular order (eg, this track gets
overlaid on
top of this track), then you have another information to store anyway.
So you will
require something new in the stream.

> We would, e.g. just need to prescribe that the order in which the bos
> pages for the different tracks appear in the stream is also the
> numbering order of the tracks. This won't break existing editing
> approaches and doesn't require making changes to fields at the front
> of the file when just oggz-merging or oggz-ripping. The bos order
> right now is determined by the tools and the tools that I used kept
> the given order and added any new tracks after the given ones. But
> this would indeed be a behaviour that would need to be prescribed.

This seems brittle. Rely on an implicit ordering that up to now had no
(apart from the 'Theora BOS first' rule to avoid confusing audio players).

> On the other hand, if there is a URL that points to e.g. the second
> track in a video and the video is being changed on the server where
> the second track is being replaced, then it points to the wrong track,
> even though that track may still be available in the video file. This
> wouldn't happen with an explicit reference.
> We could just claim that the latter is unfortunate, but a problem of
> the author / editor, who destroyed the links to the resource. Further,

This would be akin to having chosen an anchor system as <a href="#104">
instead of <a href="#name">, which 104 being a byte offset in the HTML page.
If the author changes the page, it invalidates the anchors pointing to
it. Yes, it
would have been the author's fault, but maybe the author did not know others
had linked to this particular page unbeknownst to him.

More information about the theora-dev mailing list