浏览代码

Add Dolby Vision tests for Tizen (#12670)

* Fix Tizen H264 profiles

* Add Dolby Vision tests for Tizen

* Allow Dolby Vision fallback layer on Tizen 3+
Dmitry Lyzo 3 月之前
父节点
当前提交
940c4e8ba8

+ 8 - 0
tests/Jellyfin.Model.Tests/Dlna/StreamBuilderTests.cs

@@ -182,6 +182,10 @@ namespace Jellyfin.Model.Tests
         [InlineData("Tizen3-stereo", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen3-stereo", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen3-stereo", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen3-stereo", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen3-stereo", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen3-stereo", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay)]
+        [InlineData("Tizen3-stereo", "mkv-dvhe.08-eac3-15200k", PlayMethod.DirectPlay)]
+        [InlineData("Tizen3-stereo", "mp4-dvh1.05-eac3-15200k", PlayMethod.Transcode, TranscodeReason.VideoRangeTypeNotSupported | TranscodeReason.AudioChannelsNotSupported, "Transcode")]
+        [InlineData("Tizen3-stereo", "mp4-dvhe.08-eac3-15200k", PlayMethod.DirectPlay)]
+        [InlineData("Tizen3-stereo", "mkv-dvhe.05-eac3-28000k", PlayMethod.Transcode, TranscodeReason.VideoBitrateNotSupported | TranscodeReason.VideoRangeTypeNotSupported | TranscodeReason.AudioChannelsNotSupported, "Transcode")]
         [InlineData("Tizen3-stereo", "numstreams-32", PlayMethod.DirectPlay)]
         [InlineData("Tizen3-stereo", "numstreams-32", PlayMethod.DirectPlay)]
         [InlineData("Tizen3-stereo", "numstreams-33", PlayMethod.Transcode, TranscodeReason.StreamCountExceedsLimit, "Remux")]
         [InlineData("Tizen3-stereo", "numstreams-33", PlayMethod.Transcode, TranscodeReason.StreamCountExceedsLimit, "Remux")]
         // Tizen 4 4K 5.1
         // Tizen 4 4K 5.1
@@ -195,6 +199,10 @@ namespace Jellyfin.Model.Tests
         [InlineData("Tizen4-4K-5.1", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen4-4K-5.1", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen4-4K-5.1", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen4-4K-5.1", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen4-4K-5.1", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay)]
         [InlineData("Tizen4-4K-5.1", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay)]
+        [InlineData("Tizen4-4K-5.1", "mkv-dvhe.08-eac3-15200k", PlayMethod.DirectPlay)]
+        [InlineData("Tizen4-4K-5.1", "mp4-dvh1.05-eac3-15200k", PlayMethod.Transcode, TranscodeReason.VideoRangeTypeNotSupported, "Transcode")]
+        [InlineData("Tizen4-4K-5.1", "mp4-dvhe.08-eac3-15200k", PlayMethod.DirectPlay)]
+        [InlineData("Tizen4-4K-5.1", "mkv-dvhe.05-eac3-28000k", PlayMethod.Transcode, TranscodeReason.VideoRangeTypeNotSupported, "Transcode")]
         [InlineData("Tizen4-4K-5.1", "numstreams-32", PlayMethod.DirectPlay)]
         [InlineData("Tizen4-4K-5.1", "numstreams-32", PlayMethod.DirectPlay)]
         [InlineData("Tizen4-4K-5.1", "numstreams-33", PlayMethod.Transcode, TranscodeReason.StreamCountExceedsLimit, "Remux")]
         [InlineData("Tizen4-4K-5.1", "numstreams-33", PlayMethod.Transcode, TranscodeReason.StreamCountExceedsLimit, "Remux")]
         // WebOS 23
         // WebOS 23

+ 15 - 1
tests/Jellyfin.Model.Tests/Test Data/DeviceProfile-Tizen3-stereo.json

@@ -439,7 +439,14 @@
                 {
                 {
                     "Condition": "EqualsAny",
                     "Condition": "EqualsAny",
                     "Property": "VideoProfile",
                     "Property": "VideoProfile",
-                    "Value": "high|main|baseline|constrained baseline|high 10",
+                    "Value": "high|main|baseline|constrained baseline",
+                    "IsRequired": false,
+                    "$type": "ProfileCondition"
+                },
+                {
+                    "Condition": "EqualsAny",
+                    "Property": "VideoRangeType",
+                    "Value": "SDR",
                     "IsRequired": false,
                     "IsRequired": false,
                     "$type": "ProfileCondition"
                     "$type": "ProfileCondition"
                 },
                 },
@@ -478,6 +485,13 @@
                     "IsRequired": false,
                     "IsRequired": false,
                     "$type": "ProfileCondition"
                     "$type": "ProfileCondition"
                 },
                 },
+                {
+                    "Condition": "EqualsAny",
+                    "Property": "VideoRangeType",
+                    "Value": "SDR|DOVIWithSDR|HDR10|DOVIWithHDR10|HLG|DOVIWithHLG",
+                    "IsRequired": false,
+                    "$type": "ProfileCondition"
+                },
                 {
                 {
                     "Condition": "LessThanEqual",
                     "Condition": "LessThanEqual",
                     "Property": "VideoLevel",
                     "Property": "VideoLevel",

+ 15 - 1
tests/Jellyfin.Model.Tests/Test Data/DeviceProfile-Tizen4-4K-5.1.json

@@ -439,7 +439,14 @@
                 {
                 {
                     "Condition": "EqualsAny",
                     "Condition": "EqualsAny",
                     "Property": "VideoProfile",
                     "Property": "VideoProfile",
-                    "Value": "high|main|baseline|constrained baseline|high 10",
+                    "Value": "high|main|baseline|constrained baseline",
+                    "IsRequired": false,
+                    "$type": "ProfileCondition"
+                },
+                {
+                    "Condition": "EqualsAny",
+                    "Property": "VideoRangeType",
+                    "Value": "SDR",
                     "IsRequired": false,
                     "IsRequired": false,
                     "$type": "ProfileCondition"
                     "$type": "ProfileCondition"
                 },
                 },
@@ -471,6 +478,13 @@
                     "IsRequired": false,
                     "IsRequired": false,
                     "$type": "ProfileCondition"
                     "$type": "ProfileCondition"
                 },
                 },
+                {
+                    "Condition": "EqualsAny",
+                    "Property": "VideoRangeType",
+                    "Value": "SDR|DOVIWithSDR|HDR10|DOVIWithHDR10|HLG|DOVIWithHLG",
+                    "IsRequired": false,
+                    "$type": "ProfileCondition"
+                },
                 {
                 {
                     "Condition": "LessThanEqual",
                     "Condition": "LessThanEqual",
                     "Property": "VideoLevel",
                     "Property": "VideoLevel",