21e624da6b
Previously a corrupt source (e.g. truncated mp4 with no moov atom) would be re-queued on every directory scan: cleanup_partial_hls wipes the temp playlist on ffmpeg failure, leaving no .m3u8 to short-circuit the next pass. Mirrors the thumbnail .unsupported sentinel pattern: on ffmpeg failure, write <playlist>.m3u8.unsupported, and treat its presence as "done" in both the ScanDirectoryMessage filter and the QueueVideosMessage check. Delete the sentinel to force a retry. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>