[Matroska-general] Spec freezing

Steve Lhomme steve.lhomme at free.fr
Wed Jan 7 10:21:19 CET 2004


As you know we'll be soon going into Round 3. Which is, according to the 
specs :

     * Round 1: first complete draft of the specs
     * Round 2: start the alpha development of libmatroska and update 
the specs when needed
     * Round 3: start the beta development of libmatroska, the specs are 
frozen (no changes possible, only additions)
     * Round 4: libmatroska becomes final (1.0.0) and the format too 
(version 1)

The specs could still have some last minutes addition this week and the 
following week (see the sample accurate seeking). Then we'll go into 
Round 3.

libmatroska and libebml already support everything that are in the 
version 1 specs and even more... I suggest to make all elements that 
have been removed from version 1 available with something like :
#define MATROSKA_VERSION 2

The default build value of MATROSKA_VERSION will be 1 for now (should be 
used in the EBML header of the file too).

Also, there are lots of weird features that are probably untested right 
now. I'm almost sure all the scales (timecode, samples, etc) are not 
handled well in most implementations. So I suggest that for each feature 
we make a test file (or mix many features in the same file). That way we 
can easily test players for "1. Matroska compatibility". These files 
should be produced with mkvmerge as it's the program that allow the most 
features in Matroska...

Files that don't meet the specs could also be produced. But the handling 
of these files are not covered by the specs... But we can at least 
produce EBML files that are not matroska files (DocType != "matroska") 
or with version numbers that a current player is not supposed to handle 
(DocTypeReadVersion == 2). These files should not play or crash current 
players.

I'll make my best to have the MatroskaSplitter support all features of 
"Matroska 1." and be the first "Matroska 1. compatible" program. A kind 
of reference code and feature demonstration...




More information about the Matroska-general mailing list