Add tvOS display frame rate and dynamic range matching

Lets the Apple TV switch its HDMI output to match the playing video's
frame rate and dynamic range via AVDisplayManager.preferredDisplayCriteria,
driven from MPV's container-fps and video-params/gamma. Two opt-in toggles
(default off) live under Playback → Display on tvOS; both are no-ops on
other platforms. Anchor an AVKit class symbol so the linker keeps AVKit
linked — Swift only autolinks AVFoundation here, and without AVKit the
UIWindow.avDisplayManager category isn't loaded at runtime.
This commit is contained in:
Arkadiusz Fal
2026-05-10 01:30:55 +02:00
parent 100e762d4b
commit 6a343311ea
8 changed files with 333 additions and 0 deletions

View File

@@ -12372,6 +12372,48 @@
}
}
},
"settings.playback.tvDisplayMatching.dynamicRange" : {
"comment" : "Toggle label (tvOS only)",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Match Dynamic Range"
}
}
}
},
"settings.playback.tvDisplayMatching.footer" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Asks the Apple TV to switch its HDMI output mode to match the video being played. Also requires Match Content → Frame Rate / Dynamic Range to be enabled in tvOS Settings → Video and Audio."
}
}
}
},
"settings.playback.tvDisplayMatching.frameRate" : {
"comment" : "Toggle label (tvOS only)",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Match Frame Rate"
}
}
}
},
"settings.playback.tvDisplayMatching.header" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Display"
}
}
}
},
"settings.playback.tvOSMenuButtonClosesVideo" : {
"localizations" : {
"en" : {