aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager
diff options
context:
space:
mode:
authorJPVenson <JPVenson@users.noreply.github.com>2024-09-07 22:56:51 +0200
committerGitHub <noreply@github.com>2024-09-07 14:56:51 -0600
commit5ceedced1c4a8bac5b5b7a5f2bd0913783bd427b (patch)
treee655f4307f550761b855c2acaddb83dd6ecfa11c /MediaBrowser.Providers/Manager
parentfc247dab9243b3de42193c4be351636204dbc2f2 (diff)
Feature/media segments plugin api (#12359)
Diffstat (limited to 'MediaBrowser.Providers/Manager')
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs15
1 files changed, 13 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index 60d89a51b7..81a9af68be 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -62,7 +62,7 @@ namespace MediaBrowser.Providers.Manager
private readonly CancellationTokenSource _disposeCancellationTokenSource = new();
private readonly PriorityQueue<(Guid ItemId, MetadataRefreshOptions RefreshOptions), RefreshPriority> _refreshQueue = new();
private readonly IMemoryCache _memoryCache;
-
+ private readonly IMediaSegmentManager _mediaSegmentManager;
private readonly AsyncKeyedLocker<string> _imageSaveLock = new(o =>
{
o.PoolSize = 20;
@@ -92,6 +92,7 @@ namespace MediaBrowser.Providers.Manager
/// <param name="baseItemManager">The BaseItem manager.</param>
/// <param name="lyricManager">The lyric manager.</param>
/// <param name="memoryCache">The memory cache.</param>
+ /// <param name="mediaSegmentManager">The media segment manager.</param>
public ProviderManager(
IHttpClientFactory httpClientFactory,
ISubtitleManager subtitleManager,
@@ -103,7 +104,8 @@ namespace MediaBrowser.Providers.Manager
ILibraryManager libraryManager,
IBaseItemManager baseItemManager,
ILyricManager lyricManager,
- IMemoryCache memoryCache)
+ IMemoryCache memoryCache,
+ IMediaSegmentManager mediaSegmentManager)
{
_logger = logger;
_httpClientFactory = httpClientFactory;
@@ -116,6 +118,7 @@ namespace MediaBrowser.Providers.Manager
_baseItemManager = baseItemManager;
_lyricManager = lyricManager;
_memoryCache = memoryCache;
+ _mediaSegmentManager = mediaSegmentManager;
}
/// <inheritdoc/>
@@ -572,6 +575,14 @@ namespace MediaBrowser.Providers.Manager
Type = MetadataPluginType.LyricFetcher
}));
+ // Media segment providers
+ var mediaSegmentProviders = _mediaSegmentManager.GetSupportedProviders(dummy);
+ pluginList.AddRange(mediaSegmentProviders.Select(i => new MetadataPlugin
+ {
+ Name = i.Name,
+ Type = MetadataPluginType.MediaSegmentProvider
+ }));
+
summary.Plugins = pluginList.ToArray();
var supportedImageTypes = imageProviders.OfType<IRemoteImageProvider>()