[Matroska-devel] Re: EBML Namespaces

HAESSIG Jean-Christophe haessije at eps.e-i.com
Thu Apr 27 18:43:50 CEST 2006


 
> This all seems a little on the complex side.  Why not just 

It is somewhat complicated indeed.

> define an element that indicates a change of name space for 
> all formats? 

This is a feature I want to have, as you can see in my last
Post about namespaces

> Something  without much chance of random collision like:
> [12][34][56][78]
> 
> If you want to be able to indicate *which* name space you are 
> changing to, then include a child element that includes the 
> format's DocType:
> [13][87][65][43]

As you describe it, it seems that the EBML generic elements
should be valid in all namespaces. I thought it would be
much cleaner for EBML to have its own namespace, which would
improve the extensibility of EBML. Otherwise further additions
of new class-ids used by EBML may collide with older formats.

> Either have that as the first element, with other elements 
> from the new name space following later, or put all of the 
> elements from the new name space in their own element like:
> [14][87][12][87]
> 
> So, format XYZ that wants to contain a Matroska file would 
> contain this:
> [12][34][56][78] (size)
> 	[13][87][65][43] (size) {matroska}
> 	[14][87][12][87] (size)
> 		[18][53][80][67] (size)
> 
> 
> This seems pretty strait forward and backwards compatible to 
> me.  Am I missing something?

I think it would lead to too much overhead. For one namespace
switch you would have at least 10 to 16, if not more extra bytes.
Formats intensively mixing 3 or 4 vocabularies would yield
huge files...

The feature you describe (namespace switching) is definitely a
must-have, but is not sufficient to suit all use cases IMO.

JC



More information about the Matroska-devel mailing list