Merge branch 'jellyfin:master' into feature-comicposition

This commit is contained in:
MinecraftPlaye 2021-10-04 09:46:35 +02:00 committed by GitHub
commit 195d05d883
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 13 deletions

View File

@ -44,13 +44,7 @@ class AppRouter {
}, 0); }, 0);
}); });
document.addEventListener('viewshow', () => { document.addEventListener('viewshow', () => this.onViewShow());
const resolve = this.resolveOnNextShow;
if (resolve) {
this.resolveOnNextShow = null;
resolve();
}
});
this.baseRoute = window.location.href.split('?')[0].replace(this.getRequestFile(), ''); this.baseRoute = window.location.href.split('?')[0].replace(this.getRequestFile(), '');
// support hashbang // support hashbang
@ -417,6 +411,14 @@ class AppRouter {
}); });
} }
onViewShow() {
const resolve = this.resolveOnNextShow;
if (resolve) {
this.resolveOnNextShow = null;
resolve();
}
}
onForcedLogoutMessageTimeout() { onForcedLogoutMessageTimeout() {
const msg = this.forcedLogoutMsg; const msg = this.forcedLogoutMsg;
this.forcedLogoutMsg = null; this.forcedLogoutMsg = null;
@ -638,7 +640,11 @@ class AppRouter {
const ignore = route.dummyRoute === true || this.previousRoute.dummyRoute === true; const ignore = route.dummyRoute === true || this.previousRoute.dummyRoute === true;
this.previousRoute = route; this.previousRoute = route;
if (ignore) return; if (ignore) {
// Resolve 'show' promise
this.onViewShow();
return;
}
this.handleRoute(ctx, next, route); this.handleRoute(ctx, next, route);
}; };

View File

@ -675,14 +675,14 @@ function tryRemoveElement(elem) {
} }
onEndedInternal(this, elem, this.onError); onEndedInternal(this, elem, this.onError);
if (destroyPlayer) {
this.destroy();
}
} }
this.destroyCustomTrack(elem); this.destroyCustomTrack(elem);
if (destroyPlayer) {
this.destroy();
}
return Promise.resolve(); return Promise.resolve();
} }
@ -1062,7 +1062,13 @@ function tryRemoveElement(elem) {
workerUrl: `${appRouter.baseUrl()}/libraries/subtitles-octopus-worker.js`, workerUrl: `${appRouter.baseUrl()}/libraries/subtitles-octopus-worker.js`,
legacyWorkerUrl: `${appRouter.baseUrl()}/libraries/subtitles-octopus-worker-legacy.js`, legacyWorkerUrl: `${appRouter.baseUrl()}/libraries/subtitles-octopus-worker-legacy.js`,
onError() { 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, timeOffset: (this._currentPlayOptions.transcodingOffsetTicks || 0) / 10000000,