diff --git a/src/renderer/src/lib/Player/Player.svelte b/src/renderer/src/lib/Player/Player.svelte index 11f2f3f..b1ff702 100644 --- a/src/renderer/src/lib/Player/Player.svelte +++ b/src/renderer/src/lib/Player/Player.svelte @@ -137,12 +137,12 @@ chapters = [] currentSkippable = null completed = false + if (subs) subs.destroy() current = file emit('current', current) - if (subs) subs.destroy() - subs = new Subtitles(video, files, current, handleHeaders) src = file.url client.send('current', file) + subs = new Subtitles(video, files, current, handleHeaders) await tick() video?.play() } @@ -892,7 +892,6 @@ on:loadedmetadata={findChapters} on:loadedmetadata={autoPlay} on:loadedmetadata={checkAudio} - on:loadedmetadata={() => subs?.initSubtitleRenderer()} on:leavepictureinpicture={() => (pip = false)} /> {#if stats}
diff --git a/src/renderer/src/modules/subtitles.js b/src/renderer/src/modules/subtitles.js index 1c6ac1c..ad22fbc 100644 --- a/src/renderer/src/modules/subtitles.js +++ b/src/renderer/src/modules/subtitles.js @@ -87,6 +87,7 @@ export default class Subtitles { this.onHeader() } } + this.initSubtitleRenderer() const tracks = this.headers?.filter(t => t) if (tracks?.length && set.subtitleLanguage) { if (tracks.length === 1) { @@ -169,7 +170,6 @@ export default class Subtitles { this.fonts.push(new Uint8Array(set.font.data)) } this.renderer = new JASSUB(options) - this.selectCaptions(this.current) } }