[Matroska-devel] Re: Element order in EBML/libebml

Pamel paul at msn.com
Fri Oct 17 16:58:50 CEST 2003

"Cyrius" <suiryc at yahoo.com> wrote...
> Pamel:
> > Bad!  Order sensetive data is a nono in EBML.

Sorry, I meant to say, Matroska.  EBML doesn't have anything inherently that
cares in the specs.

> Some of you will say "Simple, just order them thanks
> to the timecodes". Yes .. but no, what do you do with
> native MPEG4 streams where frames are stored
> out-of-order ? Someone knowing the MPEG4 specs would
> say "Just take into account the type of the frame -
> IBP - and their timecode and you can sort them too".
> True, but then what do you do with (future) codecs
> that would store the frame in yet another order or use
> other kind of frames ? You would say "Oh sorry, I
> don't know in which order the frames are stored, I
> can't reorder them, you will have to wait for an
> upgrade of the program to take into account this new
> codec" ? If so you can already remove the lines in all
> the docs about Matroska mentioning that this container
> is great because applications can edit Matroska files
> without having to know what is inside.

You could still edit them because you would be able to tell what frames were
still needed by references.  Reorganizing the frames for a specific codec type
should be fine, as long as you are ABLE to.

> Last but not least. Let's consider why a new ordering
> element (KaxContentEncoding) has been asked :
> > Bad!  Order sensitive data is a nono in EBML.
> I don't think that's really true. Ebml by itself
> introduce order (when you read an EBML stream,
> elements have been written in a certain order).

Right, its was my booboo.


More information about the Matroska-devel mailing list