[Matroska-devel] EBML data type constraints

wm4 nfxjfg at googlemail.com
Thu Jul 2 13:54:13 CEST 2015

On Wed, 1 Jul 2015 19:31:24 +0200
Moritz Bunkus <moritz at bunkus.org> wrote:

> Hey,
> > Is a 0 sized (un)signed integer allowed?
> Als Ralph Giles has said: that'd be a change to existing practice, so
> yes, they're allowed and represent value 0.

Again, can we please distinguish between what a EBML consumer has to
accept, and what a EBML producer is allowed to write?

Here we would for example specify that a reader has to expect 0-sized
integer elements, but that a writer should not use them.

> > Additionally, the EBML spec says that Floats may be either 4 or 8
> > bytes, while the RFC Draft says 0, 4, 8, or 10. Are 0 or 10 byte
> > length floats allowed?
> Only floats of 4 and 8 bytes are allowed.
> > The RFC Draft says that a "string can be zero length" while the EBML
> > spec doesn't say. Is a 0 sized string element allowed?
> They are and represent an empty string. Note that an empty string is not
> the same as the element not being present (which might mean a default
> value would come into play); therefore allowing zero-length strings is
> pretty clearly a requirement.

The mkv track language element seems to be such a case.

More information about the Matroska-devel mailing list