Repository navigation
Conversation
Jellyfin 12 runs on .NET 10, so build against the 12.0.0 packages and net10.0, and require ABI 12.0.0.0. Building against 12.0.0 rather than 12.1.0 keeps the plugin loadable on both releases. The CI workflows move to the .NET 10 SDK with it. The .NET 10 analyzers add CA1873, flagging log arguments computed when the level may be disabled. Lower it to a suggestion as upstream Jellyfin does, next to CA1848 which the ruleset already disables. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Jellyfin 12 drops a static media source whose id is a GUID unless it is the id of the item or of another item the user can see. Every VOD, episode and catch-up source carried a GUID of its own, so each was dropped, and PlaybackInfo failed indexing the empty list with an ArgumentOutOfRangeException. Leave the id unset instead, which Jellyfin fills in with the id of the item. Live TV keeps its GUID, as it identifies the restream to share and Live TV sources do not pass through that filter. Jellyfin saves the sources of a channel item and only rewrites them when the item changes, so existing items would keep the old ids. Stamp channel media items with a fixed modification date: items created before carry none, so each is updated once, and never again after. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 2, 2026
Open
|
This looks good overall. One concern: Jellyfin 12.1 fills in missing source IDs, but 12.0 does not. This could break audio or subtitle selection on 12.0. Could we require 12.1, or test and fix this on 12.0? It would also help to check that items saved before the upgrade still play. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Builds the plugin for Jellyfin 12 (#298), and fixes VOD, series and catch-up playback, which cannot work on 12 with the current release.
Changes
MediaSourceManager.GetStaticMediaSources), so these items were left without a source andPlaybackInfofailed. Their sources now have no id, which Jellyfin fills in with the id of the item. Live TV keeps its id, which identifies the restream to share. Channel media items also report a modification date, so Jellyfin rewrites the sources it saved for existing items.Testing
Both commits come from my fork, which I run on a Jellyfin 12.1 server (Debian package). This branch, applied on top of the current master, builds against 12.0.0.
Note that this drops support for 10.11.
Written with Claude Code (Claude Opus 5.5).
🤖 Generated with Claude Code