open-standards/wai/pack-conformance/renditions
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science fb58b7fea2
Some checks failed
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 57s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 41s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 9s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 2m25s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 2m27s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has been cancelled
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Has been cancelled
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Has been cancelled
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has been cancelled
wai-audit collector and player integration / does this change touch it (push) Has been cancelled
wai-audit collector and player integration / collector · linux (push) Has been cancelled
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Has been cancelled
WAI operation catalogue / does this change touch it (push) Has been cancelled
WAI operation catalogue / the catalogue and every door · linux (push) Has been cancelled
wai-fleet service / does this change touch it (push) Has been cancelled
wai-fleet service / service · linux (push) Has been cancelled
wai-fleet service / service · macos (push) Has been cancelled
wai-key-proxy / does this change touch it (push) Has been cancelled
wai-key-proxy / proxy · linux (push) Has been cancelled
wai-app and Create / wai-app · does this change touch it (push) Has been cancelled
wai-ledger service / does this change touch it (push) Has been cancelled
wai-ledger service / service · linux (push) Has been cancelled
wai-ledger service / service · macos (push) Has been cancelled
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 energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Has been cancelled
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Has been cancelled
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Has been cancelled
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Has been cancelled
wai-quantum energy-landscape jobs / the same bits · macos (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-sink-android native sink library / does this change touch it (push) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Has been cancelled
wai-sink-swift native sink package / does this change touch it (push) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (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
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Has been cancelled
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 9m51s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Failing after 1m34s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 10m12s
joule-code conformance gate / joule-moq-relay, every target (push) Successful in 3m54s
joule-code conformance gate / joule-moq-ingest, every target (push) Successful in 10m59s
wai: AC-3 and E-AC-3 registered, and a programme's audio renditions written for HLS and DASH
A broadcast chain holds AC-3 and E-AC-3, and a channel offers its audio in several languages and
with audio description; WAI could name neither, nor say how the renditions are offered.

SPEC §5 registers wai.audio.ac3 (AC-3 syncframes back to back, ATSC A/52:2018 §5, ETSI TS 102 366)
and wai.audio.eac3 (an E-AC-3 bit stream, A/52 Annex E), sink-supplied and carried unread, of the
class proprietary: one licensor still runs the programme, and the reported expiry of their essential
patents is not confirmed by it (research/media-codec-registry.md, ¹⁸). Their replicate class is
standard-unclassified: A/52 §7.3.4 lets a decoder dither zero-bit mantissas with any reasonably
random sequence. The glossary links them, media-identify names ac3 and eac3, and live-ingest maps
`ac-3`, `ec-3` and stream types 0x81 and 0x87 to them; the reference gateway does not carry them
in this revision.

packaging §8.10 writes a set of audio rendition entries (main, alternate, dub, commentary and
audio description, in AAC, Opus, FLAC, AC-3 or E-AC-3) as HLS EXT-X-MEDIA tags of type AUDIO
(draft-pantos-hls-rfc8216bis-22) and DASH audio adaptation sets with ETSI TS 103 285 V1.4.1
§6.1.2's roles and audio-purpose descriptor. An audio description is a broadcast mix bound to
its access-services description record, which must verify and be in its language; it is marked
describes-video, machine-generated when its voice is synthesized, and named in
X-WAI-DESCRIPTION and a DASH SupplementalProperty. The writer refuses what the HLS text forbids
or asks against: a name twice in a group, two defaults, two renditions chosen unasked that cannot
be told apart, groups that do not offer the same renditions.

The reference is the audio_renditions module of wai-rs; the corpus is pack-conformance/renditions/
(31 cases), with renditions_verify.py its second implementation: every case agrees, 9 of 9 mutated
copies fail and 15 of 15 weakened verifiers are caught. Eleven faults planted in the reference (AC-3
royalty-free, E-AC-3 exact, eac3 unmapped in identify, the codecs rule, the description's language,
autoselect, the DASH role, the groups rule, the machine label, the description's rules, the default
rule) each fail its tests.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-08 15:11:47 -05:00
..
README.md wai: AC-3 and E-AC-3 registered, and a programme's audio renditions written for HLS and DASH 2026-11-08 15:11:47 -05:00
vectors.json wai: AC-3 and E-AC-3 registered, and a programme's audio renditions written for HLS and DASH 2026-11-08 15:11:47 -05:00

pack-conformance/renditions — audio renditions for HLS and DASH

The corpus of extensions/packaging.md §8.10, in one file, vectors.json.

Provenance. Generated here by wai_audio_renditions_vectors gen (wai-rs, feature audio_renditions): rendition entries written by the generator, and access-services description records it signs with Ed25519 keys on fixed 32-byte seeds; no media and no input from outside this repository.

describer is the key that signs the description records, as 64 lowercase hexadecimal digits. Each of cases is a set of entries (§8.10.1), the description records it may name (each a record's text, access-services §2), and its outcome: the HLS tags (hls, §8.10.3) and DASH adaptation sets (dash, §8.10.4, one line an element), or the reason it is refused (refuse, §8.10.6).

Everything is synthetic: keys attest nothing, and the URIs name no published file. Each case states the outcome it was written to have, declared in the generator, never copied from a verifier.

wai_audio_renditions_vectors verify and tests/audio_renditions.rs check that the file regenerates byte for byte and that wai-rs reaches every stated outcome. ../renditions_verify.py is the second implementation, written from the extension's text, which also mutates copies of the corpus and drops each of its own checks in turn and requires each to be caught.