By: Michael Lynch <git@mtlynch.io>
Make ffmpeg injectable, split media.go, and add animated-GIF tests Split importers/media.go into three files (media.go, writer.go, avif.go) to separate import orchestration, storage abstraction, and ffmpeg conversion. Add a GIFConverter function type so ImportMedia reads the GIF from fsys instead of the real filesystem and delegates conversion through an injected function — enabling in-memory tests without ffmpeg. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>