test(01-08): regenerate last_30sec.webm fixture + split remux input/output fixtures

Plan 01-08 Task 5 closeout. The post-B+ smoke run produced a working
single-EBML WebM (28.76s, 676 frames, 1.89 MB, monotonic 0→28.76s
timestamps). Operator-confirmed empirically (timer overlay in smoke
HTML showed the latest frames matched expectations).

Two-fixture split resolves a test-design conflict surfaced when
last_30sec.webm flipped from pre-remux input shape to post-remux
output shape:

- tests/fixtures/last_30sec.webm — POST-REMUX output (single EBML,
  41 ffmpeg dry-run lines). Validates webm-playback.test.ts'
  playable-duration + structural assertions.

- tests/fixtures/raw-3ebml-concat.webm — PRE-REMUX input (3-EBML
  concat, 299 ffmpeg dry-run lines = 3 segment boundaries).
  Preserved from the original 2026-05-15 Phase 1 closure fixture.
  Used by webm-remux.test.ts to test that remuxSegments correctly
  transforms 3-EBML input → single-EBML output.

tests/background/webm-remux.test.ts FIXTURE_PATH updated to point at
raw-3ebml-concat.webm; the hardcoded EBML byte offsets [0, 509038,
970967] and frame bounds [905, 912] remain valid against that
preserved input.

Result: 64/64 vitest GREEN (was 61/64). tsc clean. Build exit 0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-17 12:44:50 +02:00
parent 923aaca3a8
commit e40949d1d2
3 changed files with 9 additions and 4 deletions

View File

@@ -55,13 +55,18 @@ import { tmpdir } from 'node:os';
import type { VideoSegment } from '../../src/shared/types'; import type { VideoSegment } from '../../src/shared/types';
const here = dirname(fileURLToPath(import.meta.url)); const here = dirname(fileURLToPath(import.meta.url));
const FIXTURE_PATH = resolve(here, '..', '..', 'tests', 'fixtures', 'last_30sec.webm'); // Plan 01-08 Task 5 closeout note (2026-05-17): `tests/fixtures/last_30sec.webm`
// is now the post-remux OUTPUT (single-EBML, validated by webm-playback.test.ts).
// These unit tests need the pre-remux INPUT shape (3-EBML concat), so they
// read from the preserved raw fixture instead.
const FIXTURE_PATH = resolve(here, '..', '..', 'tests', 'fixtures', 'raw-3ebml-concat.webm');
const FFPROBE_BIN = '/usr/bin/ffprobe'; const FFPROBE_BIN = '/usr/bin/ffprobe';
// Byte offsets of each EBML header in `tests/fixtures/last_30sec.webm`, // Byte offsets of each EBML header in `tests/fixtures/raw-3ebml-concat.webm`,
// per the d13 debug session probe (Evidence/H4 byte-level EBML probe). // per the d13 debug session probe (Evidence/H4 byte-level EBML probe).
// Verified at Plan 01-08 Task 2 land time against the committed // Verified at Plan 01-08 Task 2 land time against the original committed
// fixture: offsets [0, 509038, 970967]; total 1_633_459 bytes. // fixture (now preserved as raw-3ebml-concat.webm): offsets [0, 509038, 970967];
// total 1_633_459 bytes.
const SEG1_START = 0; const SEG1_START = 0;
const SEG2_START = 509038; const SEG2_START = 509038;
const SEG3_START = 970967; const SEG3_START = 970967;

Binary file not shown.

BIN
tests/fixtures/raw-3ebml-concat.webm vendored Normal file

Binary file not shown.