mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
Conforming a footage file's audio (Settings ▸ Disk ▸ Conformed Audio Folder, which preview playback reads) timed each 65,536-frame chunk as `frame index × ticks per second / rate` in i64, which overflows past 36,310,516 frames: 12:36.47 at 48 kHz (25:13 at 24 kHz, hence the workaround). Chunks after the overflow decoded at a wrapped, negative time and came out silent, so preview audio stopped at 12:37.76 (the end of the last chunk that started in time) in every long file. Chunk times now come from Tick::from_units (exact, 128-bit). The conformed files' names include a format version, so files written by earlier builds are ignored and conformed again. Test: conform_chunks_keep_their_times_on_long_files (every chunk start of a 2-hour file at 24–96 kHz); it failed before (multiply overflow). Checked end to end: a 13-minute file's conformed audio has sound at 760 s and 790 s. Co-Authored-By: Claude Opus 5.5 <[email protected]>