Fast input seek (-ss before -i) fails on files whose seek index is imprecise
or mildly corrupt: the demuxer lands mid-EBML element ("invalid as first byte
of an EBML number") and decodes no frame, so the web scrubber showed a broken
image (2026-06-03, anime MKVs: 15/15 prewarm thumbnails failed). When the fast
path yields no frame, retry once with output seek (-ss after -i, decode from
the start) + -err_detect ignore_err. Applied in both the on-demand handler
(buildThumbnailArgsAccurate) and the prewarm extractor (ExtractThumbnailJPEG).
Cost is paid only when the fast path fails, so healthy files keep the cheap path.
Regression test: TestBuildThumbnailArgsAccurate.
|
||
|---|---|---|
| .. | ||
| ffmpeg.go | ||
| ffmpeg_download.go | ||
| ffmpeg_test.go | ||
| ffprobe.go | ||
| ffprobe_download.go | ||
| ffprobe_download_test.go | ||
| ffprobe_test.go | ||
| ioprio_linux.go | ||
| ioprio_other.go | ||
| lang.go | ||
| lang_test.go | ||
| sidecar.go | ||
| sidecar_test.go | ||
| types.go | ||