diff --git a/package-lock.json b/package-lock.json index 01d3a39dc..1a6b8be70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2471,6 +2471,11 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "@jellyfin/libass-wasm": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@jellyfin/libass-wasm/-/libass-wasm-4.1.0.tgz", + "integrity": "sha512-2qOlszGw998SpB7GEFLXksHNAQHIDUye4WxfWRl7VmXfYILbvUM/tQN63KBrQzV0TJyyY84wpcnJN13Oi+JeOQ==" + }, "@jridgewell/resolve-uri": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", @@ -8102,10 +8107,6 @@ "resolved": "https://registry.npmjs.org/libarchive.js/-/libarchive.js-1.3.0.tgz", "integrity": "sha512-EkQfRXt9DhWwj6BnEA2TNpOf4jTnzSTUPGgE+iFxcdNqjktY8GitbDeHnx8qZA0/IukNyyBUR3oQKRdYkO+HFg==" }, - "libass-wasm": { - "version": "git+https://github.com/jellyfin/JavascriptSubtitlesOctopus.git#f4625ac313b318bd5d2e0ae18679ff516370bae6", - "from": "libass-wasm@git+https://github.com/jellyfin/JavascriptSubtitlesOctopus.git#4.0.0-jf-4" - }, "lie": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", diff --git a/package.json b/package.json index 9d0af1820..f0d8e19b3 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,7 @@ "@fontsource/noto-sans-jp": "4.5.2", "@fontsource/noto-sans-kr": "4.5.2", "@fontsource/noto-sans-sc": "4.5.2", + "@jellyfin/libass-wasm": "4.1.0", "@fontsource/noto-sans-tc": "4.5.2", "blurhash": "1.1.4", "classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz", @@ -88,7 +89,6 @@ "jquery": "3.6.0", "jstree": "3.3.12", "libarchive.js": "1.3.0", - "libass-wasm": "git+https://github.com/jellyfin/JavascriptSubtitlesOctopus.git#4.0.0-jf-4", "lodash-es": "4.17.21", "marked": "4.0.10", "material-design-icons-iconfont": "6.1.1", diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index 894cb6700..26d6c25c8 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -1102,18 +1102,18 @@ function tryRemoveElement(elem) { timeOffset: (this._currentPlayOptions.transcodingOffsetTicks || 0) / 10000000, // new octopus options; override all, even defaults - renderMode: 'blend', + renderMode: 'wasm-blend', dropAllAnimations: false, libassMemoryLimit: 40, libassGlyphLimit: 40, targetFps: 24, - prescaleTradeoff: 0.8, - softHeightLimit: 1080, - hardHeightLimit: 2160, + prescaleFactor: 0.8, + prescaleHeightLimit: 1080, + maxRenderHeight: 2160, resizeVariation: 0.2, renderAhead: 90 }; - import('libass-wasm').then(({default: SubtitlesOctopus}) => { + import('@jellyfin/libass-wasm').then(({default: SubtitlesOctopus}) => { Promise.all([ apiClient.getNamedConfiguration('encoding'), // Worker in Tizen 5 doesn't resolve relative path with async request diff --git a/webpack.common.js b/webpack.common.js index 9028a4935..fb0db8f0a 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -7,12 +7,12 @@ const { DefinePlugin } = require('webpack'); const Assets = [ 'native-promise-only/npo.js', 'libarchive.js/dist/worker-bundle.js', - 'libass-wasm/dist/js/subtitles-octopus-worker.js', - 'libass-wasm/dist/js/subtitles-octopus-worker.data', - 'libass-wasm/dist/js/subtitles-octopus-worker.wasm', - 'libass-wasm/dist/js/subtitles-octopus-worker-legacy.js', - 'libass-wasm/dist/js/subtitles-octopus-worker-legacy.data', - 'libass-wasm/dist/js/subtitles-octopus-worker-legacy.js.mem', + '@jellyfin/libass-wasm/dist/js/subtitles-octopus-worker.js', + '@jellyfin/libass-wasm/dist/js/subtitles-octopus-worker.data', + '@jellyfin/libass-wasm/dist/js/subtitles-octopus-worker.wasm', + '@jellyfin/libass-wasm/dist/js/subtitles-octopus-worker-legacy.js', + '@jellyfin/libass-wasm/dist/js/subtitles-octopus-worker-legacy.data', + '@jellyfin/libass-wasm/dist/js/subtitles-octopus-worker-legacy.js.mem', 'pdfjs-dist/build/pdf.worker.js' ];