19fb00c6

By: Michael Lynch <git@mtlynch.io>

Use typed animated upload processing

Validate animated photo uploads before processing so bad GIFs return a client error instead of depending on processor failures. Share the ffmpeg reader/writer conversion adapter between uploads and Tinybeans imports, and make upload tests exercise the real processor with an injected converter.

Suite timing

Time to Start Worker time Duration Time to finish
Config 1s 1m15s 1m15s 1m16s
Eval 1m15s 2m22s 2m22s 3m37s
Build 1m45s 3m57s 2m59s 4m45s
Suite 1s 7m34s 4m43s 4m45s

Timeline

0s20s40s1m1m20s1m40s2m2m20s2m40s3m3m20s3m40s4m4m20s4m40s