mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-21 01:24:44 +01:00
comments and don't run internet providers on startup
This commit is contained in:
parent
c80c8c1cfd
commit
ef03988442
@@ -76,7 +76,7 @@ namespace MediaBrowser.Controller
|
||||
ReloadUsers();
|
||||
|
||||
progress.Report(new TaskProgress() { Description = "Loading Media Library", PercentComplete = 25 });
|
||||
await ReloadRoot().ConfigureAwait(false);
|
||||
await ReloadRoot(allowInternetProviders: false).ConfigureAwait(false);
|
||||
|
||||
progress.Report(new TaskProgress() { Description = "Loading Complete", PercentComplete = 100 });
|
||||
}
|
||||
@@ -140,7 +140,7 @@ namespace MediaBrowser.Controller
|
||||
/// <summary>
|
||||
/// Reloads the root media folder
|
||||
/// </summary>
|
||||
public async Task ReloadRoot()
|
||||
public async Task ReloadRoot(bool allowInternetProviders = true)
|
||||
{
|
||||
if (!Directory.Exists(MediaRootFolderPath))
|
||||
{
|
||||
@@ -149,7 +149,7 @@ namespace MediaBrowser.Controller
|
||||
|
||||
DirectoryWatchers.Stop();
|
||||
|
||||
RootFolder = await ItemController.GetItem(MediaRootFolderPath).ConfigureAwait(false) as Folder;
|
||||
RootFolder = await ItemController.GetItem(MediaRootFolderPath, allowInternetProviders: allowInternetProviders).ConfigureAwait(false) as Folder;
|
||||
|
||||
DirectoryWatchers.Start();
|
||||
}
|
||||
@@ -226,7 +226,7 @@ namespace MediaBrowser.Controller
|
||||
/// <summary>
|
||||
/// Runs all metadata providers for an entity
|
||||
/// </summary>
|
||||
internal async Task ExecuteMetadataProviders(BaseEntity item, ItemResolveEventArgs args)
|
||||
internal async Task ExecuteMetadataProviders(BaseEntity item, ItemResolveEventArgs args, bool allowInternetProviders = true)
|
||||
{
|
||||
// Get all supported providers
|
||||
BaseMetadataProvider[] supportedProviders = Kernel.Instance.MetadataProviders.Where(i => i.Supports(item)).ToArray();
|
||||
@@ -236,7 +236,7 @@ namespace MediaBrowser.Controller
|
||||
{
|
||||
var provider = supportedProviders[i];
|
||||
|
||||
if (provider.RequiresInternet && !Configuration.EnableInternetProviders)
|
||||
if (provider.RequiresInternet && (!Configuration.EnableInternetProviders || !allowInternetProviders))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace MediaBrowser.Controller.Library
|
||||
/// <summary>
|
||||
/// Resolves a path into a BaseItem
|
||||
/// </summary>
|
||||
public async Task<BaseItem> GetItem(string path, Folder parent = null, WIN32_FIND_DATA? fileInfo = null)
|
||||
public async Task<BaseItem> GetItem(string path, Folder parent = null, WIN32_FIND_DATA? fileInfo = null, bool allowInternetProviders = true)
|
||||
{
|
||||
ItemResolveEventArgs args = new ItemResolveEventArgs()
|
||||
{
|
||||
@@ -109,12 +109,12 @@ namespace MediaBrowser.Controller.Library
|
||||
|
||||
if (item != null)
|
||||
{
|
||||
await Kernel.Instance.ExecuteMetadataProviders(item, args).ConfigureAwait(false);
|
||||
await Kernel.Instance.ExecuteMetadataProviders(item, args, allowInternetProviders: allowInternetProviders).ConfigureAwait(false);
|
||||
|
||||
if (item.IsFolder)
|
||||
{
|
||||
// If it's a folder look for child entities
|
||||
(item as Folder).Children = (await Task.WhenAll<BaseItem>(GetChildren(item as Folder, fileSystemChildren)).ConfigureAwait(false))
|
||||
(item as Folder).Children = (await Task.WhenAll<BaseItem>(GetChildren(item as Folder, fileSystemChildren, allowInternetProviders)).ConfigureAwait(false))
|
||||
.Where(i => i != null).OrderBy(f =>
|
||||
{
|
||||
return string.IsNullOrEmpty(f.SortName) ? f.Name : f.SortName;
|
||||
@@ -129,7 +129,7 @@ namespace MediaBrowser.Controller.Library
|
||||
/// <summary>
|
||||
/// Finds child BaseItems for a given Folder
|
||||
/// </summary>
|
||||
private Task<BaseItem>[] GetChildren(Folder folder, WIN32_FIND_DATA[] fileSystemChildren)
|
||||
private Task<BaseItem>[] GetChildren(Folder folder, WIN32_FIND_DATA[] fileSystemChildren, bool allowInternetProviders)
|
||||
{
|
||||
Task<BaseItem>[] tasks = new Task<BaseItem>[fileSystemChildren.Length];
|
||||
|
||||
@@ -137,7 +137,7 @@ namespace MediaBrowser.Controller.Library
|
||||
{
|
||||
var child = fileSystemChildren[i];
|
||||
|
||||
tasks[i] = GetItem(child.Path, folder, child);
|
||||
tasks[i] = GetItem(child.Path, folder, child, allowInternetProviders: allowInternetProviders);
|
||||
}
|
||||
|
||||
return tasks;
|
||||
|
||||
@@ -184,6 +184,7 @@ namespace MediaBrowser.Controller.Providers
|
||||
|
||||
AudioInfoProvider.EnsureCacheSubFolders(Kernel.Instance.ApplicationPaths.FFProbeVideoCacheDirectory);
|
||||
|
||||
// This is an optimzation. Do this now so that it doesn't have to be done upon first serialization.
|
||||
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(FFProbeResult), true);
|
||||
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(MediaStream), true);
|
||||
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(MediaFormat), true);
|
||||
|
||||
Reference in New Issue
Block a user