v4: IE11 fails to play throwing 'Promise' is undefined
Created by: davemevans
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: Any (eg https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd)
- Dash.js version: 4.0.0 (development, commit: df7961d0)
- Browser name/version: IE11
- OS name/version: Win10
Steps to reproduce
- Play any asset
Observed behavior
Playback fails to start
Console output
SCRIPT5009: 'Promise' is undefined
CapabilitiesFilter.js (49,9)
Expected behavior
Playback should start.
Promises have been used for a while in various features, presumably meaning using those features in IE11 cause playback to fail, but it seems there is now one in the core playback initialisation flow (codec filtering) which means that IE11 no longer works at all. Playback worked in 3.2.2.
Either Promises needed to be polyfilled during transpilation, or they need to be replaced with some other mechanism, or IE11 support should be dropped from v4.