Re: [Cellar] Zaheduzzaman Sarker's Discuss on draft-ietf-cellar-matroska-16: (with DISCUSS)

Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com> Mon, 29 May 2023 09:14 UTC

Return-Path: <zaheduzzaman.sarker@ericsson.com>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 76375C151532; Mon, 29 May 2023 02:14:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mShV5FwZnFN3; Mon, 29 May 2023 02:14:13 -0700 (PDT)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20617.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::617]) (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 AB7DCC151530; Mon, 29 May 2023 02:14:12 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f+uQvZgAQBSvEgTafV082JRbbXZm1AaAHx+xKYOlO8f0jWJ8c0l1p94zJjY2fl/Lc4XdGx3ZH/u/QPPoJjWgS1CoKk9t9+NMazwIID1iiF7Lv4JEOopj5qlV5ikPs6vHcNeQpPYJsgo0SniSms+vzCSem1lAdfFk8CUPMyoSQTLZg6v6K14nOGlc72a7YIbAwPVjUMJ+kXqUzQrB+q+wCnVyGHzjpzbB5g6+xxfFq0lKLtWEvno/x2RMkmZ6J0NJ/VpGlMNiF4fZdSdFsFjOICPTUVWv7BYQ5VNmC/Ul/1AH34r/lwAMgm8VAzAvvNhtwthyg+3LSLXaWhKTxNtZ/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DRS8c0ZZ+D1FWUCvcmx4c27ZZ4y3h8gkwcEiHfjuFJ8=; b=h+0r36kFixKMyqp4AXAL3Vb1qWD0ttro83YtKBQ8q1kv9nfZRQwCm4tPAIG3O6MFLWAug0h/ga1R6ymU4gn/tzVPxpxY2+09reFvarIqvHOB2GZ2G1dtb1vJA2Z6SJAHv7MP3CsZDWCKEoRkHHGfoTL8q/BdQdx0k9yiUUmCHdYIl5KJcvL73Yd3hU2mcta4ZcsNQXotLaJ3hqDPUxN72WHnayS40C3QyrfCspVaXH7I7XCXFeMFTlAijqCDV9otTcf6caR/u32OonsjixVj4jR0IfVF9vRezRrlltpM+jZ9Yj1ysCWwGSf6jsL4ITskaDekyxaMeS0704S8rHDk8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DRS8c0ZZ+D1FWUCvcmx4c27ZZ4y3h8gkwcEiHfjuFJ8=; b=Fgh8T5DEvt5L32naxqwUVwI/HmqUm2fcFCv0OJWVVOzjJ+5DdQB0NeOjVahd6K8J1mlpnLl0fqSb0sIEKa7y1LMA1zEkdFHJJUV7GKXVUNuEUoCkdD3EMWo2nbCWx2Ig990SbteZRbb+4pgx3+Kdud6VfySOHx1JYsVEeLraLJ0=
Received: from DB7PR07MB3995.eurprd07.prod.outlook.com (2603:10a6:5:3::23) by AM9PR07MB7971.eurprd07.prod.outlook.com (2603:10a6:20b:30d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.22; Mon, 29 May 2023 09:14:07 +0000
Received: from DB7PR07MB3995.eurprd07.prod.outlook.com ([fe80::43dd:fec0:364:a35b]) by DB7PR07MB3995.eurprd07.prod.outlook.com ([fe80::43dd:fec0:364:a35b%7]) with mapi id 15.20.6433.022; Mon, 29 May 2023 09:14:07 +0000
From: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>
To: Steve Lhomme <slhomme@matroska.org>
CC: Michael Richardson <mcr+ietf@sandelman.ca>, The IESG <iesg@ietf.org>, "draft-ietf-cellar-matroska@ietf.org" <draft-ietf-cellar-matroska@ietf.org>, "cellar-chairs@ietf.org" <cellar-chairs@ietf.org>, "cellar@ietf.org" <cellar@ietf.org>
Thread-Topic: [Cellar] Zaheduzzaman Sarker's Discuss on draft-ietf-cellar-matroska-16: (with DISCUSS)
Thread-Index: AQHZiVc5Mi/uqFPFJUyOK+NqzWeDY69gUq0AgARGJICABIuwa4AH1xOAgAAJui4=
Date: Mon, 29 May 2023 09:14:07 +0000
Message-ID: <DB7PR07MB39952CD9518062E96DF6E7B59F4A9@DB7PR07MB3995.eurprd07.prod.outlook.com>
References: <168439355241.19722.16048295663626160603@ietfa.amsl.com> <25458.1684432850@localhost> <CEF5EAE7-E600-4F4B-B978-E082EC66A53B@matroska.org> <DB7PR07MB399565AF33CFBABAF120C0169F419@DB7PR07MB3995.eurprd07.prod.outlook.com> <B9EA2E9C-D848-4210-8B71-A1DC4BA7B7CF@matroska.org>
In-Reply-To: <B9EA2E9C-D848-4210-8B71-A1DC4BA7B7CF@matroska.org>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR07MB3995:EE_|AM9PR07MB7971:EE_
x-ms-office365-filtering-correlation-id: 2c0c1a77-39b7-4997-eddc-08db60250e35
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: rGg+XrqoKZmMdKrsFSD76DbI0OnjLD5cVMX+0NvH5NgifkDSrFx0HZ+aiTyJhj7FPaq1X9Ox/p6v92PtxInL4u1STVrEBiBx5kLqmu+wBDYUtGL1a21Ou403p+KT9DKqGAZvyODmzj1/DAJlupejHaPqRp5Qet07Wos47g7zfa+Kh6EsUEaINytJAOQYciiDXgCOcAOZQXApZutF6ErVUYzIRnpHZ+FZJzg7zZAaK7V45z0mHTHqOf9Yn7o8i8Jc8frmqoVQEadveN2Jn5+FfFByC8tDGay0f9A1nd/teVxuy6ywh3BBUZIhXX8U8X+7ri6Pgve2GSvkkK29tGK/RfMvnl7va8Yw81269BZ0QmupSnGqFuPQjfcgMMoHObu23uOIYKcI49gWEz3NanJTd6srAaKTQKPTEJ2lY1on8/1GwLG6SDZ8IFS4EJoTDOnei+4Kr8adpdyvKyfpbBgHP4FuZoN61dzmc2R8gVI/FvC/Qz7+jRc4i6vFPIy2y16X7mY4h1Qlo5BOmX5Bd0GhYQh2qkM7dLimtKrjCN1dAOlq+gbE0mHEYRvEOLqrvFyJJLFMwS7hXFRPFxpQ2Ssf4taZln7kgpYlRU0EMZb7RTI=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB3995.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(366004)(396003)(346002)(39860400002)(136003)(376002)(451199021)(2906002)(186003)(26005)(53546011)(9686003)(6506007)(52536014)(5660300002)(54906003)(478600001)(99936003)(122000001)(8936002)(82960400001)(8676002)(83380400001)(66574015)(38100700002)(7696005)(166002)(38070700005)(86362001)(41300700001)(33656002)(71200400001)(316002)(66946007)(76116006)(44832011)(91956017)(64756008)(66556008)(66446008)(66476007)(4326008)(6916009)(55016003); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: IsvpvpNT1VGzX3kesckxbMf2LEfA6+HNClGneIF9dXnewKRtoA5s7b7BiZlUg74TgQ3QeAyyW8YZA70tWSbC7jjdQvad0UV0BVUhw76GFEmiuE0cu/lZrHvkUJeRYz64HjCySvlMEzsoqgdv+pE1vp4ut1e9RSmrrGL9TmO5yiILkeveFLvS8b66Xc7Z0tRwKONJobaoEp+Z4nHcJqC2XRXSJB2DL4nYBdjVHQZJHz/gX5H8bGhzfbDYoS3G+KGDzJ44YrAkPvgvV9VbiCGOeiAiYlbErEGeD4m7wDl1BB9/OY0u84n5eHKorA1VwDqVwv0e21hNQkiPtBfahf5YB63h2r783IRZ/IVMoWoOCKn5xZBPHaAYdn4SU/9J3iOT8ljX07rfp/PS4cw1cpwBh38xIbcgmvtLOZ83INenlxXMzAEks+8hukuNY8h/gZbYrMlbaiSRWJcvs1Kn9KJIU3Nw+ABsuR9ctUgIq+t5Gpn3oZ+mzXo3Ko3vbSEFRs9cJExoS0IutciAe8V5rBWCHBOqraSBKZy02gWAeDCRP3/XX6X5DtiH6ItV+i/j8dG4gafbs1xJpFqT6uYSr/bpAy/xKaGFz4eJZiPjULs5GnbBFeTjyqNlKfYrDrUgfjLJNhfkZxw5JFkFLS8PYW2x4B/IwnKVGMRcX5kV08ctke5qk5inyDo60sXwbEoro1UaUD0BulDITf3WUfxcJKFeUUkUfr8smrpX9azbcyZj0CJOARCB2dW9EqXvQzZIcOUAOWgkt/2axm9GSxrSUrgC0vJgUGLPGkHD6jNGjLVUMz9sQ0xHtNvnhaP04uEtHRwOIr/rXs0bs9RXxd2Mij404OIcC/okQn5VBni4tTdF02ku97vUbhXCgWQ3q1YIcWxvQWoKPTYzijv4na5YN/hQ9ceQbUZkdBEum6Df70RxAstIoGScRTM/V3v8H1dyT7u8RyKBWRuLi5HOJoJatzGnrvFkZdX14YZbWHL4osHBIpQvEjZpbNVlr8z17OOjzboXwhWSYvaibVdE+JDL0kdUnKlJxI3WvX9/T9PlqvESoM+W/tnIstIsEdijZu/odZzFx77G5yeerUvwLzEQU1K9KZmwptc2G3cCyU+QTpMBvfOCc284TStDXKjyYJi+3f3o2622FjIT5YXInKP6O+Jzzv6y0SAXeb40kwbB/JXkn4dSDlnPT0UmkZHoKsbUQqzQK32quX1ngTfuuFm37FED42V0LNgVIznYQFS5mJg06NyzsGvwC3o6wHCapoEYfrVuFdl/g51iF/xN8uTFibOFNjh01wIcbsKncIoDL3qX6j/k2XTRPy2+0aJCmm/B49b2SqbYfalRR2+yMwyGDTD4ihmrjH1TL0iYmNc78+jtiwC7o87f7C7VeKDDMdZ4hRp9G8+KxKzLMiCU8nQbi8lIuw+RnIqOYXoWoUHCyRJTdjyLSbfCWd1RE88X/nKveVjDULEkdFrnqLcqShySZPQHIBi7b0KWcspWH1t+rSWhBrAX+HzzcoJjg7Ng5IP2P0qONVKoYkc/15i9a5m5+oDC1vSmyz1uuEnA7Al085gHQHEjwkIlS11NEJ7QTm3o7+WdOcsN4k+G/tTNXXoZ6OcczIx2bEs1NR0Q6yaWnQm0KC4=
Content-Type: multipart/related; boundary="_004_DB7PR07MB39952CD9518062E96DF6E7B59F4A9DB7PR07MB3995eurp_"; type="multipart/alternative"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB3995.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c0c1a77-39b7-4997-eddc-08db60250e35
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 May 2023 09:14:07.1130 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YrhCx8/ybe5ix0uGHd3pqrMUU6+xDe4i2rDZjyUUkAXIuRNMvh4/MCf/27kl8heJRMiXeVLYPOu8k3wHvtcI1v5KCrdSrODEOKeFErUdL3qPr+m65GRQbM35ch8YIn67
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR07MB7971
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/qd1QudRSDMswW5GC15n1GksuFmI>
Subject: Re: [Cellar] Zaheduzzaman Sarker's Discuss on draft-ietf-cellar-matroska-16: (with DISCUSS)
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.39
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, 29 May 2023 09:14:17 -0000


On 2023-05-29, 10:25, "Steve Lhomme" <slhomme@matroska.org> wrote:

Hi,

Thanks for your reply. Comments below:


On 24 May 2023, at 10:54, Zaheduzzaman Sarker <Zaheduzzaman.Sarker@ericsson.com> wrote:

Hi Steve, Hi Michael,

Please see my replies below (I hope the formatting holds in your view)

On 2023-05-21, 13:17, "Steve Lhomme" <slhomme@matroska.org<mailto:slhomme@matroska.org>> wrote:

Hi,

First of all, thanks for your feedback :)

> On 18 May 2023, at 20:00, Michael Richardson <mcr+ietf@sandelman.ca<mailto:mcr+ietf@sandelman.ca>> wrote:
>
>
> Zaheduzzaman Sarker via Datatracker <noreply@ietf.org<mailto:noreply@ietf.org>> wrote:
>>    - Top-Level Elements are optional fields in the segment. While
>> segment is a MUST part in the container but segments values (elements)
>> are MAY, this to me says one can just put a dummy segment in the
>> container and it will be fine. is that correct interpretation? however,
>> there is a RECOMMENDED segment element, so how should we interpret the
>> statement that Top-level Elements are all MAY?
>
> We struggled a lot with getting this text right.
>
> To make an analogy; when you sit down to eat, it's mandatory that you eat,
> and you MUST pick something from the menu, no actual individual item from the
> menu is mandatory to be present. (Distinguish "present" from MTI)

Actually, the \Segment\Info element is always mandatory (minOccurs = 1, maxOccurs = 1). It is also mentioned in Paragraph 6.1. You can’t have a Segment with nothing in it, the Info element MUST be there and some of its elements MUST be set (mandatory with no default values) like MuxingApp and WritingApp.

Right, so this also makes the statement – “Matroska defines several Top-Level Elements which MAY occur within the Segment.” not accurate. It seems like we will be in better position if we remove that statement and add MUST, RECOMMENDED, MAY for each of the top-level elements defined. This way we can also make sure the future extensions/versions are not impacted by this specification.

I removed the normative MAY in the text. It doesn’t need to be normative. Also this section doesn’t go into detail of what is mandatory and in what context. This is rather part of each element specification to know if they are mandatory or not.
[cid:D7A4D874-CE0E-4DE2-8EB2-710A5D66F471]
Turn the may occur in Segment non normative by robUx4 · Pull Request #781 · ietf-wg-cellar/matroska-specification<https://github.com/ietf-wg-cellar/matroska-specification/pull/781>
github.com<https://github.com/ietf-wg-cellar/matroska-specification/pull/781>


That is fine, but then I am wondering if we should also add such statements for each and every element specification in this document or not.


It is true that apart from that you could put nothing in the file and it would be valid, although pretty useless. Originally it was designed to also allow non-multimedia usage, for example using the Attachment part as a .tar replacement. It is also usable from a multimedia perspective to a Segment with just chapters referencing other Segments (Medium Linking) and no content in that one.

>
>>    - Even if the Top-Level Elements MAY be available in the container,
>> some of the elements has MUST parts when they are present. However, I
>> have not notices description of the consequences or error handling is
>> those MUST parts are not available in the elements. I wonder what would
>> be the course of action if the MUST parts of a certain element is not
>> there. In general, I was expecting error handling in this specification
>> which is not there and would like to discuss the reasoning behind it.
>
> Then the file is invalid :-)
>
> Whether it can be played anyway depends a lot upon the goals of the "player"
> If it's subtitles which are in a format your player can't do, then you don't
> get subtitles, but you might get A+V.  OTH, if it's a converter from A->B
> (avconvert, aka "ffmpeg" ) then it could be that you can just copy stuff you
> don't understand anyway.
>
> If it's a database doing indexing for an archive, then maybe all that matters
> is that the subtitles are good, and who cares if the V format is something
> unknown to the indexer.
>
> To make another analogy: some of this is asking what should the
> *TCP-state-machine* do if the content is flow is a version of Flash that the
> browser does not understand.  The answer is: they aren't really related,
> until of course, the browser notices it hates that content and pre-emptively
> closes the socket while there is still unacknowledged data in the Q.

The error handling is a good question. And as Michael said, it depends on the goal of the player. We can’t decide for players how to handle the errors, if they are recoverable in their code or not. For example if the checksum of the \Segment\Tracks is invalid some could decide to try to read the data anyway, some will just reject the file, most will not even check it.

IMO we can tell what is valid and invalid, but we can’t force a certain design on the receivers. Also the format has been around for 2 decades with lots of implementations. We can’t start now telling them they are not handling the errors has they should be.

Here my point is we completely ignored the error handling part and I think we have enough expertise to say something about it. In fact, a short summery of what you and Michael wrote here is good information to have in this document. After all this container is in use for a long time. Can we add that to this document?

On the other hand, if this container is there for a long time and everyone knows what exactly to do then one can say there is a very little value of creating this specification now. However, as we are long way here now trying to publish the specification, I would not give that comment much value.

I tried to write something as you suggested. However it all falls down to rules that derive from EBML error handling. There’s not really something specific to Matroska here.

Ok, I am however, was suggesting that we write something like below –

       “Particular error handling is not covered in this specification as this is depends on the goal of the players. It is upto the decision of the players on how to handle the errors if they are recoverable in their code or not. For example if the checksum of the \Segment\Tracks is invalid some could decide to try to read the data anyway, some will just reject the file, most will not even check it”

That is If this is really player behavior dependent, let’s just write it. (feel free to change the proposed text)

//Zahed