Each tick drains one fixed chunk per source, so if the encoder stalls the loop never makes the deficit up and the backlog only grows from there. The queues had no cap, so a long recording against a slow encoder grew for as long as it ran. Cap each queue and keep the newest audio; discarding the newest instead would only push the recording further behind. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>