Subject: [Cellar] On the multiplicity of Info elements

From: Michael Bradshaw <[email-masked]>
Date: Tue, 29 Dec 2015 14:27:42 -0800

Info elements may be repeated within a Segment since it is marked as "mult."

Is this correct, and does it make sense? It seems to me like there should
be one Info element within a Segment. I'm actually not really sure how to
sanely handle two Info elements within the same Segment.

--Michael

---

From: Dave Rice <[email-masked]>
Date: Tue, 29 Dec 2015 19:28:28 -0500

> On Dec 29, 2015, at 5:27 PM, Michael Bradshaw <[email-masked]> wrote:
> 
> Is this correct, and does it make sense? It seems to me like there should be one Info element within a Segment. I'm actually not really sure how to sanely handle two Info elements within the same Segment.

Perhaps this is a bug in the documentation. I made a Matroska file with two level 1 Info elements and VLC used the first one while FFmpeg used the second one. I can’t see a use-case where more than one Info element would be used as the child element of the same Segment element.

SeekHead, Info, Cluster, Tracks, and Tags are multiple.
And
Cues, Attachments, and Chapters are non-multiple.

???

Dave Rice

---

From: Moritz Bunkus <[email-masked]>
Date: Wed, 30 Dec 2015 10:18:12 +0100

Hey,

I only remember the discussion around Tracks being multiple, not
particularly for the other ones. Our intent way back when was to allow
muxers to write multiple instances of _the same information_ in
different places in order to make the file more resilient against
damage or incomplete downloads with protocols like BitTorrent.

The same reasoning could be applied to Info. Both elements are
absolutely crucial to playback; the other level 1 elements safe for the
clusters simply aren't.

> SeekHead, Info, Cluster, Tracks, and Tags are multiple.

SeekHead and Cluster must be multiple. SeekHead in order to allow moving
a SeekHead to the end of the file while still referencing it from the
start (so that normal players will still find it quickly). Cluster for
obvious reasons.

> And Cues, Attachments, and Chapters are non-multiple.

I have no idea why Tags is multiple and these three aren't.

To me the following would make sense:

- Info, Tracks – multiple but only if each instance contains the same
  information

- SeekHead, Cluster – multiple without restrictions

- Attachments, Chapters, Cues, Tags – single

Kind regards,
mosu