Memory leak with dynamic manifests on Dash v3.0.0
Created by: robertbryer
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:https://reference.dashif.org/dash.js/v3.0.0/samples/dash-if-reference-player/index.html?url=https://live-integration-msp-edge.connectcdn.net/mm/dash/live/67812/LIVESERVICE_e3af8e66dc904b42a2c0976030dcef82/TG_STB_HD.mpd
- Dash.js version: 3.0.0
- Browser name/version: All
- OS name/version: All
Steps to reproduce
- Start a dynamic stream
- Measure the memory usage
- Playback for 5 minutes
- Measure the memory usage again and see it's going up!
- Check in the TextTrack's CueList and see there's a lot of cues (~10,000) in there.
Because cues aren't being cleaned out periodically, it's possible to build up a lot of them with this stream - because the subs are snaked to every letter, there's a lot of cues generated. Using Edge, without the VTTCues, this means there's a new HTMLElement generated for each cue, and playing for a bit can mean a lot of them get generated.