Cannot create AVDisplayCriteria

Originator:aman
Number:rdar://35451006 Date Originated:
Status: Resolved:
Product:tvOS + SDK Product Version:
Classification:Bug Reproducible:Always
 
I have an app which implements a custom video player using GLKView.

I would like to take advantage of the new AVDisplayManager APIs in tvOS 11.2 to automatically switch the output framerate to match the video content.

However, there are no public APIs available to create an AVDisplayCriteria given a framerate. The only way to retrieve an AVDisplayCriteria object is via AVAsset. However, I am not using AVPlayer so I don't have an AVAsset.

Please expose a public API to retrieve an AVDisplayCriteria for a given framerate and dynamic range.

(For my purposes, I would only need access to two predefined AVDisplayCritera objects: 60hz/SDR and 50hz/SDR)

Comments

I also have an issue with this. There should be no reason to have to rely on AVPlayer / AVAsset to switch the dynamic range or refresh rate of the tv. For those who don't use these things you essentially force their customers to have to switch manually the dynamic range and refresh rate in settings which can get very tedious when they have to work with different types of content in one session.

For my purposes we need to be able to set any dynamic range and any refresh rate that is available in settings.

With regard to "UIAppSupportsHDR". It's a terrible way to force dynamic range because it completely ignores refresh rate.

By robert.lofthouse at June 17, 2021, 9:27 a.m. (reply...)

Please refer to: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW38

UIAppSupportsHDR specifies whether the app supports HDR mode on Apple TV 4K. If the key's value is NO and Apple TV 4K is in HDR mode, Apple TV switches to SDR mode before launching the app, and it switches back to HDR mode when the app resigns. If the key is not present or its value is YES, the device remains in HDR mode when the app launches. HDR mode on Apple TV 4K uses the GPU to compose the content that appears on the screen. GPU bound apps, such as games, can access more of the GPU by opting out of HDR support, that is, setting UIAppSupportsHDR to NO. However, switching between HDR and SDR modes may cause color flashing to appear on the screen. Apps should only opt out when absolutely necessary. This key is supported in tvOS 11.2 and later.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!