Set the EBML characteristics of the data to
follow. Each EBML document has to start with this.
The version of EBML parser used to create the
file.
The minimum EBML version a parser has to
support to read this file.
The maximum length of the IDs you'll find in
this file (4 or less in Matroska).
The maximum length of the sizes you'll find in
this file (8 or less in Matroska). This does not override the element size indicated at
the beginning of an element. Elements that have an indicated size which is larger than
what is allowed by EBMLMaxSizeLength shall be considered invalid.
A string that describes the type of document
that follows this EBML header, for example 'matroska' or 'webm'.
The version of DocType interpreter used to
create the file.
The minimum DocType version an interpreter has
to support to read this file.
A DocTypeExtension adds extra Elements to the
main DocType+DocTypeVersion tuple it's attached to. An EBML Reader **MAY** know these
extra Elements and how to use them. A DocTypeExtension **MAY** be used to iterate
between experimental Elements before they are integrated into a regular DocTypeVersion.
Reading one DocTypeExtension version of a DocType+DocTypeVersion tuple doesn't imply one
should be able to read upper versions of this DocTypeExtension.
The name of the DocTypeExtension to
differentiate it from other DocTypeExtensions of the same DocType+DocTypeVersion tuple.
A DocTypeExtensionName value **MUST** be unique within the EBML Header.
The version of the DocTypeExtension. Different
DocTypeExtensionVersion values of the same DocType + DocTypeVersion +
DocTypeExtensionName tuple **MAY** contain completely different sets of extra Elements.
An EBML Reader **MAY** support multiple versions of the same tuple, only one version of
the tuple, or not support the tuple at all.
Used to void damaged data, to avoid unexpected
behaviors when using damaged data. The content is discarded. Also used to reserve space
in a sub-element for later use.
The CRC is computed on all the data of the
Master element it's in. The CRC element should be the first in it's parent master for
easier reading. All level 1 elements should include a CRC-32. The CRC in use is the IEEE
CRC32 Little Endian.