diff options
| -rw-r--r-- | MediaBrowser.Providers/Manager/MetadataService.cs | 2 | ||||
| -rw-r--r-- | tests/Jellyfin.Providers.Tests/Manager/MetadataServiceTests.cs | 12 |
2 files changed, 12 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index 0f2188aa8..1d83263c5 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -1279,7 +1279,7 @@ namespace MediaBrowser.Providers.Manager { if (source is Video sourceCast && target is Video targetCast) { - if (replaceData || !targetCast.Video3DFormat.HasValue) + if (sourceCast.Video3DFormat.HasValue && (replaceData || !targetCast.Video3DFormat.HasValue)) { targetCast.Video3DFormat = sourceCast.Video3DFormat; } diff --git a/tests/Jellyfin.Providers.Tests/Manager/MetadataServiceTests.cs b/tests/Jellyfin.Providers.Tests/Manager/MetadataServiceTests.cs index b5585f4fd..cdebdadfb 100644 --- a/tests/Jellyfin.Providers.Tests/Manager/MetadataServiceTests.cs +++ b/tests/Jellyfin.Providers.Tests/Manager/MetadataServiceTests.cs @@ -157,7 +157,17 @@ namespace Jellyfin.Providers.Tests.Manager Assert.True(TestMergeBaseItemData<Movie, MovieInfo>(propName, oldValue, newValue, null, true, out _)); Assert.True(TestMergeBaseItemData<Movie, MovieInfo>(propName, null, newValue, null, false, out _)); - Assert.True(TestMergeBaseItemData<Movie, MovieInfo>(propName, oldValue, null, null, true, out _)); + // Video3DFormat - null values do NOT replace existing data + if (string.Equals(propName, "Video3DFormat", StringComparison.Ordinal)) + { + Assert.False( + TestMergeBaseItemData<Movie, MovieInfo>(propName, oldValue, null, null, true, out _)); + } + else + { + Assert.True( + TestMergeBaseItemData<Movie, MovieInfo>(propName, oldValue, null, null, true, out _)); + } } [Fact] |
