Cannot change audio tracks during the first segment
Created by: aj-r
This is a continuation of the discussion in #2411 - I'm creating a separate issue to make it easier to track, and avoid polluting the comments in a closed PR. @epiclabsDASH
When track switch mode is ALWAYS_REPLACE, and you switch audio tracks during the first segment, no switch occurs. The same issue happens in 2.6.6 and 2.6.5.
I can reproduce this with one of my customer's clips, but unfortunately I can't share that publicly. I've created a test clip at http://www.aj-r.com/sintel-long-segments/stream.mpd, however the first segment (first 15 seconds) doesn't seem to work (it's probably an issue with my clip because it fails dash conformance). In 2.6.6, it tries to download the first segment infinitely, but you can manually seek to the second segment (15-30 seconds) and it starts working. This clip is basically Sintel, with the first 2 minutes removed, and a voiceless audio track added so you can hear the difference.
I can still kind of reproduce the issue with this clip like this:
- Use http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html
- Load the manifest
- Seek to 15-30 seconds
- Change audio tracks (note how it doesn't change)
It also seems like switching audio tracks immediately after doing a seek can cause the audio to lag behind the video. I haven't figured out how to reproduce consistently, though.
Environment
-
The MPD passes the DASH-IF Conformance Tool on http://dashif.org/conformance.html -
The stream has correct Access-Control-Allow-Origin headers (CORS) -
There are no network errors such as 404s in the browser console when trying to play the stream -
The issue observed is not mentioned on https://github.com/Dash-Industry-Forum/dash.js/wiki/FAQ -
The issue occurs in the latest reference client on http://reference.dashif.org/dash.js/ and not just on my page
- Link to playable MPD file: http://www.aj-r.com/sintel-long-segments/stream.mpd (disclaimer: 1st segment doesn't actually work. I'll see if I can build a better sample)
- Dash.js version: RC 2.6.6
- Browser name/version: Chome 63
- OS name/version: Windows 10