Back to News
news

IETF MOQ WG: Knowing the start of a Subgroup

Mo Zanaty (mzanaty) posted to the MOQ working group mailing list on April 30, 2026. Hi Ian, For 3. the minor wrinkle of a same-priority tie break between a subgroup and datagram in the same group of a track, we can simp…

Source: IETF Mailing ListView source →

Message Snapshot

  • List: moq@ietf.org
  • Thread subject: Knowing the start of a Subgroup
  • Message subject: [Moq] Re: Knowing the start of a Subgroup
  • Author: Mo Zanaty (mzanaty)
  • Published: 2026-04-30T22:06:09.000Z
  • Source tag: ietf-mailing-list
  • Message URL: Open in IETF Mail Archive

Summary

Mo Zanaty (mzanaty) posted to the MOQ working group mailing list on April 30, 2026. Hi Ian, For 3. the minor wrinkle of a same-priority tie break between a subgroup and datagram in the same group of a track, we can simp…

Why It Matters

This message came from the public MOQ working group archive and captures active discussion, meeting coordination, or implementation feedback around Media over QUIC.

Message Excerpt

Hi Ian, For 3. the minor wrinkle of a same-priority tie break between a subgroup and datagram in the same group of a track, we can simply specify subgroup wins. Why? If a track uses both subgroups and datagrams with the same priority in the same group, it is reasonable to assume the datagrams are disposable and theref…

Plain-Text Body

Hi Ian,

For 3. the minor wrinkle of a same-priority tie break between a subgroup and datagram in the same group of a track, we can simply specify subgroup wins. Why? If a track uses both subgroups and datagrams with the same priority in the same group, it is reasonable to assume the datagrams are disposable and therefore lower priority than reliable subgroups.

For the main issue, subgroups were added for video layers as the primary use case. The subgroup ID has specific semantics in this case as the layer ID. When we added subgroups, LOC removed its separate layer IDs and used subgroup ID directly.

To understand why layer / subgroup ID = object ID is a bad constraint, see the first example in the AV1 spec. https://aomediacodec.github.io/av1-rtp-spec/v1.0.0.html#a1021

This shows temporal layers without spatial layers, the dominant encoding of most video today, not a rare or future thing, hence why it's first. (Even "linear" video actually has this structure.)

0 1 2 3 4 5 <- Frame number = object ID 0 2 1 2 0 2 <- Layer number = subgroup ID

Notice how this violates the proposed constraint, which would misnumber layer 2 as 1 and 1 as 2. This would require explicit priorities as it breaks the default priorities of subgroups. And it's a footgun for devs to screw up this inversion of some (not all!) specific layer / subgroup IDs. If our WG and editors already fell into this pit, there is no chance the average dev can escape it.

For the solution, I favor explicit mandatory indicators for the first object in a subgroup and group (maybe even track as Cullen suggested, although I'm unsure how that would be used).

Thanks, Mo


From: Ian Swett ianswett=40google.com@dmarc.ietf.org

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 lowes…

Stay ahead of MOQ

Get the latest IETF MOQ standards updates, protocol analysis, and ecosystem news delivered to your inbox.

Go deeper with MOQ Edge Pro

Weekly deep-dives, IETF standards tracking, and streaming tech trend reports — from $9/mo.

See plans →