Changed
- Pause-on-stream now actually pauses running encodes (Plex / Jellyfin / Emby). Previously the worker only delayed new jobs from starting while a stream was active; currently-running ffmpeg processes were left untouched. Now the worker sends SIGSTOP to every active ffmpeg subprocess when a stream starts, freezing them at zero CPU / zero disk-IO. SIGCONT on stream-end resumes from the exact frame they stopped at — no work lost. The pause-check loop runs every 15 seconds regardless of
len(_active_tasks), so the freeze takes effect within one cycle of a stream starting. - Default for
*_pause_transcode_onlyflipped fromtruetofalsefor all three media servers. Under the new SIGSTOP behavior, even direct-play streams mean "user is watching", so pausing is appropriate; the previous "transcoding only" default was a holdover from when pause-on-stream just delayed dispatch and direct-play didn't compete for transcode CPU. Existing users with this setting stored in DB are unaffected; the new default only applies to fresh installs and freshly-toggled fields. - Updated Schedule page UI copy to reflect the real-pause behavior (mentions SIGSTOP/SIGCONT explicitly so users know it's lossless).
Docker images
Pinned to this release:
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.5 # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.5-nvenc # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.5-edge # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.5-edge-nvencFloating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.