nixos/jellyfin: fix hevc10bit decoding toggle being silently ignored (#520045)

This commit is contained in:
Matthieu Coudron
2026-07-23 12:26:40 +00:00
committed by GitHub
2 changed files with 9 additions and 2 deletions
+6 -1
View File
@@ -33,7 +33,11 @@ let
;
cfg = config.services.jellyfin;
filteredDecodingCodecs = builtins.filter (
c: c != "hevcRExt10bit" && c != "hevcRExt12bit" && cfg.transcoding.hardwareDecodingCodecs.${c}
c:
c != "hevc10bit"
&& c != "hevcRExt10bit"
&& c != "hevcRExt12bit"
&& cfg.transcoding.hardwareDecodingCodecs.${c}
) (builtins.attrNames cfg.transcoding.hardwareDecodingCodecs);
encodingXmlText = ''
<?xml version="1.0" encoding="utf-8"?>
@@ -58,6 +62,7 @@ let
<AllowAv1Encoding>${boolToString cfg.transcoding.hardwareEncodingCodecs.av1}</AllowAv1Encoding>
<EnableIntelLowPowerH264HwEncoder>${boolToString cfg.transcoding.enableIntelLowPowerEncoding}</EnableIntelLowPowerH264HwEncoder>
<EnableIntelLowPowerHevcHwEncoder>${boolToString cfg.transcoding.enableIntelLowPowerEncoding}</EnableIntelLowPowerHevcHwEncoder>
<EnableDecodingColorDepth10Hevc>${boolToString cfg.transcoding.hardwareDecodingCodecs.hevc10bit}</EnableDecodingColorDepth10Hevc>
<EnableDecodingColorDepth10HevcRext>${boolToString cfg.transcoding.hardwareDecodingCodecs.hevcRExt10bit}</EnableDecodingColorDepth10HevcRext>
<EnableDecodingColorDepth12HevcRext>${boolToString cfg.transcoding.hardwareDecodingCodecs.hevcRExt12bit}</EnableDecodingColorDepth12HevcRext>
<HardwareDecodingCodecs>
+3 -1
View File
@@ -33,6 +33,7 @@
hardwareDecodingCodecs = {
h264 = true;
hevc = true;
hevc10bit = true;
vp9 = true;
hevcRExt10bit = true;
hevcRExt12bit = true;
@@ -174,7 +175,8 @@
assert config.get("EnableIntelLowPowerH264HwEncoder") == True, f"Intel low power H264: expected True, got '{config.get('EnableIntelLowPowerH264HwEncoder')}'"
assert config.get("EnableIntelLowPowerHevcHwEncoder") == True, f"Intel low power HEVC: expected True, got '{config.get('EnableIntelLowPowerHevcHwEncoder')}'"
# HEVC RExt color depth verification
# HEVC color depth verification
assert config.get("EnableDecodingColorDepth10Hevc") == True, f"HEVC 10bit: expected True, got '{config.get('EnableDecodingColorDepth10Hevc')}'"
assert config.get("EnableDecodingColorDepth10HevcRext") == True, f"HEVC RExt 10bit: expected True, got '{config.get('EnableDecodingColorDepth10HevcRext')}'"
assert config.get("EnableDecodingColorDepth12HevcRext") == True, f"HEVC RExt 12bit: expected True, got '{config.get('EnableDecodingColorDepth12HevcRext')}'"