web/room/binding.js: the side table a page carries contentBinding in until a registry lists the member (decoder and timestamp, clone, transfer, reset, a bound; ambiguity refused), the capability report built in two passes so that only codec strings the WebCodecs Codec Registry lists are put to the user agent, and the state of the frame on screen. The room routes each track before it decodes it, binds every frame its video decoders output to the verified object and group receipt, and shows the state of each tile's frame with ?debug=binding. web/binding/ runs live-conformance/browser in the page, the wasm route's verified decode, the binding through clone, transfer, copyTo and re-encode, the metadata probe and a capability report from the user agent's answers. e2e: scenario binding, energy.py for the host's per-process counter, and the decode wasm built by run.sh. Co-Authored-By: Claude Opus 5.5 <[email protected]>
25 lines
1.5 KiB
HTML
25 lines
1.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Frame binding</title>
|
|
<link rel="icon" href="data:,">
|
|
<style>
|
|
:root { --bg: #f6f7f9; --fg: #15171a; --muted: #5d6470; --line: #d9dde3; }
|
|
@media (prefers-color-scheme: dark) { :root { --bg: #111317; --fg: #e8eaee; --muted: #9aa2ae; --line: #2c313a; } }
|
|
body { margin: 0; padding: 16px; background: var(--bg); color: var(--fg); font: 14px/1.45 system-ui, sans-serif; }
|
|
h1 { font-size: 16px; margin: 0 0 8px; }
|
|
p { color: var(--muted); max-width: 70ch; }
|
|
pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.4 ui-monospace, monospace; border-top: 1px solid var(--line); padding-top: 8px; }
|
|
canvas { image-rendering: pixelated; width: 192px; height: 192px; border: 1px solid var(--line); }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Frame binding</h1>
|
|
<p>WAI's browser sink in this page: the conformance corpus of <code>live-conformance/browser</code> through the page's wasm and side table; a <code>wai.video.int_motion</code> object verified against its receipts, decoded on the wasm route and every frame bound; the binding through <code>clone()</code>, transfer, <code>copyTo()</code> and re-encode; what this user agent keeps of an unregistered metadata member; and a capability report built from this user agent's own answers.</p>
|
|
<canvas id="frame" width="48" height="48" aria-label="The last frame the wasm decoder output"></canvas>
|
|
<pre id="out">running…</pre>
|
|
<script type="module" src="./test.js"></script>
|
|
</body>
|
|
</html>
|