web/workers/remux: init libav only once, terminate after usage

This commit is contained in:
wukko 2025-02-12 13:19:13 +06:00
parent ff62a4c2e6
commit 564fc65297
No known key found for this signature in database
GPG key ID: 3E30B3F26C7B4AA2

View file

@ -11,7 +11,10 @@ const error = (code: string) => {
})
}
const ff = new LibAVWrapper((progress) => {
const remux = async (files: CobaltFileReference[], args: string[], output: FileInfo) => {
if (!(files && output && args)) return;
const ff = new LibAVWrapper((progress) => {
self.postMessage({
cobaltRemuxWorker: {
progress: {
@ -23,14 +26,9 @@ const ff = new LibAVWrapper((progress) => {
}
}
})
});
});
ff.init();
const remux = async (files: CobaltFileReference[], args: string[], output: FileInfo) => {
if (!(files && output && args)) return;
await ff.init();
ff.init();
try {
// probing just the first file in files array (usually audio) for duration progress
@ -84,6 +82,8 @@ const remux = async (files: CobaltFileReference[], args: string[], output: FileI
return error("incorrect input or output");
}
await ff.terminate();
self.postMessage({
cobaltRemuxWorker: {
render