Remove Frame/Object Duration from moq-lite and moq-timestamp#32
Conversation
Duration was an application-level presentation hint that the transport never used for delivery decisions. Keeping it encourages a frame of added latency: a publisher either has to know a frame's length before its successor exists (impossible for live) or wait for the next frame to infer it. A bare timestamp lets a receiver present each frame as soon as it arrives. moq-lite: drop the Duration field from the Frame concept, the FRAME message (Duration Delta), the datagram body, the Publisher Timescale omission rule, and the moq-lite-05 changelog. moq-timestamp: remove the DURATION object property entirely, including its 0x915C4 IANA registration (never published, so the codepoint is freed), and the relay age-refinement rationale. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughBoth protocol specification drafts are updated to remove the Duration concept. In 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
Removes the
Durationfield from a Frame in moq-lite and theDURATIONobject property from the moq-timestamp extension. Both drafts now carry a presentation timestamp only.Why
Duration was an application-level presentation hint that the transport never used for any delivery decision. Worse, it encourages a frame of added latency: to know a frame's duration you either have to know its length before its successor exists (impossible for live media) or wait for the next frame to infer it. A bare timestamp lets a receiver present each frame as soon as it arrives.
Changes
moq-lite (
draft-lcurley-moq-lite.md):Duration Deltafrom the FRAME message layout and semantics.Durationfrom the datagram body.Publisher Timescaleomission rule to mention only the timestamp field.moq-timestamp (
draft-lcurley-moq-timestamp.md):DURATIONObject Property section in full, including the relay age-refinement rationale.0x915C4 DURATIONIANA registration. The codepoint was never published, so freeing it is safe.Reviewer notes
Both drafts build and validate cleanly (
make draft-lcurley-moq-lite.txt,make draft-lcurley-moq-timestamp.txt). The remaining "duration" word occurrences in moq-lite are unrelated English usage (group-drop timing, stream-reset age), not the Frame field.🤖 Generated with Claude Code