Explorar o código

fix music scan

Luke Pulverenti %!s(int64=10) %!d(string=hai) anos
pai
achega
c87dd6008a
Modificáronse 1 ficheiros con 13 adicións e 10 borrados
  1. 13 10
      MediaBrowser.Providers/Manager/MetadataService.cs

+ 13 - 10
MediaBrowser.Providers/Manager/MetadataService.cs

@@ -447,18 +447,21 @@ namespace MediaBrowser.Providers.Manager
                 successfulProviderCount += remoteResult.Successes;
             }
 
-            // If no local providers and doing a full refresh, take data from item itself
-            if (options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh &&
-                localProviders.Count == 0 &&
-                refreshResult.UpdateType > ItemUpdateType.None)
+            if (providers.Any(i => !(i is ICustomMetadataProvider)))
             {
-                // TODO: If the new metadata from above has some blank data, this can cause old data to get filled into those empty fields
-                MergeData(item, temp, new List<MetadataFields>(), false, true);
-            }
+                // If no local providers and doing a full refresh, take data from item itself
+                if (options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh &&
+                    localProviders.Count == 0 &&
+                    refreshResult.UpdateType > ItemUpdateType.None)
+                {
+                    // TODO: If the new metadata from above has some blank data, this can cause old data to get filled into those empty fields
+                    MergeData(item, temp, new List<MetadataFields>(), false, true);
+                }
 
-            if (refreshResult.UpdateType > ItemUpdateType.None)
-            {
-                MergeData(temp, item, item.LockedFields, true, true);
+                if (refreshResult.UpdateType > ItemUpdateType.None)
+                {
+                    MergeData(temp, item, item.LockedFields, true, true);
+                }
             }
 
             var isUnidentified = failedProviderCount > 0 && successfulProviderCount == 0;