Post

Replies

Boosts

Views

Activity

Reply to On iOS 26, HLS alternate audio track selection behaves inconsistently
Update — Workaround found After further investigation I have found a workaround that resolves the inconsistent track switching behaviour described above. Observation I noticed that changing the order of EXT-X-MEDIA audio entries in the manifest produced different results. Specifically, when the DEFAULT=YES track is listed first, switching behaviour is unreliable. When the DEFAULT=YES track is placed last, switching back to the default language works correctly. Workaround Reorder the EXT-X-MEDIA audio entries so that the DEFAULT=YES rendition appears last in the manifest: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="de",NAME="Deutsch",AUTOSELECT=YES,DEFAULT=NO,CHANNELS="2",URI="audio_DEU.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="fr",NAME="Francais",AUTOSELECT=YES,DEFAULT=NO,CHANNELS="2",URI="audio_FRA.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="en",NAME="English",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="audio_ENG.m3u8" In our case the manifest is generated programmatically, so the fix was applied at the job builder level by sorting audio sources to ensure the default track is always added last. Notes The original issue was intermittent, so I cannot guarantee this workaround covers every edge case The behaviour described in the original post (French-specific fallback and inability to return to English) was part of a broader inconsistency affecting all tracks, not just French The workaround has been verified on both VOD and live CMAF/HLS streams on iOS 26 with native Safari and THEOplayer I am still filing this with Feedback Assistant as the root behaviour — track switching appearing to rely on position index when returning to the default rendition — appears to be a regression. If anyone has additional data points or a different explanation, please share.
Topic: Media Technologies SubTopic: Streaming Tags:
2d