[ogg-dev] Skeletal relations

ogg.k.ogg.k at googlemail.com ogg.k.ogg.k at googlemail.com
Tue Feb 19 06:18:33 PST 2008

Something which you might also want to consider, unless it is deemed
to be outside the scope of skeleton, is a way to embed data that can be
referred to by other logical streams, as a means to avoid duplication.

A logical stream is self contained as far as the data it handles goes, but
several multiplexed streams might need the same, or similar, data.

For instance, something I wanted to do was having several multiplexed
Kate streams being able to use a shared font. This is currently not possible
without duplicating the font data in each separate logical Kate stream,
leading to waste of bandwidth. Since such "global" data needs to be in
the headers (well, it doesn't *need* to be, but it's cleaner that way), it also
means a large burst of data when one starts a stream.

Also consider that text translations might mean dozens of multiplexed
logical streams, something which isn't likely to occur with, say, Vorbis
and Theora, where you usually get a few streams together. Duplication
in this case becomes more of an issue.

Back when I still thought CMML was about meta description of accompanying
streams, I'd actually thought of CMML carrying such shared data to be
delivered at the time it was needed, but that was quite "wouldn't it be nice"
territory. If such shared data is kept in headers, Skeleton becomes a better
fit for this payload.

More information about the ogg-dev mailing list