fix(taglib): worker initialization

This was mangled during a merge operation.
This commit is contained in:
Daniel 2026-03-12 19:10:05 +00:00 committed by GitHub
parent eb3c7f75c8
commit 4445cdcd2e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 4 deletions

View file

@ -2,12 +2,9 @@ import { TagLib } from 'taglib-wasm';
import { fetchBlobURL } from './utils'; import { fetchBlobURL } from './utils';
import _TagLibWasm from '!/taglib-wasm/dist/taglib-web.wasm?url'; import _TagLibWasm from '!/taglib-wasm/dist/taglib-web.wasm?url';
import type { import type {
TagLibWorkerMessageType,
AddMetadataMessage, AddMetadataMessage,
GetMetadataMessage,
TagLibFileResponse, TagLibFileResponse,
TagLibMetadataResponse, TagLibMetadataResponse,
TagLibMetadata,
TagLibReadMetadata, TagLibReadMetadata,
} from './taglib.types'; } from './taglib.types';
import TagLibWorker from './taglib.worker?worker'; import TagLibWorker from './taglib.worker?worker';
@ -62,7 +59,7 @@ export async function getMetadataWithTagLib(audioData: Uint8Array) {
audioData = new Uint8Array(audioData); audioData = new Uint8Array(audioData);
} }
const worker = new Worker(new URL(TagLibWorker, import.meta.url), { type: 'module' }); const worker = new TagLibWorker();
const wasmUrl = await fetchTagLib(); const wasmUrl = await fetchTagLib();
return new Promise<TagLibReadMetadata>((resolve, reject) => { return new Promise<TagLibReadMetadata>((resolve, reject) => {

View file

@ -261,9 +261,14 @@ self.onmessage = async (event: MessageEvent<TagLibWorkerMessage>) => {
switch (event.data.type) { switch (event.data.type) {
case 'Add': case 'Add':
if ((event.data as AddMetadataMessage).cover?.data?.buffer instanceof ArrayBuffer) {
transfer.push((event.data as AddMetadataMessage).cover.data.buffer);
}
try { try {
const result = await addMetadataToAudio(event.data as AddMetadataMessage); const result = await addMetadataToAudio(event.data as AddMetadataMessage);
transfer.push(result.buffer); transfer.push(result.buffer);
self.postMessage( self.postMessage(
{ {
type: event.data.type, type: event.data.type,