Minutes interim-2025-moq-14: Mon 16:00
minutes-interim-2025-moq-14-202504281600-00
| Meeting Minutes | Media Over QUIC (moq) WG | |
|---|---|---|
| Date and time | 2025-04-28 16:00 | |
| Title | Minutes interim-2025-moq-14: Mon 16:00 | |
| State | Active | |
| Other versions | markdown | |
| Last updated | 2025-05-04 |
MoQ virtual interim, 28 April 2025
Attendees:
- Martin Duke (Google)
- Will Law (Akamai)
- Magnus Westerlund (Ericsson)
- Ye-Kui Wang (Bytedance)
- Alan Frindell (Meta)
- Ian Swett (Google)
- Giovanni Marzot (Vivoh)
- Gwendal Simon (Synamedia)
- Aman Sharma (Meta)
- Zafer Gurel (Constructor Tech/Ozyegin Uni)
- Suhas Nandakumar (Cisco)
- Mathis Engelbart (TUM)
- Cullen Jennings (Cisco) ( for 2nd half of meeting )
- Mike English (Cloudflare)
- Mo Zanaty (Cisco)
Agenda
Scribe: Will (key points only)
Administrivia, Stockholm questions (5 min)
Today is deadline for draft 11.
Will - we need details on where is meeting and how we enter building.
Magnus - we will post before Monday.
Martin will post Google meet link this week for remote attendees.
Issue Prioritization (Chairs, 10 min)
3 conditions for relaxing draft consensus
- Deployment experience
- Implementation experience
- If we unintentionally break stuff.
Stablize Application API, as that is barrier to deployment.
Magnus - by draft 12 we should have consensus in doc.
Victor - we need to freeze object model.
MoQT PRs (Editors, 45 min)
Open a while
#816: Include FETCH responses in priority scheduling algorithm
This was rewritten following feedback from the last interim.
Def of "sent first" may vary across implementations.
#925: Allow multiple ranges in FETCH
We didn’t get a chance to discuss last time.
Alan - I have implemented FETCH without this. Will talk about in
Stockholm.
#499: Always use ALPN for version negotiation
Hoping to have an update before Monday that we can merge, as this is
blocking the resolution of several issues.
Skipped - no changes for today. Victor trying to get into Chrome for
WT.
New PRs since the last meeting
#933: Add Next Group Start filter
No objections. Gives next Group after largest object is specified.
Gwendal - not next group in time. It is next numerically larger group.
Alan - should take names off of filter types to avoid misinterpretation.
Mo - we may want to simplify SUBSCRIBE and FETCH. Will present at
Stockholm.
Martin - if you want agenda time in Stockholm, send email to chairs now!
#934: Add Version Negotiation Failed error code
Not contentious. Do we need before ALPN? Yes.
Victor - not sure ALPN solvees this problem - does not have predefined
code or behavior.
#935: Caches must store all Object properties
Cache all of an object, including extensions.
Will- is there an object size limit? Or an error message if size
exceeded?
Alana - no, caching is optional.
#936: Disallow empty FETCH streams
Alan - may want to allow empty fetch streams. Quesitons is when can I
send a FETCH_OK?
Want to send response before having to validate entire range.
Empty fetch stream would mean no objects can be retrieved. Right now,
you get an error saying "No objects".
Raise hand for implementing fetch - 5 hands raised
Raise hands for implementing fetch for a relay - 3 hands.
Alans - lots of dragons with FETCH.
Mike - also encountered issues.
Alan - will hold PR for now.
#937: Clarify how Latest Object works when the Largest Object is
incomplete
Seen first but not last byte of object.
Mo - update needs to be spec wide, not just on one filter.
Mo - subscribe should never included objects for which you have missed
the first byte.
Martin - I'm ok with ambiguity. Affects both FETCH and track_status -
needs consistent response across message types.
Cullen - don't want different response for caching or non-caching
subscribes. App will
need to assume that it won't get mid-flight object. Control and data
plane be consistent.
Suhas - can we agree that current object must include first byte.
Alan - ask for thumbs - 4 thumbs up.
Alan - anyone speak against - no-one. Will rewrite.
#938: Explain malformed tracks and what to do with them
11 rules for how tracks can be broken.
Martin - seems to run counter to cache poisoning.
Will - need to provide text room for other exmaples of being malformed.
Victor - why don't we close connection?
Alan - because its a track elevel error and other tracks may be valid.
But relay can close the connection at any time.
Magnus - is there DOS risk here by closing downstream subscriptions?
Mo - do we need to list all errors?
Ian - do we all agree on not forwarding malformed tracks? You must not
forward garbage.
#948: Explain when a relay can reuse or must reset a subgroup
Can't forward an object unless you know it's the next one.
#949: Fetch Object serialization
Alan - will make more efficient.
Martin - we are more concerned with API changes than wireline changes at
this point.
Following issues not covered in this meeting:
#939: Prior Object ID Gap Extension header
946: Expand cases where FETCH returns Invalid Range
947: Clarify Forward=0 does not affect SUBSCRIBE_DONE
952: Delete AUTHORIZATION_INFO parameter
721 How to pass auth tokens when doing setup over raw QUIC
[related, #839 Do we need "Unauthorized" session error code?]
719 Extensions can expand the size of a datagram until they have a MTU
problem