Re: [Cellar] On the multiplicity of Info elements

Dave Rice <dave@dericed.com> Sun, 03 January 2016 15:53 UTC

Return-Path: <dave@dericed.com>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 19B481ACE1D for <cellar@ietfa.amsl.com>; Sun, 3 Jan 2016 07:53:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.579
X-Spam-Level: *
X-Spam-Status: No, score=1.579 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_NEUTRAL=0.779] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0pMc2hW9my-l for <cellar@ietfa.amsl.com>; Sun, 3 Jan 2016 07:53:16 -0800 (PST)
Received: from s172.web-hosting.com (s172.web-hosting.com [68.65.122.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B04521ACE1B for <cellar@ietf.org>; Sun, 3 Jan 2016 07:53:16 -0800 (PST)
Received: from user-387g4ij.cable.mindspring.com ([208.120.18.83]:43318 helo=[10.0.1.64]) by server172.web-hosting.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.86) (envelope-from <dave@dericed.com>) id 1aFky1-002Ybr-As; Sun, 03 Jan 2016 10:53:15 -0500
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\))
From: Dave Rice <dave@dericed.com>
In-Reply-To: <CAOXsMFLCbe-W=h+tQpdRa8Nh0jz=xdbZTXEmoXsgQTbA=4OPCQ@mail.gmail.com>
Date: Sun, 03 Jan 2016 10:53:11 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <C0E5EBA2-2A56-46F9-A049-629EFB11F280@dericed.com>
References: <CAHUoETLC4dQQ7=TOuTXZ3aDjKCCJgz2s-8Gb33MoSAP3hgRQiQ@mail.gmail.com> <BEA72D66-EA3D-4CF0-987D-836E95287F39@dericed.com> <20151230091811.GA19636@bunkus.org> <CAOXsMFLCbe-W=h+tQpdRa8Nh0jz=xdbZTXEmoXsgQTbA=4OPCQ@mail.gmail.com>
To: Steve Lhomme <slhomme@matroska.org>
X-Mailer: Apple Mail (2.3096.5)
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server172.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - dericed.com
X-Get-Message-Sender-Via: server172.web-hosting.com: authenticated_id: dave@dericed.com
X-Authenticated-Sender: server172.web-hosting.com: dave@dericed.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <http://mailarchive.ietf.org/arch/msg/cellar/1r8M7eKvkKBj54n2OfGhEuB7xm8>
Cc: cellar@ietf.org, Moritz Bunkus <moritz@bunkus.org>
Subject: Re: [Cellar] On the multiplicity of Info elements
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Codec Encoding for LossLess Archiving and Realtime transmission <cellar.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cellar>, <mailto:cellar-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cellar/>
List-Post: <mailto:cellar@ietf.org>
List-Help: <mailto:cellar-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cellar>, <mailto:cellar-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 03 Jan 2016 15:53:18 -0000

> On Jan 2, 2016, at 3:47 AM, Steve Lhomme <slhomme@matroska.org> wrote:
> 
> 2015-12-30 10:18 GMT+01:00 Moritz Bunkus <moritz@bunkus.org>:
>> 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.
> 
> Yes, that's the idea for the Track Info as it's vital to the usability
> of the file, as well as the Segment Info. I'm not sure it's used in
> practice though.
> Since the goal of CELLAR is archiving solutions it may still make sense.

Perhaps to declare that an Element may be repeated but must be repeated identically should be a new EBML Element Attributes, so there can be a distinction between the repeatability Segment/Info and the repeatability of SimpleBlock.

>> 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.

But what should happen when the read finds differences in repeated-but-should-be-identical elements?

For a scenario of two differing Info Elements, VLC and FFmpeg use different Info Elements. Which use is correct? Since the use of repeated-identical elements is resilience a deviation between the two could be expected, so we should suggest how the reader should respond.

>>> 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

I can understand Attachments and Tags being multiple as it could allow attachments or tags to be added to a file without having to re-write too many bytes.

Dave