diff options
| author | Joe Rogers <1337joe@gmail.com> | 2022-01-22 21:59:17 +0100 |
|---|---|---|
| committer | Joe Rogers <1337joe@gmail.com> | 2022-01-22 21:59:17 +0100 |
| commit | fbd243e3152102998e4d94646615b199e3469b5d (patch) | |
| tree | 9a15251a31fe4486b94627d0160d84740f281997 /MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs | |
| parent | 4f1eed862ed7c486f58d4ee3846f2def77359a87 (diff) | |
Make ffprobe consistent with MetadataService.MergeData
Diffstat (limited to 'MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs')
| -rw-r--r-- | MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs index 77372e063..a2fb2a3c9 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs @@ -368,11 +368,11 @@ namespace MediaBrowser.Providers.MediaInfo private void FetchEmbeddedInfo(Video video, Model.MediaInfo.MediaInfo data, MetadataRefreshOptions refreshOptions, LibraryOptions libraryOptions) { - var isFullRefresh = refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh; + var replaceData = refreshOptions.ReplaceAllMetadata; if (!video.IsLocked && !video.LockedFields.Contains(MetadataField.OfficialRating)) { - if (!string.IsNullOrWhiteSpace(data.OfficialRating) || isFullRefresh) + if (string.IsNullOrWhiteSpace(video.OfficialRating) || replaceData) { video.OfficialRating = data.OfficialRating; } @@ -380,7 +380,7 @@ namespace MediaBrowser.Providers.MediaInfo if (!video.IsLocked && !video.LockedFields.Contains(MetadataField.Genres)) { - if (video.Genres.Length == 0 || isFullRefresh) + if (video.Genres.Length == 0 || replaceData) { video.Genres = Array.Empty<string>(); @@ -393,21 +393,28 @@ namespace MediaBrowser.Providers.MediaInfo if (!video.IsLocked && !video.LockedFields.Contains(MetadataField.Studios)) { - if (video.Studios.Length == 0 || isFullRefresh) + if (video.Studios.Length == 0 || replaceData) { video.SetStudios(data.Studios); } } - if (video is MusicVideo musicVideo) + if (!video.IsLocked && video is MusicVideo musicVideo) { - musicVideo.Album = data.Album; - musicVideo.Artists = data.Artists; + if (string.IsNullOrEmpty(musicVideo.Album) || replaceData) + { + musicVideo.Album = data.Album; + } + + if (musicVideo.Artists.Count == 0 || replaceData) + { + musicVideo.Artists = data.Artists; + } } if (data.ProductionYear.HasValue) { - if (!video.ProductionYear.HasValue || isFullRefresh) + if (!video.ProductionYear.HasValue || replaceData) { video.ProductionYear = data.ProductionYear; } @@ -415,7 +422,7 @@ namespace MediaBrowser.Providers.MediaInfo if (data.PremiereDate.HasValue) { - if (!video.PremiereDate.HasValue || isFullRefresh) + if (!video.PremiereDate.HasValue || replaceData) { video.PremiereDate = data.PremiereDate; } @@ -423,7 +430,7 @@ namespace MediaBrowser.Providers.MediaInfo if (data.IndexNumber.HasValue) { - if (!video.IndexNumber.HasValue || isFullRefresh) + if (!video.IndexNumber.HasValue || replaceData) { video.IndexNumber = data.IndexNumber; } @@ -431,7 +438,7 @@ namespace MediaBrowser.Providers.MediaInfo if (data.ParentIndexNumber.HasValue) { - if (!video.ParentIndexNumber.HasValue || isFullRefresh) + if (!video.ParentIndexNumber.HasValue || replaceData) { video.ParentIndexNumber = data.ParentIndexNumber; } @@ -462,7 +469,7 @@ namespace MediaBrowser.Providers.MediaInfo if (!video.IsLocked && !video.LockedFields.Contains(MetadataField.Overview)) { - if (string.IsNullOrWhiteSpace(video.Overview) || isFullRefresh) + if (string.IsNullOrWhiteSpace(video.Overview) || replaceData) { video.Overview = data.Overview; } @@ -471,11 +478,11 @@ namespace MediaBrowser.Providers.MediaInfo private void FetchPeople(Video video, Model.MediaInfo.MediaInfo data, MetadataRefreshOptions options) { - var isFullRefresh = options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh; + var replaceData = options.ReplaceAllMetadata; if (!video.IsLocked && !video.LockedFields.Contains(MetadataField.Cast)) { - if (isFullRefresh || _libraryManager.GetPeople(video).Count == 0) + if (replaceData || _libraryManager.GetPeople(video).Count == 0) { var people = new List<PersonInfo>(); |
