[Matroska-devel] Re: EBML

Steve Lhomme steve.lhomme at free.fr
Thu Mar 18 09:43:37 CET 2004

>>It is however intresting to see that you make a distinction between
>>elements of the same type and elements of different types. It is
>>currently not possible to differentiate between them in the DTD, which
>>may be a problem.

IMO this distinction also applies to HTML :
some text

can produce either :
* item
some text

or :

some text
* item

> In Matroska the order of elements does not matter. That's the
> rule. Example: In the video track headers you may put the width before
> the height but also the other way round. The exceptions are what I've
> linked to: the clusters and the blocks inside a cluster. Those SHOULD be
> ordered according to their timecodes (it's a bit more complex) in order
> to make playback as easy as possible.
> If we allowed any order for these elements as well a Matroska compliant
> player would have to support playing files in which the blocks are
> ordered in descendingly...

Mmm, not exactly true. Clusters have to be consecutive. But that's 
probably part of the distinction between the same element at the same 
level and other elements.

As a side note, in libmatroska there is the possibility to reorder Cue 
entries so that they are consecutive. That was done to avoid reordering 
of such a big list on the parser side. I don't know if all existing 
parsers assume such an order or not...

More information about the Matroska-devel mailing list