[Matroska-devel] Several (minor) issues or underspecified areas in the MKV spec

Steve Lhomme slhomme at matroska.org
Sun Oct 4 15:43:32 CEST 2015

On Sep 29, 2015 03:04, "Michael Bradshaw" <mjbshaw at google.com> wrote:
> Hi! I'll launch right into my questions:
> In the MKV spec, where it has examples for lacing, when it says "400
octets" does it mean 500?

Correct, I edited it.

> What’s the point of default values for non-mandatory elements in the MKV
spec? Why not make them mandatory if they have a default value?

You could set the element in the file if you want, but if it's the default
value (likely a very common value) you don't have to write it, the semantic
reader will get it.

> Is the duration of a block always evenly distributed amongst its frames
(for a block that has multiple laced frames in it)? I don’t see any
explicit mention in the MKV spec as to how the block’s duration is supposed
to be distributed to its frames, and I think that should be mentioned.

Only the timestamp (aka timecode in the specs) of the first frame is known
and the duration is for each frame, but this is an average. Most media
framework can deal with intermediate packets that have no precise
timestamp/duration. It is an issue when trying to remux into some other

> How can the EBMLMaxIDLength be less than 4, when the EBML and Segment IDs
are 4 bytes? Shouldn’t the EBML spec require the range to be > 4 and the
MKV speck require it be exactly 4?

Given the first EBML element is 4 octets it's fair to say lower than that
is impossible.

> Are the "EBML Elements Order Guidelines" normative? The word "guidelines"
in the title suggests no, these are merely suggestions, but the language
(i.e. "must") used on that page sounds like it's intended to be normative.

They are not normative. Doing differently still produces valid Matroska
files. IIRC in WebM it's normative but I'm not sure it's a well enforced
rule. mkvalidator will warn of incorrect interleaving.

> Additionally, I have several questions of a similar nature regarding the
EBML spec (including a typo); is the best place to ask those on the
ebml-specification Github?
> Thanks,
> Michael Bradshaw
> _______________________________________________
> Matroska-devel mailing list
> Matroska-devel at lists.matroska.org
> http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-devel
> Read Matroska-Devel on GMane:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.matroska.org/pipermail/matroska-devel/attachments/20151004/aa7c5b8a/attachment.html>

More information about the Matroska-devel mailing list