Subject: [Cellar] [PATCH 1/2] Set VOID Element as multiple in EBML spec

From: Dave Rice <[email-masked]>
Date: Wed, 30 Dec 2015 08:43:53 -0500

Hi all, [trying out new method of sending patches to the list]

I noticed that the VOID Element is set to non-multiple; however a substantial amount of Matroska files seem to use void multiple times within the same Parent Element. Such as:
Segment/
	Header/
	SeekHead/
	Void/
	Info/
	Tracks/
	Void/
	Cluster/
	Cues/

This structure is current invalid according to both the EBML and Matroska specifications, but I think that this is not an intended restriction. This patch sets the VOID element to Multiple so the above structure would be valid.

Dave Rice

From f57062e0799cc39ec9a976a6c75d15ce0f0e2b6c Mon Sep 17 00:00:00 2001
From: dericed <[email-masked]>
Date: Wed, 30 Dec 2015 08:36:38 -0500
Subject: [PATCH] Set VOID Element as multiple

---
 specification.markdown | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/specification.markdown b/specification.markdown
index b90020c..28be745 100644
--- a/specification.markdown
+++ b/specification.markdown
@@ -344,7 +344,7 @@ Element Name:   Void
     Global:         Yes
     EBML ID:        [EC]
     Mandatory:      No
-    Multiple:       No
+    Multiple:       Yes
     Range:          -
     Default:        -
     Element Type:   Binary
-- 
2.6.4

---

From: Moritz Bunkus <[email-masked]>
Date: Wed, 30 Dec 2015 14:54:02 +0100

Hey,

+1. mkvmerge uses voids a lot, definitely multiple ones per
parent. Apart from current, actual use the void's raison d'être is to be
able to overwrite existing elements and placing their content somewhere
else without invalidating the whole file (and without having to re-write
it completely). Therefore voids should be made plural.

I wasn't even aware they currently weren't…

The patch itself LGTM.

Kind regards,
mosu

---

From: Dave Rice <[email-masked]>
Date: Wed, 30 Dec 2015 08:56:26 -0500

> On Dec 30, 2015, at 8:54 AM, Moritz Bunkus <[email-masked]> wrote:
> 
> Hey,
> 

I sent the patch via PR as well. I’m surprised that mkvalidator wasn’t complaining non-stop about this restriction.
Dave Rice