Bläddra i källkod

Merge pull request #9306 from 1337joe/fix-locked-item-metadata-updates

Bond-009 2 år sedan
förälder
incheckning
228fa2f1bf

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

@@ -334,6 +334,12 @@ namespace MediaBrowser.Providers.Manager
                 updateType |= UpdateCumulativeRunTimeTicks(item, children);
                 updateType |= UpdateDateLastMediaAdded(item, children);
 
+                // don't update user-changeable metadata for locked items
+                if (item.IsLocked)
+                {
+                    return updateType;
+                }
+
                 if (EnableUpdatingPremiereDateFromChildren)
                 {
                     updateType |= UpdatePremiereDate(item, children);
@@ -375,7 +381,7 @@ namespace MediaBrowser.Providers.Manager
                 if (!folder.RunTimeTicks.HasValue || folder.RunTimeTicks.Value != ticks)
                 {
                     folder.RunTimeTicks = ticks;
-                    return ItemUpdateType.MetadataEdit;
+                    return ItemUpdateType.MetadataImport;
                 }
             }
 

+ 4 - 1
MediaBrowser.Providers/MediaInfo/AudioFileProber.cs

@@ -105,7 +105,10 @@ namespace MediaBrowser.Providers.MediaInfo
             audio.RunTimeTicks = mediaInfo.RunTimeTicks;
             audio.Size = mediaInfo.Size;
 
-            FetchDataFromTags(audio);
+            if (!audio.IsLocked)
+            {
+                FetchDataFromTags(audio);
+            }
 
             _itemRepo.SaveMediaStreams(audio.Id, mediaInfo.MediaStreams, cancellationToken);
         }

+ 6 - 0
MediaBrowser.Providers/Music/AlbumMetadataService.cs

@@ -54,6 +54,12 @@ namespace MediaBrowser.Providers.Music
         {
             var updateType = base.UpdateMetadataFromChildren(item, children, isFullRefresh, currentUpdateType);
 
+            // don't update user-changeable metadata for locked items
+            if (item.IsLocked)
+            {
+                return updateType;
+            }
+
             if (isFullRefresh || currentUpdateType > ItemUpdateType.None)
             {
                 if (!item.LockedFields.Contains(MetadataField.Name))