Browse Source

Backport pull request #11673 from jellyfin/release-10.9.z

Fix local playlist scanning

Original-merge: 26714e2c62fb0fe1138bcb731ad7ad4d62bc7637

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
Shadowghost 1 year ago
parent
commit
8b938e2696

+ 4 - 5
Emby.Server.Implementations/Images/BaseFolderImageProvider.cs

@@ -11,7 +11,6 @@ using MediaBrowser.Controller.Library;
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Querying;
 
 namespace Emby.Server.Implementations.Images
 {
@@ -33,12 +32,12 @@ namespace Emby.Server.Implementations.Images
                 Parent = item,
                 Recursive = true,
                 DtoOptions = new DtoOptions(true),
-                ImageTypes = new ImageType[] { ImageType.Primary },
-                OrderBy = new (ItemSortBy, SortOrder)[]
-                {
+                ImageTypes = [ImageType.Primary],
+                OrderBy =
+                [
                     (ItemSortBy.IsFolder, SortOrder.Ascending),
                     (ItemSortBy.SortName, SortOrder.Ascending)
-                },
+                ],
                 Limit = 1
             });
         }

+ 11 - 0
Emby.Server.Implementations/Images/MusicAlbumImageProvider.cs

@@ -1,7 +1,10 @@
 #pragma warning disable CS1591
 
+using System.Collections.Generic;
+using System.Linq;
 using MediaBrowser.Common.Configuration;
 using MediaBrowser.Controller.Drawing;
+using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Entities.Audio;
 using MediaBrowser.Controller.Library;
 using MediaBrowser.Controller.Providers;
@@ -15,5 +18,13 @@ namespace Emby.Server.Implementations.Images
             : base(fileSystem, providerManager, applicationPaths, imageProcessor, libraryManager)
         {
         }
+
+        protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
+        {
+            var items = base.GetItemsWithImages(item);
+
+            // Ignore any folders because they can have generated collages
+            return items.Where(i => i is not Folder).ToList();
+        }
     }
 }

+ 1 - 2
MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs

@@ -169,8 +169,7 @@ namespace MediaBrowser.Controller.Entities.Audio
 
             var childUpdateType = ItemUpdateType.None;
 
-            // Refresh songs only and not m3u files in album folder
-            foreach (var item in items.OfType<Audio>())
+            foreach (var item in items)
             {
                 cancellationToken.ThrowIfCancellationRequested();
 

+ 0 - 1
MediaBrowser.Providers/Manager/MetadataService.cs

@@ -8,7 +8,6 @@ using System.Linq;
 using System.Net.Http;
 using System.Threading;
 using System.Threading.Tasks;
-using Jellyfin.Data.Enums;
 using Jellyfin.Extensions;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.Entities;

+ 1 - 1
MediaBrowser.Providers/Playlists/PlaylistItemsProvider.cs

@@ -54,7 +54,7 @@ namespace MediaBrowser.Providers.Playlists
 
             item.LinkedChildren = items;
 
-            return Task.FromResult(ItemUpdateType.None);
+            return Task.FromResult(ItemUpdateType.MetadataImport);
         }
 
         private IEnumerable<LinkedChild> GetItems(string path, string extension)