Some checks failed
Tests / Declarative: Post Actions failed: 42, skipped: 89, passed: 4273
19 lines
1.3 KiB
HTML
19 lines
1.3 KiB
HTML
<!doctype html>
|
|
<html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width">
|
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; connect-src 'none'; media-src 'self' blob:; style-src 'self'; object-src 'none'; base-uri 'none'">
|
|
<title>Lesavka — bundled A/V observer</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
<main><h1>Bundled A/V observer</h1>
|
|
<p>No recording, uploads or saved camera/microphone content. Select the RCT's Lesavka video and microphone devices.</p>
|
|
<div><button id="devices">Choose devices…</button>
|
|
<label>Video <select id="video-device"></select></label>
|
|
<label>Microphone <select id="audio-device"></select></label></div>
|
|
<div><button id="start" disabled>Start 2-minute check</button><button id="stop" disabled>Stop</button><button id="export" disabled>Save metrics</button></div>
|
|
<p id="status" role="status">Stopped</p>
|
|
<video id="preview" autoplay muted playsinline></video>
|
|
<pre id="metrics">No observations.</pre>
|
|
<p>Sync and capture-to-RCT freshness: <strong>not measured by this observer</strong>.
|
|
Video callback gaps can include browser scheduling. Silence is not proof of audio loss.
|
|
Use the qualified paired-marker/clock-bounded probe for release acceptance.</p>
|
|
</main><script type="module" src="observer.js"></script></html>
|