Backport pull request #7298 from jellyfin-web/release-10.11.z

Relax dynamic HDR device Profile

Original-merge: f445e53f7e

Merged-by: thornbill <thornbill@users.noreply.github.com>

Backported-by: thornbill <thornbill@users.noreply.github.com>
This commit is contained in:
gnattu
2025-11-17 11:14:11 -05:00
committed by thornbill
parent 463b3559b1
commit 0c9e61fdc2

View File

@@ -1176,12 +1176,18 @@ export default function (options) {
}
if (supportsHdr10(options)) {
hevcVideoRangeTypes += '|HDR10';
vp9VideoRangeTypes += '|HDR10';
av1VideoRangeTypes += '|HDR10';
// HDR10+ videos can be safely played on all HDR10 capable devices, just without the dynamic metadata.
hevcVideoRangeTypes += '|HDR10|HDR10Plus';
vp9VideoRangeTypes += '|HDR10|HDR10Plus';
av1VideoRangeTypes += '|HDR10|HDR10Plus';
if (browser.tizenVersion >= 3 || browser.vidaa) {
hevcVideoRangeTypes += '|DOVIWithHDR10';
// Tizen TV does not support Dolby Vision at all, but it can safely play the HDR fallback.
// Advertising the support so that the server doesn't have to remux.
hevcVideoRangeTypes += '|DOVIWithHDR10|DOVIWithHDR10Plus|DOVIWithEL|DOVIWithELHDR10Plus|DOVIInvalid';
// Although no official tools exist to create AV1+DV files yet, some of our users managed to use community tools to create such files.
// These files should also be playable on Tizen TVs.
av1VideoRangeTypes += '|DOVIWithHDR10|DOVIWithHDR10Plus|DOVIWithEL|DOVIWithELHDR10Plus|DOVIInvalid';
}
}
@@ -1201,11 +1207,22 @@ export default function (options) {
hevcVideoRangeTypes += '|DOVI';
}
if (profiles.includes(8)) {
hevcVideoRangeTypes += '|DOVIWithHDR10|DOVIWithHLG|DOVIWithSDR';
hevcVideoRangeTypes += '|DOVIWithHDR10|DOVIWithHLG|DOVIWithSDR|DOVIWithHDR10Plus';
}
if (browser.web0s) {
// For webOS, we should allow direct play of some not fully supported DV profiles to avoid unnecessary remux/transcode
// webOS seems to be able to play the fallback of Profile 7 and most invalid profiles
hevcVideoRangeTypes += '|DOVIWithEL|DOVIWithELHDR10Plus|DOVIInvalid';
}
if (supportedDolbyVisionProfileAv1(videoTestElement)) {
av1VideoRangeTypes += '|DOVI|DOVIWithHDR10|DOVIWithHLG|DOVIWithSDR';
av1VideoRangeTypes += '|DOVI|DOVIWithHDR10|DOVIWithHLG|DOVIWithSDR|DOVIWithHDR10Plus';
if (browser.web0s) {
// For webOS, we should allow direct play of some not fully supported DV profiles to avoid unnecessary remux/transcode
// webOS seems to be able to play the fallback of Profile 7 and most invalid profiles
av1VideoRangeTypes += '|DOVIWithEL|DOVIWithELHDR10Plus|DOVIInvalid';
}
}
}