Re: [Cellar] On the multiplicity of Info elements

Steve Lhomme <slhomme@matroska.org> Mon, 11 January 2016 09:46 UTC

Return-Path: <slhomme@matroska.org>
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 74CE01A887D for <cellar@ietfa.amsl.com>; Mon, 11 Jan 2016 01:46:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.422
X-Spam-Level: *
X-Spam-Status: No, score=1.422 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622] 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 Ycx_Lm68I4rr for <cellar@ietfa.amsl.com>; Mon, 11 Jan 2016 01:46:34 -0800 (PST)
Received: from mail-vk0-x231.google.com (mail-vk0-x231.google.com [IPv6:2607:f8b0:400c:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4511C1A887A for <cellar@ietf.org>; Mon, 11 Jan 2016 01:46:34 -0800 (PST)
Received: by mail-vk0-x231.google.com with SMTP id a123so190479986vkh.1 for <cellar@ietf.org>; Mon, 11 Jan 2016 01:46:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=matroska-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=jBIekBoGwSeUu2xmfyL1KpHpHpVihxVOoM+J6ip9PJI=; b=IDvcsYGUOFmBYTL97qbJu0zwnPZwyH/sR2+5VR397PuXLuhdusAeniz4Xtl6TCfjRR ONctzw1dmrzt3xZQcecnCeL/KMHLtIc8N24neWSy1myREdfZFo4tlu/SAARry33CUyRy ehMk8fjQfEIiCVgbXt+urjPzv4onsr5cDEBY7HsSWcjOgggBd75mevuibBWzrhItjgcu Y5LeW5kl7Mdw2l2MUDpy/9y1N5bL67XsuClcV70oNvUt18/4DbC+fKfsiLNXbhNt5tPZ moDs4QMe8ANxOudQnduV4ptpGM+wIyzm3406L2+d8A9mbDPMf4NTU8Aznckf6PUsJK04 Sd4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=jBIekBoGwSeUu2xmfyL1KpHpHpVihxVOoM+J6ip9PJI=; b=YGDlBFdVFCZE/jYsyMHzZpozexw8a8HPd2KqEDTTR418LuR5fW4zJp8uZ/cnz49xaK QrRWpxYjAklWc3hLkqNjmQvP9CjHl3n1WSVFVgxCuaU7wadWdUw2D7Dz/EkMnNUzqhem BhgmSiGbWSGt/A840zjqb3InzE6efW4ezOiUPA6X0kK/TaAkJfY2fsZxNuBovJtUgM0J 4JZG7ECLSwUp3LsAKPH1z30jzvA+bV3fen/HhqMueErvd+Tylldvr274PK11v3I0GInz E1gnzJjdWvfgeed20fmgXA0H1+Zjssxn8lYlc3ZRYMDYonwu69ceytjjbjZqpmQU3JDv xskA==
X-Gm-Message-State: ALoCoQlvU+tNboBhmUFst1cFyxs91BkxODRH858eALdW3U68Wg1me4WncLoEBdh1EKxrBMKPNIcfQQH/sEdquYUVGf7Z0auDMw==
MIME-Version: 1.0
X-Received: by 10.31.50.213 with SMTP id y204mr67138630vky.109.1452505593163; Mon, 11 Jan 2016 01:46:33 -0800 (PST)
Received: by 10.31.8.84 with HTTP; Mon, 11 Jan 2016 01:46:33 -0800 (PST)
In-Reply-To: <20160105164958.GB13213@nb4>
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> <C0E5EBA2-2A56-46F9-A049-629EFB11F280@dericed.com> <CAOXsMF+gc0d2LEisfHm0jnjDGQKcYquEMBt7FnZ_uuSNF=C0iw@mail.gmail.com> <568AC10F.9030303@gmx.de> <CAOXsMFKJJhzU-3CYqguDePY42T+Vvhx9ytAfvoM6xyqaZY+N4g@mail.gmail.com> <20160105164958.GB13213@nb4>
Date: Mon, 11 Jan 2016 10:46:33 +0100
Message-ID: <CAOXsMFJ73VF9N4KPvm9QpOEKzyiUQ9APT2F70A7S5wktihf9aA@mail.gmail.com>
From: Steve Lhomme <slhomme@matroska.org>
To: Michael Niedermayer <michael@niedermayer.cc>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/cellar/peduK6xD5SRWV9KviU-xwMN_Gug>
Cc: cellar@ietf.org, "Sebastian G. <bastik>" <bastik.public.mailinglist@gmx.de>
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: Mon, 11 Jan 2016 09:46:35 -0000

2016-01-05 17:49 GMT+01:00 Michael Niedermayer <michael@niedermayer.cc>:
> On Tue, Jan 05, 2016 at 09:20:00AM +0100, Steve Lhomme wrote:
>> 2016-01-04 19:59 GMT+01:00 Sebastian G. <bastik>
>> <bastik.public.mailinglist@gmx.de>:
>> > 04.01.2016, 08:11 Steve Lhomme:
>> >> 2016-01-03 16:53 GMT+01:00 Dave Rice <dave@dericed.com>:
>> >>>
>> >>>> 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.
>> >>
>> >> That might be good. After all not elements make sense as repeated
>> >> ones. For example in Matroska you don't want a Cluster (timestamped
>> >> data) to be repeated.
>> >>
>> >>>>> 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?
>> >>
>> >> Good question. Maybe repeated elements should have a CRC ? If a CRC
>> >> is wrong (or not found) the parser could look for a copy.
>> >
>> > I like the CRC idea for repeated elements, but it still does not define
>> > how players should behave if they encounter two elements, even with
>> > valid CRCs, not matching each other.
>>
>> Also what about repeated elements that are not master elements. You'd
>> have no way of telling which is the best version. So repeated should
>> probably be master elements. Maybe CRC should be mandatory too (not
>> sure if real life files already follow this rule). That's the only way
>> a parser would be able to tell which version is correct, as far as I
>> can see.
>
> i dont disagree but i think "no way" is not correct
> its possible that external means like errors from reading data could
> be used to detect which repeated versions are bad, also parsing errors
> could indicate what is bad and then if there are 3 or more copies
> simple majority "voting" on a byte per byte base could be used
> to construct a "good" version, this too could be done when all copies
> fail CRC checks. No idea if that would be usefull in any actual real
> world usecase, but a player or repair tool trying to be exceptionally
> resillient to damages could do things like that

True, some "forensic" could be applied to recover the damaged data
when all CRC fails. I don't think the specs should specify such
recovery techniques, nor a general reader should care too much about
that. The first level of CRC (find one that matches) should be good
enough for that level.

> [...]
>
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Many things microsoft did are stupid, but not doing something just because
> microsoft did it is even more stupid. If everything ms did were stupid they
> would be bankrupt already.



-- 
Steve Lhomme
Matroska association Chairman