[Matroska-devel] Element order in EBML/libebml

Cyrius suiryc at yahoo.com
Fri Oct 17 21:01:54 CEST 2003

--- Steve Lhomme <steve.lhomme at free.fr> wrote:
> > So in this case libebml/EBML doesn't guarantee the
> > order of the data, and thus nobody can tell for
> sure
> > that data will be send in correct order to the
> codec.
> > So actually when we write a Matroska file we don't
> > know if the codec will be able to decode the data
> we
> > would send (in an unpredictible order), and if the
> > file will be playable.
> No, because you forget one part. For example the
> MPEG4 native matroska 
> stream is in coding order. But we don't assume ALL
> MPEG4 decoder uses 
> this order. That's the job of the link between the
> matroska reader and 
> the codec to please everyone.

That can't be possible, you are talking of ordering
while you already said that ordering doesn't matter.
So there can't possibly be an MPEG4 coding ordering
inside a Matroska file since there is no ordering.

So actually every program dealing with a matroska file
would have to first see what is the content of the
file (normal codec - IP frames; mpeg4 codec - mpeg4
coding order; other kind of codecs - other kind of
order) and then ensure the order of data is correct in
the file/stream (since as per specs the order doesn't
matter and thus isn't guaranted) and if necessary
reorder the frames.

In other words what was said till now is that if I
ever decide to produce a Matroka file where everything
is reversed (in each KaxCluster the KaxBlocks are
written in inverse order, and in the KaxSegment the
KaxClusters are written in reverse order - in other
words frames are stored from the end of the clip till
the beginning in reverse order) then this file would
respect all the specs (EBML and Matroska) and you
won't have to complain about it.

Then I can tell that I don't think any filter will
ever be able to or even want to
1. play this file
2. do it gaplessly

Do you Yahoo!?
The New Yahoo! Shopping - with improved product search

More information about the Matroska-devel mailing list