Hello Apple Developer Community,
I am seeking clarification on the intended display behavior of HLS audio tracks within the iOS 26 (or current beta) native player, specifically concerning the NAME
and LANGUAGE
attributes of the EXT-X-MEDIA
tag.
In our HLS manifests, we define alternative audio tracks using EXT-X-MEDIA
tags, like so:
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",LANGUAGE="ja",NAME="AUDIO-1",DEFAULT=YES,AUTOSELECT=YES,URI="audio_ja.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",LANGUAGE="ja",NAME="AUDIO-2",URI="audio_en.m3u8"
Our observation is that when an audio track is selected and its name is displayed in the native iOS media controls (e.g., Control Center or within a full-screen video player's UI), the value specified in the NAME
attribute ("AUDIO-1", "AUDIO-2") does not seem to be used. Instead, the display appears to derive from the LANGUAGE
attribute ("ja", "en"), often showing the system's localized string for that language (e.g., "Japanese", "English").
We would like to understand the official or intended behavior regarding this.
- Is it the expected behavior for the iOS native player to prioritize the
LANGUAGE
attribute (or its localized equivalent) over theNAME
attribute for displaying the selected audio track's label? - If this is the intended design, what is the recommended best practice for developers who wish to present a custom, human-readable name for audio tracks (beyond the standard language name) in the native iOS UI?
- Are there any specific
AVPlayer
properties orAVMediaSelectionOption
considerations that would allow more granular control over this display, or is this entirely managed by the system based on theLANGUAGE
attribute?
Any insights or official guidance on this behavior in iOS 26 (and potentially previous versions) would be greatly appreciated.
Thank you for your time and assistance.
Hello @TomohiroTakamura,
I recommend that you take a look at Appendix E (Displaying Rendition Names) of the current draft of the current HLS draft: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#appendix-E
If you are still unclear on the expected behavior after reading Appendix E, please let me know!
--Greg