open-standards/wai/changes/2026-11-09-compose-opus-floor.md
Transaction Science f0ba72d85b
Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 10s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 1m34s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 4m17s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 4m6s
wai-quantum for JavaScript / does this change touch it (push) Has been cancelled
wai-quantum for JavaScript / javascript · linux (push) Has been cancelled
wai-quantum studio and desktop / does this change touch it (push) Has been cancelled
wai-quantum studio and desktop / studio · browser (push) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (push) Has been cancelled
wai-quantum studio and desktop / desktop app · linux (push) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (push) Has been cancelled
WAI Studio / does this change touch it (push) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (push) Has been cancelled
WAI Studio / Studio in WebKit · linux (push) Has been cancelled
wai-web compose: an Ogg Opus piece trimmed to its pre-skip and end
An alternative of wai.audio.opus routed to the user agent is an Ogg Opus
stream whose pre-skip and end (RFC 7845 §4) a decoder handed its packets does
not apply. compose.js drops the OpusHead pre-skip, less what the decoder
dropped itself, ends the samples at the last page's granule position, and
holds an Opus floor's piece (packaging §7.9) to exactly its piece's samples
(compose_frames otherwise). run.mjs plays pack-conformance/multi/multi-opus-01
without FLAC: where the engine's AudioDecoder takes Opus every piece plays its
Opus floor and comes to exactly the piece's samples; an engine whose
VideoDecoder refuses that golden's 64 x 36 picture is held to refusing it at
the lead's first piece.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-09 16:54:46 -05:00

712 B

The composing sink trims an Ogg Opus piece to its pre-skip and end

  • wai-web/compose/: an alternative of wai.audio.opus routed to the user agent is an Ogg Opus stream whose pre-skip and end (RFC 7845 §4) a decoder handed its packets does not apply: compose.js drops the OpusHead pre-skip (less what the decoder dropped itself), ends the samples at the last page's granule position, and holds an Opus floor's piece (packaging §7.9) to exactly its piece's samples (compose_frames otherwise). run.mjs plays pack-conformance/multi/multi-opus-01 without FLAC: where the engine's AudioDecoder takes Opus every piece plays its Opus floor and comes to exactly the piece's samples.