Re: [AVTCORE] John Scudder's No Objection on draft-ietf-avtcore-rtp-evc-06: (with COMMENT)

Stephan Wenger <stewe@stewe.org> Wed, 13 December 2023 17:15 UTC

Return-Path: <stewe@stewe.org>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 19D77C14F602; Wed, 13 Dec 2023 09:15:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.908
X-Spam-Level:
X-Spam-Status: No, score=-1.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=steweorg.onmicrosoft.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 3TclIpk0r2uT; Wed, 13 Dec 2023 09:15:21 -0800 (PST)
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2100.outbound.protection.outlook.com [40.107.236.100]) (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 996DAC14F5E4; Wed, 13 Dec 2023 09:15:21 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LYNmE4OpOiilOmJYAizQmuyikPPFmuu/iKwKlSu76t3HAC2iGcKC4O+toutZCVwuDRAQa4ny0MVukYrt2qv5CSAbJzBHUtyjStxPtqIRzF5/XNFlPvTNzNuN18cn73Q0fPMmHvcwHUX7IgRcD2dLYw6k3+fSQCKwdXWvEnvtPFfgEDYAtoG9Cbb+hFoapXQ/egbPXOwXSOzjc4JGOqo6b277GjMZDHD3ApPf/DoDw+7zK7SiWTGFPuPONSZ8O1De9xLgHcgW0U4BhOv63Ai3w2agzsWiTVKdJy6xf+6WsND5JKrfceGGFmFsjlW9E886rSuSbWTKUfHsorCIWZzA7A==
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=VC9Wz+jvjQF0wpigUsPjgsgCoIF4efol8BeqfAQhH80=; b=DycbVea4yNv3rgoim6HV0QS6abavz7uoMKajLEek1WjbEJHfPVEp2phASPR0HPdlD3hEMfMnL4/BCDGaZOYfPWW874r+DgATRj6G4+x5BpUI6pUT0iz9hWRv04YZvN36tdyVg0Yghx+oHuO0Uy08m7tLMg9IX3+18sKDePvNeDZv+Nb6ZDRqF34jwxE2cvFp7qC4WMPd3HRdhjhzNoRcshbfqtmArRzEamMWfQ0J6dStYm6n5fCx4qNV76kimAdRTCcnHi0NSHYDXyjcN1ygzGZ793WkrEMeNQu1Z4HRPo2PVcsbTQY9JOUpRKqQRzzmMoqyFSABkH6WBiS+xnn/SA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=stewe.org; dmarc=pass action=none header.from=stewe.org; dkim=pass header.d=stewe.org; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=steweorg.onmicrosoft.com; s=selector2-steweorg-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VC9Wz+jvjQF0wpigUsPjgsgCoIF4efol8BeqfAQhH80=; b=bduvCSQvPMcm3reqI+krvGklON5tlTQfl5nlCeQ13S+A+8SY0FKsufd6c1YPA7aY5ifm/YWNu8foBhBJblIo4kC3QjAUKLwmo6rN/6QAlw+EIqHtTfTOYnyKgI94FGKLh3jlV46LwR9tjxE3p8VZAoP+v9EYy620/k0ibs9ISTE=
Received: from PH0PR17MB4908.namprd17.prod.outlook.com (2603:10b6:510:d6::23) by IA0PR17MB6640.namprd17.prod.outlook.com (2603:10b6:208:3dc::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.26; Wed, 13 Dec 2023 17:15:16 +0000
Received: from PH0PR17MB4908.namprd17.prod.outlook.com ([fe80::b12:ea4:48af:1a6d]) by PH0PR17MB4908.namprd17.prod.outlook.com ([fe80::b12:ea4:48af:1a6d%7]) with mapi id 15.20.7091.022; Wed, 13 Dec 2023 17:15:15 +0000
From: Stephan Wenger <stewe@stewe.org>
To: John Scudder <jgs@juniper.net>, The IESG <iesg@ietf.org>
CC: "draft-ietf-avtcore-rtp-evc@ietf.org" <draft-ietf-avtcore-rtp-evc@ietf.org>, "avtcore-chairs@ietf.org" <avtcore-chairs@ietf.org>, "avt@ietf.org" <avt@ietf.org>, "bernard.aboba@gmail.com" <bernard.aboba@gmail.com>
Thread-Topic: John Scudder's No Objection on draft-ietf-avtcore-rtp-evc-06: (with COMMENT)
Thread-Index: AQHaLcB5Am+hPyfOvEWdzOgGMtzwpLCnVUCx
Date: Wed, 13 Dec 2023 17:15:15 +0000
Message-ID: <PH0PR17MB49088E41E59F40DE4D1F4FE4AE8DA@PH0PR17MB4908.namprd17.prod.outlook.com>
References: <170247075996.35227.14350240644730583614@ietfa.amsl.com>
In-Reply-To: <170247075996.35227.14350240644730583614@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=stewe.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR17MB4908:EE_|IA0PR17MB6640:EE_
x-ms-office365-filtering-correlation-id: 06719991-1a82-440a-548b-08dbfbff131d
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: pWwXsJXdMoHQLTG9yR8JqM/W34lX0skNFnILiohwvRMqCYvHzrHpz6nmCtZLokKbAhL63/gg1B+efJr4aZpQSCpVUUpsyNYSNoZFZrj9Ed9LXTJndVPfPcBGkk9gdEJxfKxBSozr9uOcRXqncab7uJ/YxwZhvUMNnlvthiwvpn7UN5+sefTj91WMDlYTDUrB0NFFoFICutwhp5RBUyHev3dJaABeYdRmsOJnt39e3Q+8RCNU8SrNOKDBP3cRTD5Kc/U6830S2w/OXc9y5ZLCkGvvK/mRZod4TRbPs3yN/Hv+4xbn3ark0MV+YIcmpitAEms17TBslnS3n5+oVMTXqtO5PRh+LNQd0vE6vB4sNQ5vfQnGBNhvyTfxuQeiecE348loJC9/Bnr7KKySEXMtStaPNQBK7liGGggWRlqXP+u+BzyZji7H1z3XSIkLCOVW7Nu1SOUW4Ef0uOa0d5kklVc4cC2ulZr2jzJ6ZB1aZEcy22O9UVH2p65e03NPdzoRibWvAKrLb1Xe48wprw5JuFudH3pt/n4m56ChXfvtiCgARMh6pvnNSE8HNgIB6HMQaZlK8ac3T8lAPFDLDyZ1mzGG7+0U8WgCQ15Zk/qXMPH3JBdm8pQCNYApUrENerqm
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR17MB4908.namprd17.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(366004)(376002)(39830400003)(136003)(346002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(66899024)(55016003)(26005)(122000001)(38100700002)(33656002)(86362001)(38070700009)(83380400001)(52536014)(5660300002)(53546011)(9686003)(7696005)(6506007)(71200400001)(30864003)(76116006)(9326002)(110136005)(316002)(66946007)(8676002)(8936002)(66476007)(64756008)(54906003)(66446008)(66556008)(4326008)(41300700001)(2906002)(478600001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: DU5tD0iQVBsEggabPbUKdmfOeGyErmGmPwUOgwBEdIOEaN+Roq+nA1Gdv1+obA6TL4+HATxt2GvShC8wn7rfFdH+SkT91q66hmoSJIaV5+htYdK11R/KJ2qXbBudeo0QM2zBYQyiQ7udlZOnZj3ukg/Pmjwf3A/b11xTYZEd9d7oKXCYsZXBxhzRGtmmZWHzgHCJGfNPe3opZsoCb6yNxnW/PFSu/OvwgYqR/kjav4U1VdTH+fMufMo/D6j+wX32gOaZoEIZM0K2H8szSaHt5OR2V5Zbts6zS3RHt5Wv0vjJehg9Kr9TrU0yEXUklUSUMy2HrT1fdOIjQDAXGNezeimVmE66LHHenAswrQAsn4NAkU1Udv5inv6kD1fQ4AmvhGSdb5kmcWh0ms2wZaPFshJ0RiIRkbWUUJDAU0LPYaWh55u3YSO9klexYWMI8Jz5SLnfdgL1MfLwA0Pcpmlg3Mfj+9JOZnqRcOQAw++ReaMDVzcC2yKbgW3YVLJJvlF8UKV5ZY+NPOTu7d02e8P9Krvr9E94AtWgrgOjHcP0qjtU7UADmuxmixFqlOtJ2quFXtv6ig/BDR+n4m1tdNtzyIoQL3zPEnE9imE0tfo1lroJPWt7KCjBb/kFZB8plDHM22P5899FYhSChet/mC99NUVK4vGjJ2mZjjFUlCxUEH1CkQ+2BPqPPR3NN/CyAMVYSDD1tDUnyA2T3cNf6R4XIr3K+GETiXWUbHc6lvj8N3ikVaw6zv5F8i4Zzl9LnV2d0D+176aQrAyxB9u3xfFNV5z8hR17oh4RnDzFCpYPsZV2Q9fvmuHhV2j5Xyle1KvOFZtVXYWhjaCEntlGcFKeTP1JegHQYVMCOGWp4UyxutygGBY7e7gXmPmYt+S5mdvdYUGgRv6ErnasWRvpmwVOsAcMunVCS95/10k8sHeG78MJCjQIKwms4wbeB3IVFafUa63Aq1CbW+Dxu5VbYdEW4bGBQZ0mJvyLFjkUIoTBoP4Tuhy0XjkdjIRBvyoEyBBoq3N4b3Zoai0Df3ihWFobEJl/ZgQMZmDerAiWl9BJHJI8yX9neO+DTTURJaUZS4qnaqCf4Rr/mLzsjmNBBZUxLMX/jxf3PvzZCnJ9DV40li7espeoKtDvn/Uy422wRvowagia3jVfx/Leb/hlDE7Vgc/Vid+CdanIoaXYBOIYlhvS48yEgHiGRQo1rCc8Fx2luarqxuCvxS3uc11w+aGVJhbvEXw7nHwyDKZjUDOSKZD0Hz9DjwTpcVBz20kRfBVe2SjaoZb2iCfAii3x1gVQAufyEA0k77Jv9UbZ1v27pNRS9pyDwvvU5GjwxxeByNzSPBY2NvgZcKa0MlQo2tD2PGFVArAgPNUC18WBd01sNmhxUR2Iaq8833+S5gqhEOeCRmmXQQCArh3gYWK2+nJIiKxaOI4Sy7moUn6LENmkucJHH7xILq0jh1axqPvOZwI1adr3UfnFJ/V+ZIdJoEOvvP3G42bHIL4OlDa+cL9PnTR+UZ8gVM0GFBf6w4KuaLLRGJ/xvIXvk5qCUjwh7CrWHyxXllYBxw4z+Q/f/vkGa2hsdziD5zl0VMgXLY4eTxkQ
Content-Type: multipart/alternative; boundary="_000_PH0PR17MB49088E41E59F40DE4D1F4FE4AE8DAPH0PR17MB4908namp_"
MIME-Version: 1.0
X-OriginatorOrg: stewe.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR17MB4908.namprd17.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06719991-1a82-440a-548b-08dbfbff131d
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2023 17:15:15.8854 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 865fc51c-5fae-4322-98ef-0121a85df0b6
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Sog73DCVzy6djbxMH8WkSinZ/j6093d18O8HyQqS94DPZEsZoMjuSuLIghllq06a
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR17MB6640
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/ZtLtKSywPYggylJDtRiXXI8H5FI>
Subject: Re: [AVTCORE] John Scudder's No Objection on draft-ietf-avtcore-rtp-evc-06: (with COMMENT)
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/avt/>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Dec 2023 17:15:24 -0000

Hi John,

Excellent review.  Thanks.  Please see my responses inline.  I apologize for the wordcount, but I think that such a thoughtful review requires quite a bit of context and explanation.

Would you please sign off on the resolution of the MUST RFC 2119 codeword in section 6?  While you have not raised it to DISCUSS level, I have mentally done so for myself :-)

Thanks,
Stephan

From: John Scudder via Datatracker <noreply@ietf.org>
Date: Wednesday, December 13, 2023 at 04:32
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-avtcore-rtp-evc@ietf.org <draft-ietf-avtcore-rtp-evc@ietf.org>, avtcore-chairs@ietf.org <avtcore-chairs@ietf.org>, avt@ietf.org <avt@ietf.org>, bernard.aboba@gmail.com <bernard.aboba@gmail.com>, bernard.aboba@gmail.com <bernard.aboba@gmail.com>
Subject: John Scudder's No Objection on draft-ietf-avtcore-rtp-evc-06: (with COMMENT)
[…]

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Thanks for this document, which I found to be well-constructed and well-written
if one allows for my complete lack of expertise in the subject area. I have a
few comments below that I hope might be helpful.

(Ballot revised to correct a cut and paste error, no substantive changes.)

## COMMENTs

### Section 1.1.4, Type field description appears to be wrong

As best I can tell from my skim of [EVC], the type field, although six bits,
can only represent values from 0 to 62, not the more obvious 0 to 63, and uses
an oddball encoding, viz

   NalUnitType = nal_unit_type_plus1 − 1

[…]
Thanks for this!  We will investigate further and if there were a bug, we will correct it.  That will require some thinking.  If there were indeed a bug, the same bug is likely present in a number of RFCs specifying payload formats of the H.26x series, so this is a comparatively big deal for us!
As you were curious for the reasoning of the numbering range: the syntax element nal_unit_type_plus1 (lower case, with underscores) represents bits on the wire, and has a value range of 1..63.  The value 0 is reserved to prevent start code emulation.  Historically (pre 2003), video codec bitstreams used 15 or 23 or more consecutive zero bits followed by a 1 bit to indicate the start of a coded picture.  In H.264 (ca. 2003), the startcode was placed to the start of each NAL unit.  The NAL unit header is one of the few syntax elements that are outside of the start code emulation prevention mechanism of section 7.4.2.1., for reasons I could explain, but that would take a lot of letters.  We had to make sure that in the 16 bit NAL unit header there are at least one nonzero bit, and that was solved by disallowing 0 for nal_unit_type_plus1.  Once that value is parsed, the logic of the standard is such that the value of nal_unit_type_plus1 minus 1 is assigned to a variable NalUnitType (identified by capitalization and no underscores), and only that variable is used throughout the rest of the EVC spec.  The value rage of that variable is 0..62 inclusive.


### Section 4.3.3

“If an FU is lost, the receiver SHOULD discard all following fragmentation
units in transmission order corresponding to the same fragmented NAL unit
unless the decoder in the receiver is known to gracefully handle incomplete NAL
units.”

I assume you don't want to get into the weeds of telling implementations how to
determine whether an FU was lost, or if it was merely out-of-order, delayed,
etc. I wonder if this should be reworded in terms of saying that a fragment
shouldn't be presented to the decoder unless all prior fragments have already
been presented.

Also, this paragraph appears to conflict with paragraph six of Section 6, which
as I read it, tells me that the decoder should only be presented with a
complete reassembled NAL unit. The text above seems to say that it's OK to
truncate, the only thing not allowed is presenting a NAL with a hole in the
middle.

This issue was also spotted by Eric and is subject of his discuss.  We will fix it.


### Section 6

“All normal RTP mechanisms related to buffer management apply. In particular,
duplicated or outdated RTP packets (as indicated by the RTP sequence number and
the RTP timestamp) are removed. To determine the exact time for decoding,
factors such as a possible intentional delay to allow for proper inter-stream
synchronization, MUST be factored in.”

Normally I expect that a MUST will be more specifically prescriptive without
requiring the implementor to exercise imagination or creativity. The one here
seems to be of the form “implementations MUST do the right thing” which seems
not that helpful to the implementor. It’s not wrong as far as it goes, but the
RFC 2119 keyword seems out of place.

Another tricky one here.  Thanks for your diligence!
The language you are reciting above has been around verbatim (plus/minus capitalization of the word “MUST”; see below) since RFC 3984, ca. 2005.  In RFC 3984, the depacketization section was labelled as informative and hence sloppiness in drafting was to be expected 😊  RFC 7798 (HEVC payload, 2016) inherited the language.  The section there was normative, but “must” was not capitalized while the “convention” section 2 said that only capitalized MUSTs indicate a normative behavior.  Insofar, in RCC 7798, that lower-case “must” was to be interpreted as plain language.  I vaguely recall discussion in the working group at the time along the lines of your argument, and the outcome speaks for itself.  It was not a drafting mistake.  Fast forward to 2021 and the VVC payload, RFC 9328.  Here, we capitalized the MUST, and no comments were received from the WG or during IETF last call, nor from the IESG.  I don’t recall a conscious decision in this direction, and, after your comment, do consider it a drafting mistake.
Based on your comment, I think RFC3984 and RFC7798 were doing the right thing in not stating an in practice not actionable “MUST” requirement.  The minimum change would be to change the “MUST” to a “must”, arriving at plain language.  Would that address your comment?  If so, I will also submit an erratum against RFC 9328 requesting the same change.

### Section 6, paragraph 5, not-completely-minor nit

I haven't noted most editorial/idiom things I noticed, on the assumption the
RFC editor will do a better job with them than I would anyway. But in Section 6
there is "make a difference from”, I assume what you mean here is "distinguish
it from". If not, please say more.
Will fix.


### Section 6, paragraph 9, one last not-utterly-trivial nit

“After initial buffering, decoding, and playback are started, and the
buffering-while-playing mode is used.”

I think this should be, “After initial buffering, decoding and playback are
started, and the buffering-while-playing mode is used.” My edit deletes one
comma. Sorry for the picky edit, it could make a difference for
clarity/ambiguity so I'm calling it out. (When Grammarly saw my edit, it wanted
to restore the comma I removed. Grammarly is wrong in this instance.)

Will fix.

## NITS

- It’s regrettable that a lot of abbreviations are used in Section 1, but
they’re only defined in Section 3.

It is, and we had that discussion time and time again over the generations of video payloads, both in the WG and in IESG reviews.  The justification for the forward reference is that to the likely reader (outside of review processes), the vast majority of those acronyms are known, and that spelling the out would not be helpful as they are, also in their vast majority, terms of art to those in the know, and just gibberish to the rest.  If we were putting pages of acronym definitions before any useful text, the document not only looks awkward but was previously found close to unreadable.  I prefer to not act on this nit.

- It seems a little odd that only some Section 1.1 subsections are labeled
“informative”. Isn’t the entire description here non-normative, since the
actual payload spec is [EVC]? (And is "non-normative" what you meant by
“informative”?)
Subsection 1.1.4 is NOT labelled as informative, because the NAL unit header is being referred to later in a normative context.  This was subject to WG discussion (I think in the context of a shepherd’s review, but may be wrong).
“Informative” is ISO language.  Unless there’s a clear preference in the IETF of using “non-normative” over “informative”, I prefer not to change that word, because the key audience (implementers) are in our experience more familiar with ISO specs than with IETF RFCs.  (To integrate an EVC video codec in a system using this RTP payload format, you need to understand a good part of the 340+ pages EVC spec.  You need to grok the payload spec.  You need to understand typically only a small part of RTP (RFC 3550)—for example all the multicast support language is a no-op in practice for almost all systems.  And, you don’t generally care about the rest of the IETF’s body of work.)


- Although the specification appears to be clear and well written from the
point of view of consumption by someone who is already an expert in the field
(or so I'm guessing!) it's a somewhat dense read for a non-expert. Some of this
is unavoidable, but there is also some avoidable density due to the use of
abbreviations with no obvious mnemonic.
See above.  The intended audience are indeed people who are familiar with dense specs.  You did look at the EVC spec—that’s dense.  Compared to the EVC spec, we are positively verbose and over-explanatory here.
One example is DONL. Another example of
a symbol that would've helped my understanding to have glossed much earlier is
“sprop”. Eventually, I found Section 7 that enabled me to infer it's short for
"stream properties". Too late for me, but maybe not for future readers.

The concise—perhaps over-concise—ISO -style language surrounding interleaving and DONL has been identified as a pain point during reviews before.  However, it has never been a pain point to the intended readers and implementers.  I haven’t been involved in interop events for more than a decade, but in that distant past when I was involved, the DON/DONL mechanism of RFC3984 has not been an issue—those people who wanted to use interleaving, got it right.  I also don’t recall a single email to myself or to the AVT mailing list asking for clarification, outside of review processes like this one.
The situation with sprop is a bit more complicated, mostly because (independent of the terminology) the concept of stream properties in SDP was new when we introduced it in RFC 3984 IIRC.  We had real, new, technical complexity here.  So we had questions, and (I guess) people probably got a thing or two wrong.  However, since then, those who care about SDP (today mostly the webrtc crowd) either got it, or they simply don’t use those optional codepoints.  Be it as it may, I have not heard about confusion surrounding sprop in the last several years either, and that despite webrtc becoming more mainstream.  Perhaps that is because all the sprop stuff is optional and mostly useful for optimizing resource management in the decoder—something that was critical in 2005 but is rapidly becoming a non-issue with systems becoming more powerful every year.
I don’t believe we should act on this nit.