Repository navigation
moq-audio's positioned bus channel is pinned - #128
Conversation
Quest-Claim: d149982e119ca56e
Pin the moq submodule to 79960a9dd, which adds Bus::positioned and renames Bus::channel to Bus::live (moq-dev/moq#8273). Callers take the rename, and moq-studio drops the Takeover route arm that moq's RouteEvent no longer has. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit: 944dbf3
No actionable findings in the inspected changes. The Bus::live/bus::Live migration matches the pinned upstream API and retains live writes; the removed Takeover test arms discarded their extra fields, and the pinned RouteEvent retains Restart for instance changes. Overall direction: consistent with the narrowly scoped pin quest; positioned playout remains separate.
Verification: GitHub-only static review of the PR diff and relevant pinned upstream definitions. The pin spans 46 upstream commits, not an exhaustive upstream audit. No builds, tests, quest checks, or runtime audio validation run; the exact-head Check workflow was still in progress when checked.
|
No actionable comments were generated in the recent review. WalkthroughThe moq submodule reference advances to a new commit. Scene audio code and studio test helpers change from Merge Risk:
|
Resolve the m0 README conflict by taking main's version: main already dropped the Required list that held this quest's link, so the PR's removal of that line is moot. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

Problem
The studio builds against moq at a commit that predates moq-audio's positioned bus channel. moq-dev/moq#8273 adds
Bus::positioned, whosebus::Positioned::write(position, data)plays a write at the bus position it names, and renamesBus::channel/bus::ChanneltoBus::live/bus::Live. The positioned playout writes in Playout writes land on positioned bus channels depend on this pin.Approach
moqsubmodule to79960a9ddwithjust upgrade-moq 79960a9dd, exactly rather than moq'smain. Moving tomainwould also cross the playout clock replacement in moq-dev/moq#8272, which pin-sync owns.bus.channel(..)call tobus.live(..)and everybus::Channeltype tobus::Liveinmoq-scene(playout.rs,source.rs,browser/run.rs) andmoq-studio(feed.rs,mix.rs).RouteEvent::Takeoverarms inmoq-studio'sengine.rs. The pinned moq no longer has that variant, and itsRouteEvent::Restartarm, already present, covers the same case.bun.lock.Cargo.lockneeded no change.quest/m0/README.mdandquest/m0/playout-positioned.md, which now has noRequiredlist, and rewrite the prose mention inquest/m0/pin-sync.md.Impact
Alternatives
main. Rejected: it crosses the playout clock replacement (#8272), which resizes this quest, and the maintainer decided on the exact commit on 2026-11-09.Choices made without asking
Takeoverarms rather than mapping them ontoRestartwith a new arm. The pinned moq'sRestartdocuments "another instance now serves the prefix", which is what the removed arms handled, so the existingRestartarm already covers it. The oldTakeovervariant's extra fields are gone with it, so a reviewer should check that no caller relied on them.channel(inmoq-scene'ssource.rsand in themoq-studiotest helpers) and only changed the types and method calls they wrap. The names describe a role in the studio, not the bus API.Follow-ups
Models
Size: XS
Implementer: Claude Haiku 5.5, high effort
🤖 Generated with Claude Code
(Written by Claude Haiku 5.5 with high)
Review
Rewritten by
quest reviewafter each round.01a1cc82-1c60-7882-933a-bff4c4e6d374, round 1The focused audio API migration preserves existing live-channel behavior with no identified regressions, pending CI confirmation.