fix(producer): normalize default-format check + carry no-audio rationale to mp4-h265-sdr fixture

Address @vanceingalls review on #851:

1. validateMetadata's codec/format check read 'rc.codec !== undefined &&
   rc.format !== undefined && rc.format !== "mp4"'. The behavior was
   correct (omitted format defaults to mp4 downstream so codec is legal)
   but relied on the reader knowing that default. Normalize 'effectiveFormat
   = rc.format ?? "mp4"' before the comparison so the intent reads
   directly.

2. The mp4-h264-sdr sibling carries inline rationale for the no-audio
   choice (AAC frame quantization extends container.duration past
   nb_frames/fps and trips the harness PSNR sampler) and the chunk-seam
   mapping (crossfade window 0.9-1.1s straddles frame 30). mp4-h265-sdr
   stripped both. Carry them back so the two fixtures stay parallel.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
This commit is contained in:
James
2026-05-15 02:22:19 +00:00
committed by James Russo
parent 5298b12c79
commit 6dbdac8118
2 changed files with 20 additions and 1 deletions
@@ -84,9 +84,21 @@
<circle cx="24" cy="24" r="18" fill="none" stroke="#6366f1" stroke-width="4" />
<circle cx="24" cy="24" r="6" fill="#6366f1" />
</svg>
<!--
No audio element on purpose: AAC frame quantization pads a 2-second
silent track past 2.0s of container time, which extends format.duration
past nb_frames / fps and trips the harness PSNR sampler at the very
last checkpoint. The chunk-boundary contracts this fixture pins are
video-only; omitting audio keeps container duration == 2.0s exactly.
(Same rationale as mp4-h264-sdr.)
-->
</div>
<script>
// Same chunk-seam stressors as the mp4-h264-sdr sibling: crossfade
// straddles the frame-30 seam (0.9-1.1s = frames 27-33); continuous
// icon rotation makes per-frame angle a pure function of seek-position
// so virtual-clock drift surfaces as discontinuity at frame 15/30/45.
const tl = gsap.timeline({ paused: true });
window.__timelines = window.__timelines || {};
window.__timelines["main-comp"] = tl;