Re: [Cellar] Zaheduzzaman Sarker's No Objection on draft-ietf-cellar-matroska-17: (with COMMENT)

Steve Lhomme <slhomme@matroska.org> Sat, 17 June 2023 14:40 UTC

Return-Path: <slhomme@matroska.org>
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 B8CA3C151B2A for <cellar@ietfa.amsl.com>; Sat, 17 Jun 2023 07:40:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.893
X-Spam-Level:
X-Spam-Status: No, score=-1.893 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=matroska-org.20221208.gappssmtp.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 i-VBChQ8d7Ua for <cellar@ietfa.amsl.com>; Sat, 17 Jun 2023 07:40:47 -0700 (PDT)
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F36B4C151B27 for <cellar@ietf.org>; Sat, 17 Jun 2023 07:40:46 -0700 (PDT)
Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3f8c74af64fso14163565e9.1 for <cellar@ietf.org>; Sat, 17 Jun 2023 07:40:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=matroska-org.20221208.gappssmtp.com; s=20221208; t=1687012845; x=1689604845; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3JM4/jcf+QWSkNReeME3litAuE0z086SVpdd+C4CarE=; b=JY2o9pBfkrhD4ROzmtMH4IVwHsk/biJ2WsvoFcsxKGtPwVvxQWbCJDMK5DY3vmnY3u hx8j2MhgxkM8DsMFGXcnYvGVBAXv8p+8YuGg9EFyJPMACV/LrtfoDCEQ80QSo+Y/y0bO wZNzQxNdHO6XNR/B7z2GHGJULqzsuuLebDFB+X9uW4FMOyOlWHUbG4z/8yOuVY0vOaKe LfdZJ4e/v8D7MyHBvcZfMD29XfMRe5VTSLSkbD4JSs68dTKCk92mpR6V7KMTUMZ6MPtc 9+l5xfk3eLlR3QmnKUROPgLoyXY1CQSTNI9+xkG53eOpNycOmMiQSuASXbZQIYf6vlCI NiTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687012845; x=1689604845; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3JM4/jcf+QWSkNReeME3litAuE0z086SVpdd+C4CarE=; b=OB5iQvSUXsqGDgPM7/ApuOU2sKIMFtddV0B5bIN/cBn99PrP6uxbZBGAJsZFG5Ejls tlnsGINbWoc1nufoa+nCnya1Wge38gt2C/T+tV3beTHdZYpkbwUvaLZHMYpOHWVxc22R mKBTcTgv53EqtdXFrTysLQQzjKmR//+Zqjtk87LuxIh+3lvEa6+wIv7WRIvu0B7MIJu5 WZ9mfuydDgU+QuEMxUdpphW52HRtv9kFKjwvurk39ZZwDTwDw7jPRV4PZvEZE7Q7jidx RxR6pRU5LW9NOphZzGVKIs9tO10QvSOpVNELc/hMwt+pm31UH2Gu2Kg7lTlfKqtd9oMK LGIw==
X-Gm-Message-State: AC+VfDyW+I+1Ab2ZK4h0J3lk+DQTO8jcaFfcYhLN6gU10tKs829UQWHi dIStnjG++CTIMbwwlEJh5ZcinQ==
X-Google-Smtp-Source: ACHHUZ7C5SSty3QxMZTZBRvnk5ZVQp7Iaro9EbRa+5kmq9suYbWfgGCCcKkuWo0xllpMnTM1EMoPag==
X-Received: by 2002:a5d:6292:0:b0:30f:cf67:564e with SMTP id k18-20020a5d6292000000b0030fcf67564emr3486961wru.62.1687012844754; Sat, 17 Jun 2023 07:40:44 -0700 (PDT)
Received: from smtpclient.apple (2a01cb0c0020e900f05919287b3f4a8c.ipv6.abo.wanadoo.fr. [2a01:cb0c:20:e900:f059:1928:7b3f:4a8c]) by smtp.gmail.com with ESMTPSA id t12-20020adfe10c000000b00307acec258esm26401121wrz.3.2023.06.17.07.40.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Jun 2023 07:40:44 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\))
From: Steve Lhomme <slhomme@matroska.org>
In-Reply-To: <168590490856.13074.6376138442611037630@ietfa.amsl.com>
Date: Sat, 17 Jun 2023 16:40:29 +0200
Cc: The IESG <iesg@ietf.org>, draft-ietf-cellar-matroska@ietf.org, cellar-chairs@ietf.org, cellar@ietf.org, mcr+ietf@sandelman.ca
Content-Transfer-Encoding: quoted-printable
Message-Id: <EF4124C9-5937-49AE-9746-CF73A57B16B6@matroska.org>
References: <168590490856.13074.6376138442611037630@ietfa.amsl.com>
To: Zaheduzzaman Sarker <zahed.sarker.ietf@gmail.com>
X-Mailer: Apple Mail (2.3731.600.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/7AgoZLFTI01YyHKcfQ1dWkJtN3Q>
Subject: Re: [Cellar] Zaheduzzaman Sarker's No Objection on draft-ietf-cellar-matroska-17: (with COMMENT)
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: Sat, 17 Jun 2023 14:40:50 -0000

Hi,

Comments below:

> On 4 Jun 2023, at 20:55, Zaheduzzaman Sarker via Datatracker <noreply@ietf.org> wrote:
> 
> Zaheduzzaman Sarker has entered the following ballot position for
> draft-ietf-cellar-matroska-17: No Objection
> 
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
> 
> 
> Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ 
> for more information about how to handle DISCUSS and COMMENT positions.
> 
> 
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-cellar-matroska/
> 
> 
> 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> Thanks for addressing my discuss points.
> 
> Copying the discuss points below -
> ======================================================================================================================
> However, I have two observation/questions that I would like to discuss to have
> clear opinions and better understanding.
> 
>    - 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?
> 
>    - 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.

We don’t tell how to handle errors because it’s really up to the app/library to make these decisions based on the goal of the software. There already exist plenty of existing implementations that handle each error differently. We can tell people what they should and should not do but in the end we can’t make these kind of decisions for them. For example a streaming may just skip bogus data and some other will just decide to stop playback because an error occurred. There’s also a huge number of ways things could go wrong. It wouldn’t be possible to cover everything, so developers would still have to decide for themselves anyway.

So going back to your previous question, an (almost) empty Segment is valid. But in the end it’s useless. It may be created and spread by accident. But in the end it’s harmless. There’s no content to be tried to be played. However there is one Top-Level Element that is mandatory: the Info Element which gives a short description of what is in the Segment. There’s a duration which cannot be 0 if it’s set. In that case there must some content to play (Tracks + Cluster) element, otherwise the element would be lying. If there’s no duration, it’s possible to have links to other segment (within the Info Element or via Chapters).

There are 2 elements that are mandatory in the Info Element: Muxing App and Writing App. That’s the minimum you can have in a Segment. Any reader should not expect other elements to be there and act accordingly. There’s probably a bunch of implementations that would not like a Matroska file without a Track description. But the element was never mandatory so they did it wrong. Just like some reader expect certain sizes for the EBML header. These are bogus implementations that work most of the time.

I hope this clarifies things for you.
Steve

> 
> _______________________________________________
> Cellar mailing list
> Cellar@ietf.org
> https://www.ietf.org/mailman/listinfo/cellar