7332c6ae

By: Michael Lynch <git@mtlynch.io>

Unit test the videoqueue package

Adds a direct test suite for videoqueue, which was previously exercised
only indirectly through the handler integration tests. The new tests
assert the package's core contracts: resume-on-restart, shutdown
cancelling an in-flight transcode and leaving the item processing,
oldest-first queue draining, Enqueue waking an idle worker, idempotent
Shutdown, and the file-retention helpers.

To let the file helpers run against an in-memory filesystem, introduce a
Filesystem seam (interface + LocalFilesystem) modeled on the existing
mediastore.MediaWriter pattern. New() defaults a nil Config.Filesystem to
LocalFilesystem, so production wiring is unchanged and originals still
land on real disk for ffmpeg to read.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>