Video Retention Fix
Fixed large video files silently losing their video stream during upload when VIDEO_RETENTION=true.
What happened
The ffprobe probe in the upload route had a fixed 10-second timeout. Large video files (especially MP4s with the moov atom at the end) could exceed this on first disk access, causing the probe to fail. When the probe failed, has_video defaulted to false, silently bypassing the VIDEO_RETENTION guard and extracting audio only.
Fix
- Scaled probe timeout — timeout now scales with file size (10s–60s) instead of a fixed 10s
- Extension-based fallback — if the probe still fails and VIDEO_RETENTION is enabled, the upload route checks the file extension (
.mp4,.mov,.mkv, etc.) to preserve the video retention guard
Compatibility
Backwards compatible with v0.8.x. No configuration changes required.