aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
diff options
context:
space:
mode:
authorGary Wilber <Spacetech326@gmail.com>2020-11-08 11:51:40 -0800
committerGary Wilber <Spacetech326@gmail.com>2020-11-08 11:51:40 -0800
commite6d8c02944ddd83e1219d536abbd372cde432035 (patch)
treecd83ca29aa3e03fbd0df5371fc68111e24847b4e /Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
parenta51adec836ae967a827cdddffc5572ef621b69d3 (diff)
parent363d41f9435e5dbdc8e933690cff66f89d3808fc (diff)
Merge remote-tracking branch 'upstream/master' into library_scan_speed
Diffstat (limited to 'Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs')
-rw-r--r--Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs14
1 files changed, 13 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
index 5f5cd0e928..e9e688fa67 100644
--- a/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
+++ b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
@@ -1,5 +1,6 @@
using System;
using System.Linq;
+using System.Threading.Tasks;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Library;
@@ -94,7 +95,18 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio
var albumResolver = new MusicAlbumResolver(_logger, _fileSystem, _libraryManager);
// If we contain an album assume we are an artist folder
- return args.FileSystemChildren.Where(i => i.IsDirectory).Any(i => albumResolver.IsMusicAlbum(i.FullName, directoryService)) ? new MusicArtist() : null;
+ var directories = args.FileSystemChildren.Where(i => i.IsDirectory);
+
+ var result = Parallel.ForEach(directories, (fileSystemInfo, state) =>
+ {
+ if (albumResolver.IsMusicAlbum(fileSystemInfo.FullName, directoryService))
+ {
+ // stop once we see a music album
+ state.Stop();
+ }
+ });
+
+ return !result.IsCompleted ? new MusicArtist() : null;
}
}
}