Merge pull request #3024 from dmitrylyzo/fix-jso-dispose

Fix JavascriptSubtitlesOctopus dispose
This commit is contained in:
Bill Thornton 2021-10-04 01:10:49 -04:00 committed by GitHub
commit f18b0d3320
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -675,14 +675,14 @@ function tryRemoveElement(elem) {
}
onEndedInternal(this, elem, this.onError);
if (destroyPlayer) {
this.destroy();
}
}
this.destroyCustomTrack(elem);
if (destroyPlayer) {
this.destroy();
}
return Promise.resolve();
}
@ -1062,7 +1062,13 @@ function tryRemoveElement(elem) {
workerUrl: `${appRouter.baseUrl()}/libraries/subtitles-octopus-worker.js`,
legacyWorkerUrl: `${appRouter.baseUrl()}/libraries/subtitles-octopus-worker-legacy.js`,
onError() {
onErrorInternal(htmlVideoPlayer, 'mediadecodeerror');
// HACK: Clear JavascriptSubtitlesOctopus: it gets disposed when an error occurs
htmlVideoPlayer.#currentSubtitlesOctopus = null;
// HACK: Give JavascriptSubtitlesOctopus time to dispose itself
setTimeout(() => {
onErrorInternal(htmlVideoPlayer, 'mediadecodeerror');
}, 0);
},
timeOffset: (this._currentPlayOptions.transcodingOffsetTicks || 0) / 10000000,