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
6 changes: 6 additions & 0 deletions test/interop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -528,6 +528,12 @@ at QUIC's 1 ms timer granularity, the 500 ms GOP, one frame to decode, the 50 ms
playback delay, and one page sample plus one driver poll. Publisher preparation
is not part of it.

Firefox's replacement case is quarantined from the default run after intermittent
audio-tone failures. Investigate the missing tone samples alongside
[the audio playout work](https://github.com/moq-dev/moq/pull/8058), then restore it.
Run it explicitly with `just test media --media-engines firefox --media-cases replacement`;
its content, sync, switch, and fallback assertions remain active.

The CLI integration suite's `instances` cases exercise the real QUIC relay with
lite-07, lite-06, and IETF draft 22. Held catalog snapshots and media
subscriptions keep A while fresh catalog handles resolve B with fresh sibling
Expand Down
7 changes: 6 additions & 1 deletion test/interop/clients/js/media.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ const selected = new Set<string>(
values.cases === undefined
? native
? NATIVE_CASES
: CASES
: CASES.filter((name) => requestedPlayer !== "firefox" || name !== "replacement")
: values.cases === "none"
? []
: values.cases.split(","),
Expand Down Expand Up @@ -161,6 +161,11 @@ if (
const publisherEngine = requestedPublisher as Engine;
const playerEngine = requestedPlayer as Engine;
const wants = (name: Case) => selected.has(name);
if (!native && values.cases === undefined && playerEngine === "firefox") {
console.error(
"QUARANTINE\treplacement\tintermittent audio tone; investigate with https://github.com/moq-dev/moq/pull/8058",
);
}

// process.exit narrows `url` above, but not inside the function declarations below.
const relay: string = url;
Expand Down
5 changes: 5 additions & 0 deletions test/interop/interop.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2202,6 +2202,11 @@ run_media() {
# The measurements are the point even when nothing fails: a skew or frame rate creeping
# toward its bound is worth seeing before it crosses.
grep -E '^( |=== )' "$log" || true
local marker quarantined detail
while IFS=$'\t' read -r marker quarantined detail; do
echo " SKIP $name: $quarantined: $detail"
record skip case="$name: $quarantined" publisher="$(media_publisher "$@")" subscriber=js detail="$detail" log="$log"
done < <(grep $'^QUARANTINE\t' "$log" || true)
else
echo " FAIL $name ($((SECONDS - started))s)"
record fail "${cell[@]}" detail="media.ts exited $status"
Expand Down