aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortheguymadmax <theguymadmax@proton.me>2025-09-06 13:38:00 -0400
committerGitHub <noreply@github.com>2025-09-06 11:38:00 -0600
commite043f93a72e75b159b987869cd590c77d55a034e (patch)
treef1275ab7e8e9aa2252952a3af598d54df251f0af
parent6ac2d707cba11d7986606bb8f2e00c03c7dc3258 (diff)
Preserve 3D format on metadata refresh (#14742)
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs2
-rw-r--r--tests/Jellyfin.Providers.Tests/Manager/MetadataServiceTests.cs12
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]