浏览代码

Fixed segment providers never presented to UI (#13060)

JPVenson 6 月之前
父节点
当前提交
e8761044c2

+ 10 - 0
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<LibraryTypeOptionsDto>();
 
         foreach (var type in types)

+ 5 - 0
Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs

@@ -28,6 +28,11 @@ public class LibraryOptionsResultDto
     /// </summary>
     public IReadOnlyList<LibraryOptionInfoDto> LyricFetchers { get; set; } = Array.Empty<LibraryOptionInfoDto>();
 
+    /// <summary>
+    /// Gets or sets the list of MediaSegment Providers.
+    /// </summary>
+    public IReadOnlyList<LibraryOptionInfoDto> MediaSegmentProviders { get; set; } = Array.Empty<LibraryOptionInfoDto>();
+
     /// <summary>
     /// Gets or sets the type options.
     /// </summary>