videojs / videojs/video.js

Audio renditions broken in ios 26

Open
#9,155 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

browser issue
Dominant language
JavaScript
Stars
39.9k
Forks
7.5k
Avg merge
1d 13h
Merged PRs (30d)
3

Description

Description

a simple HLS variant with alternate audios is incorrectly initialized on iphone with ios 26.3, thus unable to switch audio track.

it's appear to be random, non constant problem.
as much master m3u8 simpler - it often occur (original bipbop with a lot of subtitles - unable to reproduce. another foreign playlist with a few subtitles - able to reproduce)

ps:
seems like it can be ios 26 problem, but any workaround is needed.
also, i can't reproduce it with hlsjs demo page.

Reduced test case

https://vps1.caspy.ru/audio_track_test/bipbop_simple.html

Steps to reproduce
  1. open url on iphone with ios 26.3, start play
  2. see under player or in console.log, that audio tracks initialized with duplicating ids
  3. tracks are unable to switch

if loaded in a good way, just reload. problem is not constant.

as much as master m3u8 is simpler - problem easy to reproduce.

Errors

console.log() of tracks from player.audioTracks()
as you can see - id is duplicated.

[Log] AudioTrack {labelchange_: function, id: "1", kind: "alternative", label: "BipBop Audio 2", language: "eng", …} (bipbop_simple.html, line 18)
[Log] AudioTrack {labelchange_: function, id: "1", kind: "main", label: "BipBop Audio 1", language: "eng", …} (bipbop_simple.html, line 18)

What version of Video.js are you using?

8.23.4

Video.js plugins used.

No response

What browser(s) including version(s) does this occur with?

Safari

What OS(es) and version(s) does this occur with?

iOS 26.3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reduced test case at https://vps1.caspy.ru/audio_track_test/bipbop_simple.html on an iPhone running iOS 26.3, using Video.js 8.23.4. Inspect player.audioTracks() and the console output for duplicated track IDs, then verify that the audio tracks initialize with distinct IDs and can be switched reliably.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.