**Session Date/Time:** 04 Nov 2024 17:30 # moq ## Summary This session of the MOQ working group focused on several key areas: an interop report, updates to the MOQT draft, a new proposal for joining live streams ("join"), and a discussion around resolving ambiguities in priority handling. The session involved presentations and open discussion, with a decision made to move forward with a PR for the "join" proposal. The priority discussion was deferred to the next session with assigned reading material. ## Key Discussion Points * **Interop Report:** * Successful interop testing with multiple QUIC implementations. * Need to add more comprehensive test cases, including relay scenarios. * Discussion about creating a media interop spreadsheet and the need to agree on a working group draft for media layers on top of QUIC (e.g., Warp and Lock). * **MOQT Draft Updates:** * Changes since the last IETF meeting, including the addition of subscribe announces, subgroups, and fetch, as well as the removal of missing groups status and track per stream. * Clarification of fin and reset semantics in the context of subgroups. * **Join Proposal (Will et al.):** * Proposal to address the inefficient way to join a live stream in the current MOQT specification, involving two RTTs (subscribe and fetch). * The proposed solution automates the stitching between fetch and subscribe on the server side. * Two implementation ideas were debated: 1. new API call for `join` 2. use existing API calls and add a field to `fetch`. * Concerns raised about potential flattening of priorities with fetch and its impact on layered media encoding (e.g., SVC). The group also discussed the delivery model. * **Priority Ambiguities (Alan & Victor):** * Discussion about resolving ambiguities in the draft regarding priority handling of objects and subgroups. * Proposal 1: Publisher-set track priority based on an explicit setting. * Proposal 2: Remove the concept of track priority and base everything on subgroup priority which is a combination of what the subscriber sent for the track priority and what the publisher set for the subgroup priority. * Discussion around retroactivity of the signal when the priority of a track changes. * Concerns raised about delivery timeouts. Also, complexity of implementation. ## Decisions and Action Items * **Join Proposal:** The working group agreed to move forward with proposal 2. Will will create a PR for extending `fetch` to include a reference to an existing subscription. * **Priority Ambiguities:** Decision to defer the discussion and decision to the next session. * **Action Item:** Attendees to read Alan's write-up and Victor's PR on the priority handling proposals before the next session. ## Next Steps * Will creates a PR for extending `fetch` * Continue the discussion and make a decision regarding priority handling in the next session. * Discuss and possibly adopt a document on media layers on top of QUIC (Warp and Lock) on the mailing list. * Next step will be a short decision phase at the next Wednesday session. --- **Session Date/Time:** 06 Nov 2024 13:00 # moq ## Summary This session covered several important topics related to the Media over QUIC (MoQ) protocol. Discussions included process improvements for consensus, updates on the Warp Catalog merge, a proposal for a new "Switch" method for live subscriptions, a proposal for adding timestamps to MoQ, and updates on the Locke container format. Decisions were made regarding the Warp catalog merge and the approach to the Locke container format. ## Key Discussion Points * **Process Improvement:** A new process for achieving consensus was proposed, based on draft diffs and list discussion, aiming to reduce the burden of virtual interim meetings. This involved consensus calls on each draft diff, editor discretion for non-editorial PRs, and bi-weekly virtual interims focused on substantive discussions. * **Warp Catalog Merge:** Updates were provided on the merging of the catalog into the Warp media format. The goal is to define a simple JSON structure for media streaming, removing features not relevant to this use case. * **Live Subscription Switching ("Switch"):** A new method called "Switch" was proposed for efficient switching between live subscriptions (e.g., for ABR). This involves an atomic transition on the relay, avoiding race conditions and duplicated data. The discussion centered on whether this can be achieved with existing subscribe methods with consideration of RTT and priority. * **Timestamps:** A proposal to add optional timestamps to MoQ objects was presented, with the goal of improving delivery timeout accuracy and enabling server-side ABR. Concerns were raised about whether to define this a transport use case or allow media sync. * **Locke Container Format:** An update on the Locke container format was presented including using WebCodex for the registry of media types and defining new extensions, along with discussion about the need to support both in-band and out-of-band parameters sets from H.264 and HEVC. ## Decisions and Action Items * **Process Improvement:** Implement the proposed process improvement for achieving consensus as an experiment, with re-evaluation if necessary. * **Warp Catalog:** Initiate a consensus call on the mailing list for the Warp catalog draft. * **Live Subscription Switching ("Switch"):** Will open a Google Doc/GitHub issue to detail use cases and network conditions to determine if switching can be achieved using existing APIs. * **Timestamps:** Ian will create a PR for a timestamp and will clarify how it reacts over different depths of relays. * **Locke Container Format:** Mo was directed to merge the changes in the Locke container format proposal into Warp. ## Next Steps * Chairs to announce agenda before the next virtual interim. * Will to add an example section to warp that we will get the guys working on lock and WC to agree on a referenceable draft that that warp can then point to for packaging and then we'll make an example section and it will look identical to mock me pretty much and then that's what we can go off and enter upon and then it'll grow and get better in the future. * Implementers to discuss and test "Switch" proposal to define use cases and edge cases. * Ian to create a PR for adding timestamps to MOQ and defining the clock for the timeline. * Mo to merge Locke proposal into warp. * Next virtual interim meeting in two weeks. * In-person meeting in Denver, Colorado, February 24-26.