Reliability hardening pass for the HLS daemon. None of these change the public API, all reduce the chances of an end-user seeing a broken session in production. - engine/hls.go waitFFmpeg now supervises ffmpeg: on a non-graceful exit while the session is still in use, restart from the last good segment up to 3 times within a 60 s window. Beyond that we give up and log the file as broken — better than a perpetually black player with no error. - engine/hls.go CleanupHLSOrphanDirs() removes tmpdirs older than 1 h at startup; cmd/daemon.go calls it before streamSrv.Listen so a daemon crash + restart doesn't leak gigabytes of segment files. - engine/hls.go StartHLSSession wraps ffprobe in a 15 s timeout. A hung probe on a slow remote fs would otherwise block the goroutine forever and the player would stay on "Preparando sesion". - engine/hls.go hlsStderrCapture buffer is capped at 64 KiB; a misbehaving ffmpeg that emits megabytes without newlines used to grow daemon memory unbounded. |
||
|---|---|---|
| .. | ||
| agent | ||
| arr | ||
| cmd | ||
| config | ||
| engine | ||
| library | ||
| mediaserver | ||
| parser | ||
| sentry | ||
| streaming | ||
| ui | ||
| upgrade | ||
| usenet | ||