[Matroska-devel] Element order in EBML/libebml

Steve Lhomme steve.lhomme at free.fr
Fri Oct 17 17:20:06 CEST 2003

Cyrius wrote:

...lots of things. And I won't comment everything.
But EBML, in general, does induce an order for elements. You could swap 
some and the meaning of the file has to be the same.

The only problem is when Chesksum is used. Once it's set, you can't 
change the order, unless you compute the checksum again. So that's still 

For the rest, there is no case where the order of elements matters. Even 
for blocks not in coding+display order. I think DirectShow is capable of 
being feed with timecodes in no particular order (as long as it's not in 
the past of what has been rendered)... But that's a problem for hardware 
players that can't reorder frames easily (BTW, it has always been said 
that a Cluster should be held full in memory)...

For elements that DO need an order, it has to be written somwehere. So 
far, for Blocks and now for Encoding, it is an EBML element. (timecode, 
coding order)

More information about the Matroska-devel mailing list