[Matroska-devel] EBML data type constraints

wm4 nfxjfg at googlemail.com
Tue Jun 23 15:30:08 CEST 2015

On Mon, 22 Jun 2015 16:44:27 -0400
Dave Rice <dave at dericed.com> wrote:

> Hi all,
> Some of these have already been discussed but I want to verify these questions as I'm working on improvement the section of the spec that defines EBML Element Types (Data Types).
> The EBML spec at http://matroska-org.github.io/libebml/specs.html <http://matroska-org.github.io/libebml/specs.html> says: "Signed Integer - Big-endian, any size from 1 to 8 octets" The RFC Draft at http://matroska.org/technical/specs/rfc/index.html <http://matroska.org/technical/specs/rfc/index.html> says: "Signed integer, represented in two's complement notation, sizes from 0-8 bytes."
> Is a 0 sized (un)signed integer allowed?

I'd vote no. Didn't we discuss this already and concluded they're not
allowed? But maybe I don't remember correctly.

> 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?

I'd vote to definitely forbid floats of size 0 and 10.

> 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?

Aren't 0 size strings just empty strings? Should definitely be allowed.

More information about the Matroska-devel mailing list