受控 codec 能力清单是怎么来的
能力表不是手写白名单,也不是把扩展名改一改就宣布支持。本轮把 5 组 fixture(10 秒音频 3 组、5 秒视频 2 组)作为可重算证据:每组都带文件头字节、声明 MIME、ffprobe 等价 probe(时长/声道/采样率或宽高/帧率)、期望输出与 decode 证据。
verifyFixture() 会重新嗅探输入与输出文件头、确认 registry 中的 decoder/encoder 确实注册、重算帧数/尺寸/时长,并调用 verifyOutput()。任一环节不通过,该组合留在 rejected 中,不会进入 open 能力表。
assertCombinationOpen() 同时比对组合键与参数键:例如把 480px/10fps 改成 640px/12fps,即使 codec 组合相同,也会因为缺少受控证据而返回 UNVERIFIED_OPTIONS。这是「未验证组合不开放」的可测试实现。
重要边界:本轮没有真实 ffmpeg.wasm、没有运行 ffprobe、没有浏览器解码。能力清单是受控测试所得,不是真实 codec 承诺;输出是文本验收报告,不是可播放媒体。