AVDisplayManager - Feature extension request

Hi


We are happy to hear that the Apple TV 4K can switch display modes based on content and would love to help our users to configure their display to best suit our content.


In the Apple TV app that we are building the main part of the experience is based around switching between full screen video streams. All of our content is encoded in 50hz (with there are some exceptions of streams in 50/2 and 50/4). A stream is started immedeately when the app enters active foreground state.


To further improve the experience for our users we would like to request the following feature as an extension to the new API.


Providing a preferred display criteria for the application

Seing that

  • All of our content is encoded in 50hz or multiples thereof
  • Fullscreen video display is extremely promenent in the application
  • We would like to switch display refresh rate only once to give the user a solid picture across several streams
  • We would prefer to switch display refresh rate as early as possible so that any eventual flickering will happen before any frame of an ongoing stream, or the launch view, is rendered to screen.

we would love to be able to specify our applications preferred display criteria in the Info.plist, and that the system performs the switch for us as part of bringing our application to the display.


Thank you


Best, Patrik

Replies

Thanks for the feedback! I believe you should be able to accomplish what you want with the current API. First we recommend not requesting any mode switches until the user starts to view a video.



- Disable the automatic behavior by setting AVPlayerViewController.appliesPreferredDisplayCriteriaAutomatically = false.

- Load your video asset into an AVAsset and get the AVDisplayCriteria from it. This will contain information such as the encoding being SDR @ 50Hz.

- On the first video the user watches set the AVDisplayCriteria on AVDisplayManager.preferredDisplayCriteria. This will cause the users TV to mode switch if that user has opted in to the Match Dynamic Range and/or Match Frame Rate settings.



And that's it, if the users TV supports it they should be viewing the video in the requested display mode. If the user leaves the app and comes back tvOS will automatically mode switch back to the requested mode.



For more in depth information check out the Introduction to AVDisplayManager video.