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

Michael Bradshaw mjbshaw at google.com
Mon Oct 12 19:10:00 CEST 2015


Hi!

On Sun, Oct 11, 2015 at 12:13 AM, Steve Lhomme <slhomme at matroska.org> wrote:

> 2015-10-05 18:07 GMT+02:00 Michael Bradshaw <mjbshaw at google.com>:
> > On Sun, Oct 4, 2015 at 6:43 AM, Steve Lhomme <slhomme at matroska.org>
> wrote:
> >>
> >> On Sep 29, 2015 03:04, "Michael Bradshaw" <mjbshaw at google.com> wrote:
> >>
> >> > 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.
> >
> >
> > But is there any real difference between a non-mandatory element with a
> > default value, and a mandatory element with a default value? The two seem
> > effectively equivalent. If there's no meaningful difference, why not just
> > make any element with a default value a mandatory element?
>
> In the of mandatory, you don't even have to write it in the file at
> all. Whenever you read the parent element, either it's there and you
> read the value (if there's one) or you assume you have the default
> value.
>
> If it's not mandatory and not written, then you do not have the
> element and its value. So if you want the element you have to write at
> least the ID and a size of 0. Each time you want it.


Interesting. The current EBML spec says signed/unsigned integers, dates,
and float elements have the value 0 if their octet length is zero[1]. To
make sure I'm understanding you correctly, you're saying that optional
elements can have a default value (specified by the document spec) that is
used if their octet length is zero (even if their default value is not 0),
correct? If that's the case, could this be clarified in the EBML/MKV specs?
I don't see that behavior mentioned in the MKV spec, and the EBML spec
makes it sound like these elements always get the value of 0 (with no
indication of other default values being possible).

[1]:
https://github.com/Matroska-Org/ebml-specification/blob/master/specification.markdown#ebml-element-types
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.matroska.org/pipermail/matroska-devel/attachments/20151012/bd1b9173/attachment.html>


More information about the Matroska-devel mailing list