[Moq] Re: Knowing the start of a Subgroup
Luke Curley <kixelated@gmail.com> Thu, 30 April 2026 16:24 UTC
Return-Path: <kixelated@gmail.com>
X-Original-To: moq@mail2.ietf.org
Delivered-To: moq@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 77A60E6BC2E5 for <moq@mail2.ietf.org>; Thu, 30 Apr 2026 09:24:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1777566248; bh=D+jie/MnKz5MYqd9cnCLwaQ39A5DPWgQ8Rl8c1yVnaA=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=b2lMhMaDrtVGsPrmrTy861N4KJhvWlbwUpWPMFdTR6zBndHrjJUB1c3zL5gsZDYSn eda7qXk/65ePGGiiS5xIj6q0XzifcF8NyLpoZ+PHUHz9G/AFYi8m9ioeG8yo0NFnFJ AX3Uuf14QCTH8V/1MAmPBsBagVA/5vncUUD3TYzg=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.098
X-Spam-Level:
X-Spam-Status: No, score=-1.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_GMAIL_RCVD=1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7VHqxE5tTE3m for <moq@mail2.ietf.org>; Thu, 30 Apr 2026 09:24:07 -0700 (PDT)
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id C611AE6BC2D0 for <moq@ietf.org>; Thu, 30 Apr 2026 09:24:07 -0700 (PDT)
Received: by mail-lj1-x22a.google.com with SMTP id 38308e7fff4ca-38e8292423fso9419631fa.0 for <moq@ietf.org>; Thu, 30 Apr 2026 09:24:07 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1777566241; cv=none; d=google.com; s=arc-20240605; b=VoMl7tNDjtFmPYclavyQZvNcG0Yo4q3hTk3LnB4wWKlO7JApD1G3SNkydQett3Prti sSDnmgskOUhTqkw5/8Zaq6ikKtdKfl87e5kotUA6pGpmOR2R6rFhheDHM08iuEvdGqok H14UiVCXNiQcvtLiCSC1i3Jh5XUKs0vDPLy6JSHgumHV5X156s6w3ekePdS5459L/cyc nGDBp+BH1v5jkhlA3/aQCQeUWWarKH2RtoM3lLwCmOYcy8R8Rf9S6eIrrGhBGmOKxSF1 ucRSXJb+RJgFZe4Ge7tYWencLsxcvxlOiQfNOXaNMIIl1ZqoujPqEG6XrwnGLDaHyfwE cakA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Xwo9WcZ16KCUfVxTm5QMR+ugX0EWpQqiRA+Ua23KVjY=; fh=07N9tXjpF4ereuWAoSPKu7RNBEWEGcCXZH9q3yGI2vo=; b=NFQNjuHJol7Gxn+vg52uDxt6e4YEDg6qKea1GVZ3WenotkQj9h8I8rfkmk8tNI1anX n8KfGrJrK/NtLhVfjss+vLLhjwLEDZObiQ3PRlZE9GvwkU/luxMWeEUaXZSrmsm8Y6HO DLZv11+atU0uo7KEM3Xnx3rTqGLABxEXX4Ajmf7Z0yq3HxcBMey15TKVRYolnDpR//vp vp86QxnOlDVE5QWTWVdZlp3e8T2jgKo2+8Dx4DsoJE22okzCRBbS4ebxpNKrwJ5/nKqI GZJvEJ1r1/FQsUdyNlTeHDVr94g5JMTaHFtKYXGjiAoknVB5c7JiQYwLOodQDdPUZtKZ k/Bg==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777566241; x=1778171041; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Xwo9WcZ16KCUfVxTm5QMR+ugX0EWpQqiRA+Ua23KVjY=; b=rPm3F8WlNCMzXQ/9h7Rssm1I4rUvUpMPWkW2klmSKUnXBeYmWfl/bw41VmwwsX2fnv O4kbAwsUmVM7+Cu1kJHKvnX3H0A41hRPcwD050oVzejib4rbd6JOcGVf/ZydMJ7ly5eq OFbREEWDWKZKNeM5v2PO0PfMC+ynZIuLsjHHU1TpjXDi0EOwZT0VJFVI3gpjhagDK0ZZ i6oVOImChe+Fq6VJGe7VUTIAnLU+uX1aEbj2fC2hWCGhn4EZsEdrnVEkrTENVwZtSgBy J0qpwLKmRSwYX2TrOxnt1xcU+m3HiklCrHBfA3SOuvtvVYZ9uxJhU3elLFKj9oReBvTV 0gJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777566241; x=1778171041; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Xwo9WcZ16KCUfVxTm5QMR+ugX0EWpQqiRA+Ua23KVjY=; b=nycZ9AH2OLwegfrZwUs/VNMQgMvhJzyDoCoyyTeiLrU/B3gvnRjzFSzdv0Rpu85m92 QtcQjeSh9l6KtVuCECV3FdKTKXexL5WaxDvyvdi8XAjnRptnQka6KT0RudwAkU7sgjbk /8TkRN7neiLWerNwVxMtxMPcJyVVRBIjs4o7GYsjeLORtbjJx82zl6EytJOXLUelkdMf vT1QFHooNBGqlupEHOQg+91geHQbph1VWsJwcyiMPElFkCftUUEU7M3OEZr15uSRd874 7rLuV/MiXWg4+isme3Z1Amd8U4y6gzI5bN+iTzjz5TeXrIWi+iM2e1gOqtHY7ip4Z5az ZGdA==
X-Forwarded-Encrypted: i=1; AFNElJ/Hnj/0vaGid0iSsJ7BuYnhIje/oJDek6HQuG2xvMna1CDfn9BSk7Sw08J+g8MIQGXbrhU=@ietf.org
X-Gm-Message-State: AOJu0Yx0cvAQTe9iiEaOBo43pGGscumzM8EldXDFAZYxnQRXnl8PWLKy 7KbS5ZDTvoxsEAYU0Cl0+30FByTdKU2Hbpu5m8SKVUv05Xd+8AJTjppaXrkuLkgc8o7TyETB/ea RmGK0GCgoofZ5C1iODnfVRXcSv1trYmE/dOQ/
X-Gm-Gg: AeBDievowWs+Vee6I3XPXQSP1K4F5dWV6WKNiVoMm/OwuQ38yFX2HGOPvfkqyi1smqt I4WX2R2jTuPBxmLxfbN8PkRvWoiIHTpQ5/QHiPmNIG5st8HvLSF49ugokj0ZHskaAe0SjPjzd0y Cr7rb61zaQHG3o6c5mLN4Zv7N7FfHc/J7XG+Q9FiBx3QCAakpxyAeWofbUaON4jz9+ZQ/EodS/K 6kDdICMs6yNnG4fRETnV/pmhg8S7mGWm5mz/Ft4YbCp+vxUmT6rOdMz5LTbZC2BksJXmTTAKoEe vq9J3jo8hrhWQOy/3FkUowQMu81mBVAZRJY258fDrO673pRiABM=
X-Received: by 2002:a2e:a801:0:b0:38e:55a2:db7f with SMTP id 38308e7fff4ca-3934e1e4f08mr14745491fa.16.1777566240205; Thu, 30 Apr 2026 09:24:00 -0700 (PDT)
MIME-Version: 1.0
References: <CAKcm_gPTt1pcHEfyHQYeqGHL6NHYTb7RkZKHoaR-7ofZg=yoTg@mail.gmail.com> <2C11C671-0812-4152-9804-03C80372B164@iii.ca> <FRWPR07MB106246C776844E65C4F57FE3795352@FRWPR07MB10624.eurprd07.prod.outlook.com> <CAKcm_gORGM_mGyNkC0UQYWEwoFMWneBZDMnwgGfWt22TiJBo0A@mail.gmail.com>
In-Reply-To: <CAKcm_gORGM_mGyNkC0UQYWEwoFMWneBZDMnwgGfWt22TiJBo0A@mail.gmail.com>
From: Luke Curley <kixelated@gmail.com>
Date: Thu, 30 Apr 2026 09:23:49 -0700
X-Gm-Features: AVHnY4KuhxOkr4kSulNV3uGU4UzJHRStxP31e59MF0iAXUkzl4iQY8SnH62a-R4
Message-ID: <CAHVo=ZmBZVJBLQFWS8HmKHOKetyrhpi40fShwhV-NFZ9L57ayg@mail.gmail.com>
To: Ian Swett <ianswett=40google.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="0000000000004fece70650afe485"
Message-ID-Hash: EL3MEGZKHOK2KWUZJ7SE3XYZI2ZWLBKE
X-Message-ID-Hash: EL3MEGZKHOK2KWUZJ7SE3XYZI2ZWLBKE
X-MailFrom: kixelated@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Magnus Westerlund <magnus.westerlund=40ericsson.com@dmarc.ietf.org>, Cullen Fluffy Jennings <fluffy@iii.ca>, MOQ Mailing List <moq@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Moq] Re: Knowing the start of a Subgroup
List-Id: Media over QUIC <moq.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/eIEyCkv8E2dwf-bduz5s_hOnsPg>
List-Archive: <https://mailarchive.ietf.org/arch/browse/moq>
List-Help: <mailto:moq-request@ietf.org?subject=help>
List-Owner: <mailto:moq-owner@ietf.org>
List-Post: <mailto:moq@ietf.org>
List-Subscribe: <mailto:moq-join@ietf.org>
List-Unsubscribe: <mailto:moq-leave@ietf.org>
I missed the interim, what's the use-case? The original issue is about saving a byte or two when Object ID == Subgroup ID. That seems like a simple encoding flag that doesn't require changing the API. I would not require that Subgroup ID equal the first Object ID. If you use sub-groups for SVC, you *should *have a catalog entry indicating that sub-group N is an enhancement layer with parameters X (even just for filtering). But without tight control of the encoder, there's no way to enforce that frame N is the first frame of sub-group N. You'd have to +100 each sub-group ID (or something) just to maintain this contract for the first frame of a sub-group... and for what purpose? A flag indicating an object is the first within its sub-group would be easy. However, that information is already implicit via FETCH or SUBSCRIBE object arrival order. I'm not sure *why *we suddenly need an explicit flag, but whatever; it's just a bit. A flag indicating an object is the last within its sub-group would be very tough. Encoders don't emit this information, nor would an app know ahead of time that there will be no more deltas. You only truly know that a group has ended when a new group begins and a stream FIN accomplishes this just fine. On Thu, Apr 30, 2026, 8:11 AM Ian Swett <ianswett= 40google.com@dmarc.ietf.org> wrote: > Thanks for clarifying. Using subgroup IDs in the catalog is an > interesting usecase I hadn't considered. I'm not sure this would cause > practical problems, but I need more time to think about it. > > Regarding consistency, today we indicate the end of the Subgroup with a > stream FIN, not a bitflag on the Object. So I actually think using Subgroup > ID==Object ID is more consistent, but that's my opinion. > > When we originally created Subgroups, we needed an ID to stitch them > together in case they were split apart. I'm not sure anyone intended this > be exposed to the application, but it sounds like you want to? QUIC > doesn't expose Stream IDs as part of its API, which was an intentional > choice and mostly a good one. > > If we go with the bitflag approach (#1618), are people ok with requiring > it be set on the first Object in the Subgroup? Requiring it gives the > feature a lot more value IMO. > > Also, do people want to resolve the undefined prioritization between > Subgroups and datagrams in some way? > *"3. If two objects in response to the same request have the same > subscriber* > > > > > * and publisher priority and belong to the same group of the same track, > the one with **the lowest Subgroup ID** (for objects with forwarding > preference Subgroup), or **the lowest Object ID** (for objects with > forwarding preference Datagram) is scheduled to be sent first. If the > two objects have different Forwarding Preferences the order is > implementation dependent."* > > > Thanks, Ian > > On Thu, Apr 30, 2026 at 5:22 AM Magnus Westerlund <magnus.westerlund= > 40ericsson.com@dmarc.ietf.org> wrote: > >> Hi, >> >> My worry is exactly related to that one would like to bind sub-group IDs >> to catalog info making clear what improvement a particular subgroup >> contains. I think this matters in two ways. First related to end subscriber >> processing it during decoding operations. This also matters if one want to >> use the sub group filter as the subscriber need to know that the publisher >> uses the subgroup IDs consistently. >> >> With the proposal in place I think it limits the possibility to apply >> additional constraints on the object IDs. For example if one want the >> object IDs in decoding order without gaps across a full tree of different >> sub-groups then one have a constraint that may be difficult to fulfil if >> one need to reconfigure the encoder between groups to handle bandwidth >> limitation between the original publisher and the relay. The >> reconfiguration could mean skipping a sub group completely in this group. >> This will require a gap in the object ID to skip over the object ID = sub >> group ID. >> >> Yes clearly if one assign no additional semantics and accept gaps in >> object IDs the idea in #1608 can work. However, I think it is limitation >> that people with more advanced use cases in the future will be annoyed with >> and may result in significantly more additional signalling about gaps etc >> than an explicit start of sub-group indicator would require. >> >> Cheers >> >> Magnus >> >> >> >> *From: *Cullen Fluffy Jennings <fluffy@iii.ca> >> *Date: *Thursday, 30 April 2026 at 07:08 >> *To: *Ian Swett <ianswett=40google.com@dmarc.ietf.org> >> *Cc: *MOQ Mailing List <moq@ietf.org> >> *Subject: *[Moq] Re: Knowing the start of a Subgroup >> >> >> Three thoughts …. >> >> 1) I don’t deeply care about this one way or the other but I think we >> should make it mirror the end marker bits. If the original publisher knows >> it is the start, or knows it is the end, it should add the marker. I think >> we should deal with start of track, start of group, at the same time as >> subgroup as it is the same issue. >> >> 2) Imagine a case where you want to refer to the SubGroup ID in the >> catalog to explain what layer of a codec is in that subgroup. And assume >> you want the object ID to increment by 1 in the group. I'm just not seeing >> how it works in this case. >> >> 3) Mostly I don’t worry about how we spell it on the wire but FWIW … My >> gut feel is we are pinning to very weird implicit signaling by taking two >> things that have nothing to do with each other, the subgroup id and the >> object id, then saying if they are equal, it means some third thing. I’d >> rather just explicitly signal the third thing and not have it be some >> implicit convention on how to use the first two things. >> >> >> >> > On Apr 29, 2026, at 3:10 PM, Ian Swett <ianswett= >> 40google.com@dmarc.ietf.org> wrote: >> > >> > In Monday's interim, there was strong interest in knowing what the >> starting Object Id of a Subgroup is, just like we know the end today. >> > >> > My proposal (#1608) was to require the Subgroup ID equal the Object ID >> of the first Object of the Subgroup. The original publisher would do this, >> and it would naturally be preserved downstream, just like Subgroup ID and >> Object ID are today. Some people had concerns with this, but I don't think >> I fully understood them? If anyone wants to spell them out in more detail, >> that would be great. >> > >> > To clarify, this retains the ability to stitch together a Subgroup that >> arrived on two separate streams for whatever reason. That is a core >> requirement for Subgroups. >> > >> > I'm not set on my particular design, but I reviewed #1618 (which uses a >> bitflag) and I think #1608 has two important advantages: >> > 1) It's required >> > 2) If you receive some Objects from a Subgroup, you know if the first >> one is the first Object in the subgroup. >> > >> > Thoughts? >> > >> > Thanks, Ian >> > -- >> > Moq mailing list -- moq@ietf.org >> > To unsubscribe send an email to moq-leave@ietf.org >> >> -- >> Moq mailing list -- moq@ietf.org >> To unsubscribe send an email to moq-leave@ietf.org >> > -- > Moq mailing list -- moq@ietf.org > To unsubscribe send an email to moq-leave@ietf.org >
- [Moq] Knowing the start of a Subgroup Ian Swett
- [Moq] Re: Knowing the start of a Subgroup Alan Frindell
- [Moq] Re: Knowing the start of a Subgroup Cullen Fluffy Jennings
- [Moq] Re: Knowing the start of a Subgroup Magnus Westerlund
- [Moq] Re: Knowing the start of a Subgroup Ian Swett
- [Moq] Re: Knowing the start of a Subgroup Luke Curley
- [Moq] Re: Knowing the start of a Subgroup Mo Zanaty (mzanaty)
- [Moq] Re: Knowing the start of a Subgroup Alan Frindell
- [Moq] Re: Knowing the start of a Subgroup Suhas Nandakumar
- [Moq] Re: Knowing the start of a Subgroup Luke Curley
- [Moq] Re: Knowing the start of a Subgroup Cullen Fluffy Jennings
- [Moq] Re: Knowing the start of a Subgroup Ian Swett
- [Moq] Re: Knowing the start of a Subgroup Mo Zanaty (mzanaty)
- [Moq] Re: Knowing the start of a Subgroup Ian Swett
- [Moq] Re: Knowing the start of a Subgroup Mo Zanaty (mzanaty)
- [Moq] Re: Knowing the start of a Subgroup Suhas Nandakumar
- [Moq] Re: Knowing the start of a Subgroup Luke Curley
- [Moq] Re: Knowing the start of a Subgroup Alan Frindell
- [Moq] Re: Knowing the start of a Subgroup Alan Frindell
- [Moq] Web conferencing demo over MOQT Yu You (Nokia)
- [Moq] Re: Knowing the start of a Subgroup Cullen Fluffy Jennings