Markdown Version | Session Recording
Session Date/Time: 15 Dec 2025 17:00
MOQ
Summary
The MOQ Working Group meeting included an interop report on the recent virtual hackathon, highlighting findings from testing Draft 14 and plans for future interops targeting Draft 16. A demo was presented on a proposed "switch" message for track switching, illustrating its benefits for smoother, gapless transitions by offloading logic to the relay. Finally, a review of PR 1401 for new filtering capabilities was presented, detailing the various filter types and their proposed integration, with a call for community review.
Key Discussion Points
-
Interop Report (Mike English):
- The virtual hackathon focused on deeper testing of Draft 14, which has widespread implementation.
- A new interop test runner is under development, aiming to automate matrix testing of multiple implementations.
- An "ordering issue" in
mock-rsand a difference in "lingering subscribe" behavior (where a relay might wait for an unannounced track rather than sending an error) were identified. - The current interop spreadsheet key could be reformed to better reflect relay-centric testing.
- Future Interop: The next target is Draft 16, anticipated in early January, for the February interim meeting in Boulder. Participants were warned that Draft 16 presents a significant implementation lift compared to previous drafts.
-
Track Switching Demo (Ali, Denis, Zafra):
- A demo showcased a proposed "switch" message designed for efficient track switching, replacing multiple
subscribe_updatemessages. - The "switch" message offloads the decision of the exact switch point (group boundary) to the relay, preventing playback stalls and duplicate objects, particularly in varying network conditions.
- If the relay cannot fulfill the switch (e.g., target track is too far behind), it can send a
switch_error. - Discussion ensued regarding the balance between client-side and server-side ABR (Adaptive Bitrate) decisions. The "switch" message is a client-initiated mechanism that leverages relay knowledge for smoother execution, rather than full server-side ABR.
- A participant suggested simulating network delays to further highlight the benefits of the "switch" message in challenging conditions.
- A demo showcased a proposed "switch" message designed for efficient track switching, replacing multiple
-
Filters PR Review (Mo):
- Mo presented PR 1401, which introduces several new filter types: Group, Subject, Object, Priority, Extension, Location, and Track filters.
- These filters are parameters in
SUBSCRIBE,FETCH, andREQUEST_UPDATEmessages. - The Location filter is a combined group/object ID filter, supporting special locations like "largest object" (for joining fetches) and "next group start."
- The Track filter is unique, applying only to
SUBSCRIBE_NAMESPACEand selecting a subset of tracks based on criteria, evaluated after other object-level filters to ensure meaningful results. - All new filter capabilities are off by default (default setup parameter value of zero) and must be explicitly negotiated by the relay. This allows relays to gradually adopt them without blocking Draft 16.
- Mo requested broad community review of the PR, especially from implementers, to identify potential issues early.
Decisions and Action Items
- Action Item: A participant will file an issue to track the discussion around "lingering subscribe" behavior.
- Action Item: Mo will send an email to the mailing list advertising PR 1401 (Filters) for community review.
- Decision: ABR slides were deferred to a later meeting.
- Decision: Further discussion on the "switch" message and alternative track switching approaches will take place at the January 12th interim or the Boulder interim meeting.
Next Steps
- Implementers are encouraged to review PR 1401 (Filters) and provide feedback.
- The working group will target Draft 16 for interop testing at the February Boulder interim.
- Agenda requests for the January 12th interim meeting are due by January 5th.