You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
internal error happened while processing hlsMediaAttached:Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
Error: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
at Error (native)
at Function.bufferInfo (__CENSORED__)
at AudioStreamController.doTick (__CENSORED__)
at AudioStreamController.tick (__CENSORED__)
at AudioStreamController.startLoad (__CENSORED__)
at AudioStreamController.onMediaAttached (__CENSORED__)
at AudioStreamController.onEventGeneric (__CENSORED__)
at AudioStreamController.onEvent (__CENSORED__)
at EventEmitter.__L.assetCallback.Array.concat.exports.1.EventEmitter.emit (__CENSORED__)
at EventEmitter.trigger (__CENSORED__)
During this flow (investigated myself):
recoverMediaError
-> detachMedia -> trigger(MEDIA_DETACHING) -> onMediaDetaching
-> attachMedia -> trigger(MEDIA_ATTACHING) -> onMediaAttaching
(sourceopen event happens) ->
-> onMediaSourceOpen -> trigger(MEDIA_ATTACHED) ->
-> onMediaAttached -> startLoad -> tick -> doTick (in State.IDLE) -> bufferInfo ->
-> (the exception is thrown, but is caught in EventEmitter.trigger) ->
-> (the component is likely left in an invalid state)
fix Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source. exception
related to #620
Hi @mangui, thank you! From reviewing the code, this should be fixed.
I 've discovered that it was my mistake of removing the check for the fatal flag, as only fatalHls.ErrorTypes.MEDIA_ERROR errors were properly recovered, that's why the error was discovered -- the buffer error is a Hls.ErrorTypes.MEDIA_ERROR, too. After I've filtered out only fatal media error to recover from, the error obviously stopped popping up.
I'd like to test specifically dailymotion@d5ec796 because it's a non-obvious change, but I had to switch to another project for now, so I won't get back to the player for several days.
Anyway, updating to the latest master may render the player unstable because of other changes if any, so I wouldn't rush with bleeding-edge updates here and wait for a release.
Environment
Steps to reproduce
Call
swapAudioCodec
followed byrecoverMediaError
:in response to a
"bufferStalledError"
:The following error should happen:
During this flow (investigated myself):
Master playlist:
Level playlist:
Expected behavior
No exception.
Actual behavior
Exception on this line:
https://github.com/dailymotion/hls.js/blob/c965973e73ae00490eb8692898a49cf7d5bb80cc/src/controller/buffer-controller.js#L108
this.mediaSource
isnull
.At the moment of exception,
this
isBufferController
:Console output
The text was updated successfully, but these errors were encountered: