IE11 - redirected URLs not used for obtaining chunks
Created by: Babbie
Environment
-
The MPD passes the DASH-IF Conformance Tool on https://conformance.dashif.org/ -
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: Cannot provide, as links are external and session-specific
- Dash.js version: 3.2.0
- Browser name/version: Internet Explorer 11 20H2
- OS name/version: Windows 10 Pro 19042.804
Steps to reproduce
- Have a URL for an MPD that will redirect using a 307 (in order to use a session)
- Initialize the player
Observed behavior
Player attempts to load relative to original URL, not the redirected.
Console output
[1430] Stopping the gap controller
[1465][Protection] EME detected on this user agent! (ProtectionModel_3Feb2014)
[1465][MediaPlayer] Streaming Initialized
[1467][EventController] Start Event Controller
[1469][MediaPlayer] Playback Initialized
[1470][MediaPlayer] [dash.js 3.2.0] MediaPlayer has been initialized
[1796][DashParser] Parsing complete: ( xml2json: 5.90ms, objectiron: 0.00ms, total: 0.00590s)
[1798][StreamController] Switch to stream 0. Seektime is NaN, current playback time is null
[1798][StreamController] Seamless period switch is set to false
[1802][StreamController] MediaSource attached to element. Waiting on open...
[1803][ManifestUpdater] Manifest has been refreshed at Wed Feb 17 2021 13:05:55 GMT+0100 (W. Europe Standard Time)[1613563555.054]
[1806][StreamController] MediaSource is open!
[1807][StreamController] Duration successfully set to: 30
[1807][EventController] Added 0 inline events
[1807][Stream] video codec: video/mp4;codecs="avc1.4d4015"
[1812][Stream] audio codec: audio/mp4;codecs="mp4a.40.2"
[1815][Stream] No text data.
[1815][Stream] No fragmentedText data.
[1816][Stream] No embeddedText data.
[1816][Stream] No muxed data.
[1816][Stream] No image data.
[1816] Updated append window. Set start to 0 and end to 30
[1817][SourceBufferSink][video] Updated append window. Set start to 0 and end to 30
[1818] Updated append window. Set start to 0 and end to 30
[1818][SourceBufferSink][audio] Updated append window. Set start to 0 and end to 30
[1819][ScheduleController][video] Schedule Controller starts
[1819][ScheduleController][audio] Schedule Controller starts
[1923][AbrController] [video] stay on 0/0 (buffer: 0)
[1924][ScheduleController][video] Quality has changed, get init request for representationid = p0va0br1002403
[1925][ScheduleController][video] isFragmentProcessingInProgress is already equal to true
[1928][AbrController] [audio] stay on 0/0 (buffer: 0)
[1928][ScheduleController][audio] Quality has changed, get init request for representationid = p0aa0br96056
[1928][ScheduleController][audio] isFragmentProcessingInProgress is already equal to true
[5127][FragmentController] No audio bytes to push or stream is inactive.
[5128][ScheduleController][audio] OnFragmentLoadingCompleted - Url: https://rrr.sz.xlcdn.com/chunk_ctaudio_ridp0aa0br96056_cinit_mpd.m4s
[5131][FragmentModel][video] abort requests
[5132][ScheduleController][video] onFragmentLoadingAbandoned request: https://rrr.sz.xlcdn.com/chunk_ctvideo_ridp0va0br1002403_cinit_mpd.m4s has been aborted
[5132][ScheduleController][video] onFragmentLoadingAbandoned request: https://rrr.sz.xlcdn.com/chunk_ctvideo_ridp0va0br1002403_cinit_mpd.m4s has to be downloaded again, origin is not seeking process or switch track call
[5132][ScheduleController][video] Schedule Controller stops
[5132][ScheduleController][video] video Schedule Controller stops
[5132][FragmentModel][audio] abort requests
[5132][ScheduleController][audio] Schedule Controller stops
[5133][ScheduleController][audio] audio Schedule Controller stops
Expected behavior
On Firefox and Chrome, the player correctly uses the link obtained upon first request of the manifest for all future data. On IE11, it attempts to load data from the original URL instead, leading to 404 errors. Of note is that the manifest is loaded correctly, and the chunk filenames are correct, but the path itself is not.
Unfortunately, I cannot test the manifest in IE11 on the reference client as the reference client itself fails to load in IE11. (Video shows text "{{ castPlayerState === 'IDLE' ? 'Ready to cast stream' : castPlayerState }}" and page is unresponsive).
I also cannot provide the link used as they are sessioned and only work for 5 minutes.
For reference, a correct URL would look as follows: https://wos.cr1.streamzilla.xlcdn.com/session/<key scrubbed>/vod/_definst_/sz/<username scrubbed>/<scrubbed>/<scrubbed>.mp4/chunk_ctvideo_ridp0va0br1002403_cinit_mpd.m4s