From e8761044c2303403feb18bfff4f93b9979e30068 Mon Sep 17 00:00:00 2001 From: JPVenson Date: Sun, 17 Nov 2024 16:12:43 +0100 Subject: [PATCH] Fixed segment providers never presented to UI (#13060) --- Jellyfin.Api/Controllers/LibraryController.cs | 10 ++++++++++ .../Models/LibraryDtos/LibraryOptionsResultDto.cs | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/Jellyfin.Api/Controllers/LibraryController.cs b/Jellyfin.Api/Controllers/LibraryController.cs index afc93c3a8d..1b23683fb4 100644 --- a/Jellyfin.Api/Controllers/LibraryController.cs +++ b/Jellyfin.Api/Controllers/LibraryController.cs @@ -867,6 +867,16 @@ public class LibraryController : BaseJellyfinApiController .DistinctBy(i => i.Name, StringComparer.OrdinalIgnoreCase) .ToArray(); + result.MediaSegmentProviders = plugins + .SelectMany(i => i.Plugins.Where(p => p.Type == MetadataPluginType.MediaSegmentProvider)) + .Select(i => new LibraryOptionInfoDto + { + Name = i.Name, + DefaultEnabled = true + }) + .DistinctBy(i => i.Name, StringComparer.OrdinalIgnoreCase) + .ToArray(); + var typeOptions = new List(); foreach (var type in types) diff --git a/Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs b/Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs index d07349bdf6..c492436689 100644 --- a/Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs +++ b/Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs @@ -28,6 +28,11 @@ public class LibraryOptionsResultDto /// public IReadOnlyList LyricFetchers { get; set; } = Array.Empty(); + /// + /// Gets or sets the list of MediaSegment Providers. + /// + public IReadOnlyList MediaSegmentProviders { get; set; } = Array.Empty(); + /// /// Gets or sets the type options. ///