Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion quest/m1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ transport, benchmark tooling); worktrees isolate commits, not semantics.
- [JavaScript FETCH](/quest/m1/js-fetch.md) - generic on-demand group serving and IETF FETCH for browser publishers
- [Archive](/quest/m1/archive/README.md) - record selected tracks to any object_store and replay them over FETCH or derived HLS, on the catalog and store the release ships
- [Wildcard](/quest/m1/wildcard/README.md) - a relay resolves subscriptions against advertised prefixes, a service claims the prefix it could serve and refuses the rest instead of enumerating broadcasts, and the browser player treats a covering claim as availability
- [js/publish discontinuity](/quest/m1/js-publish-discontinuity.md) - the JS container producer and js/publish emit the same marker group on encoder restart
- [Impaired path](/quest/m1/transport-impairment-profile.md) - the transport drills run over a seeded, impaired UDP path on any host
- [Tooling](/quest/m1/tooling/README.md) - justfiles become a one-line menu over `sh/`, one impact map scopes CI, and every workflow step runs a recipe
- [Generation](/quest/m1/hls-generation.md) - init URLs follow the rendition config and segment URLs carry an embedder-supplied generation, so caching can be re-enabled
Expand Down
16 changes: 0 additions & 16 deletions quest/m1/js-publish-discontinuity.md

This file was deleted.

11 changes: 5 additions & 6 deletions quest/m1/publisher-clock.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,18 @@ old archive records. Preserve allowed B-frame ordering within a group.

Keep source-specific timestamp conversion at the adapter boundary. Refuse an
unmappable source explicitly. Discontinuity markers signal the existing
playhead contract; they do not replace the wall epoch. Coordinate browser
encoder restart markers with the discontinuity prerequisite.
playhead contract; they do not replace the wall epoch. In `js/publish`, the
video encoder marks a break through `Container.Legacy.Producer.cut()` whenever
its encode loop stops (demand gap or capture swap). The audio encoder writes its
Comment on lines +20 to +21

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep source-switch discontinuities in scope

When <moq-publish> switches between its normal camera, screen, or file sources, the same Video.Capture created in element.ts survives and only Capture.out.frames is replaced (video/capture.ts:45-63). producer.cut() is attached to the outer #encode cleanup (video/encoder.ts:237-244), whereas replacing out.frames only reruns the nested reader effect at lines 281-335, so this common source swap does not emit a marker. During the switch gap, the previous group can therefore remain the live edge, so deleting the dedicated quest while stating that capture swaps are covered leaves this case untracked; retain it explicitly in publisher-clock or keep the quest.

Useful? React with 👍 / 👎.

own marker on a demand gap only: an audio pipeline rebuild and the framer's
input-gap reset still write none.

Add CI fixtures for simultaneous A/V, late first frames, restart to zero,
restart after idle, system-wall adjustment, and retained archive playback.
The fixtures must exercise publisher integration rather than only the clock
helper. Update publisher and import docs; this quest adds no new clock API or
catalog representation. GStreamer's clock observation remains its own quest.

## Required

- [Publisher discontinuity](/quest/m1/js-publish-discontinuity.md) - use the settled browser restart-marker path

## Related

- [GStreamer clock](/quest/m1/3021-moq-gst-anchor-generated-media-timelines-to-wall-clock.md) - separate source adapter
Loading