v1.5.15
Adaptive, self-healing handling of ffmpeg watchdog stalls, so Sonarr season grabs no longer lose episodes when the BBC CDN throttles the connection or concurrent downloads contend for CPU and disk I/O (GitHub #50). Also ships the geo-check DNS/geo-block fix (GitHub #49).
Added
- Adaptive stall throttle: when several downloads stall together, iplayer-arr opens a short cooldown that pauses new pickups, steps concurrency down and back up on its own (AIMD), and freezes the retry budget of the affected downloads so a synchronised burst is not lost. Tunable via
IPLAYER_ARR_ADAPTIVE_THROTTLE_*env / store keys (adaptive_throttle_enabled=falseto turn it off). New/api/systemfields:active_workers,throttled,cooldown_until,stalls_in_window. - Escalating watchdog window on stall retries (base, 2x, 4x, capped), so a transient throttle or contention burst gets more room to clear instead of a flat 60s every retry.
Fixed
- A stalled download no longer consumes the CDN / not-yet-available retry budget, so freshly-aired episodes are not dropped after a single stall (stalls now have a dedicated budget; #56 quality decoupling preserved).
- A completed download is no longer killed during ffmpeg's faststart finalization on slow storage (WSL2 Windows mounts, NFS); the watchdog relaxes to a bounded grace once muxing passes ~99%, while a genuine mid-stream stall still trips it.
- Geo check no longer mislabels a DNS failure as "Blocked" or a non-UK exit as "UK OK" (#49).
For operators still on an older build hitting #50: lower Workers to 2 in Settings and set IPLAYER_ARR_WATCHDOG_TIMEOUT_SECONDS=300, then recreate the container. v1.5.15 makes this automatic.