[Matroska-devel] Re: EBML

Martin Nilsson matroska at mani.user.lysator.liu.se
Tue Feb 17 11:01:53 CET 2004


Steve Lhomme wrote:
> I think the CRC-32 is OK because it gives a simple way to every EBML 
> user to have error detection at almost no cost.

I have no problem with CRC-32 in the set of core elements, but with the 
way it is implemented. Since EBML implements a way of grouping elements 
together, why not use it (and get the other benefits I listed). Example:

   CRC32 := fe container {
     %children;
     CRC32Value := 1a19df41 binary [ size:4; ]
   }


> It's a subset with more restrictions. These restrictions *are* sometimes 
> needed, like when you have a URL for example. So I think it should be 
> kept. Plus it is very common in the computer world...

Yes but

URL := 81 string;

and

URL := 81 utf8 [ range:32..126; ]

mean exactly the same thing. The only reason would be to reduce typing, 
but there is a point in forcing americans to really consider if they 
need to disallow strings with funny characters. If we create type 
definitions, then one could just start the document with

define types {
   string := utf8 [ range:32..126; ]
}

But then only 5% of the Matroska elements are string elements, so it 
wouldn't save much.

URL is by the way a bad example since it is even more restricted than 
the character range 32-126. Interstingly enough 8-bit characters are 
allowed in URLs according to the first URL specification. They did 
however forget to specify which character set to use...

/Martin Nilsson






More information about the Matroska-devel mailing list