aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2023-02-14 09:42:51 +0100
committerGitHub <noreply@github.com>2023-02-14 09:42:51 +0100
commit228fa2f1bf06d011b90d964b879a9dd29720684d (patch)
tree8a903f7273a8a20566ca9744d6736cbaf3e5df89
parent1c72a8e0068fec8045884fa386a67c90a364ee0a (diff)
parent4ce30989e0a0b70b2b425f6dd269306d8270716c (diff)
Merge pull request #9306 from 1337joe/fix-locked-item-metadata-updates
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs8
-rw-r--r--MediaBrowser.Providers/MediaInfo/AudioFileProber.cs5
-rw-r--r--MediaBrowser.Providers/Music/AlbumMetadataService.cs6
3 files changed, 17 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index ffae77200..9f287766a 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/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;
}
}
diff --git a/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs b/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
index 74210b1f2..19b594c1c 100644
--- a/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
+++ b/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);
}
diff --git a/MediaBrowser.Providers/Music/AlbumMetadataService.cs b/MediaBrowser.Providers/Music/AlbumMetadataService.cs
index 58cd23aa3..3476e7000 100644
--- a/MediaBrowser.Providers/Music/AlbumMetadataService.cs
+++ b/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))