Text track switching not working fine for Fragmented Text
Created by: epiclabsDASH
When working with fragmented text tracks, switching across different tracks is not always working. More specifically, whenever the switch implies aborting a previous request that is still in progress, new requests are never done.
Reason behind this is when a request is aborted from TextController
, https://github.com/Dash-Industry-Forum/dash.js/blob/2451c6bf4161fe39e31a8645b7a430dc3512aaa1/src/streaming/text/TextController.js#L148, the event FRAGMENT_LOADING_ABANDONED
is not triggered and then, StreamController
doesn't set isFragmentProcessingInProgress
to false
what causes no new requests for subsequent fragments are done.
Removing calling abort from TextController
fixes reported issue although is not a real solution (after switching text track, for a few second captions of previous selected text track could be shown). We need to find out the way to let scheduleController
knows a request for a fragmentedText chunk has been aborted.
I have verified this issue exists at least from dash.js 2.3 to nightly builds.