[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