diff --git a/js/taglib.ts b/js/taglib.ts index d4dbad8..f7ee443 100644 --- a/js/taglib.ts +++ b/js/taglib.ts @@ -2,12 +2,9 @@ import { TagLib } from 'taglib-wasm'; import { fetchBlobURL } from './utils'; import _TagLibWasm from '!/taglib-wasm/dist/taglib-web.wasm?url'; import type { - TagLibWorkerMessageType, AddMetadataMessage, - GetMetadataMessage, TagLibFileResponse, TagLibMetadataResponse, - TagLibMetadata, TagLibReadMetadata, } from './taglib.types'; import TagLibWorker from './taglib.worker?worker'; @@ -62,7 +59,7 @@ export async function getMetadataWithTagLib(audioData: Uint8Array) { audioData = new Uint8Array(audioData); } - const worker = new Worker(new URL(TagLibWorker, import.meta.url), { type: 'module' }); + const worker = new TagLibWorker(); const wasmUrl = await fetchTagLib(); return new Promise((resolve, reject) => { diff --git a/js/taglib.worker.ts b/js/taglib.worker.ts index 44ec706..e7841a5 100644 --- a/js/taglib.worker.ts +++ b/js/taglib.worker.ts @@ -261,9 +261,14 @@ self.onmessage = async (event: MessageEvent) => { switch (event.data.type) { case 'Add': + if ((event.data as AddMetadataMessage).cover?.data?.buffer instanceof ArrayBuffer) { + transfer.push((event.data as AddMetadataMessage).cover.data.buffer); + } + try { const result = await addMetadataToAudio(event.data as AddMetadataMessage); transfer.push(result.buffer); + self.postMessage( { type: event.data.type,