Files
jellyfin-ha-src/MediaBrowser.Controller
gnattu e2586eed9b Fix concurrent ffmpeg segment racing
This is a nasty one. The failure mode is:

1. Request A started FFmpeg and waited for a segment.
2. Request B requested an earlier or far away segment.
3. Jellyfin thought FFmpeg should to restart at a different position.
4. Request B killed the existing transcoding job.
5. Killing that job cancelled the same token request A was using.
6. The cancellation produced http 500 to request A.

To fix this:

we lock transcoding job state changes and segment handling per playlist, and use a thread safe counter to track how many http responses are still using each job’s segments. A job is only stopped or replaced once that counter reaches zero.
2026-08-05 00:33:42 +08:00
..
2026-05-03 12:18:20 +02:00
2021-08-15 23:48:19 +02:00
2025-03-25 16:45:00 +01:00
2025-03-25 16:45:00 +01:00
2026-07-09 12:07:13 +02:00
2026-01-14 18:55:47 +01:00
2026-05-21 20:48:41 +02:00
2026-07-29 09:35:20 +02:00
2026-05-15 18:42:11 +02:00
2024-08-30 15:29:48 +02:00
2025-01-25 20:05:15 -05:00
2021-05-15 15:33:50 -06:00