@mediabunny/mp3-encoder 1.59.0 → 1.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles/mediabunny-mp3-encoder.js +18 -0
- package/dist/bundles/mediabunny-mp3-encoder.min.js +2 -2
- package/dist/bundles/mediabunny-mp3-encoder.min.mjs +2 -2
- package/dist/bundles/mediabunny-mp3-encoder.mjs +18 -0
- package/dist/modules/src/index.d.ts.map +1 -1
- package/dist/modules/src/index.js +19 -0
- package/dist/modules/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +21 -0
|
@@ -326,6 +326,7 @@ var MediabunnyMp3Encoder = (() => {
|
|
|
326
326
|
constructor() {
|
|
327
327
|
super(...arguments);
|
|
328
328
|
this.worker = null;
|
|
329
|
+
this.workerError = null;
|
|
329
330
|
this.nextMessageId = 0;
|
|
330
331
|
this.pendingMessages = /* @__PURE__ */ new Map();
|
|
331
332
|
this.buffer = new Uint8Array(2 ** 16);
|
|
@@ -350,11 +351,24 @@ var MediabunnyMp3Encoder = (() => {
|
|
|
350
351
|
pending.reject(data.error);
|
|
351
352
|
}
|
|
352
353
|
};
|
|
354
|
+
const onError = (error) => {
|
|
355
|
+
this.workerError = error;
|
|
356
|
+
for (const pending of this.pendingMessages.values()) {
|
|
357
|
+
pending.reject(error);
|
|
358
|
+
}
|
|
359
|
+
this.pendingMessages.clear();
|
|
360
|
+
this.worker?.terminate();
|
|
361
|
+
this.worker = null;
|
|
362
|
+
};
|
|
353
363
|
if (this.worker.addEventListener) {
|
|
354
364
|
this.worker.addEventListener("message", (event) => onMessage(event.data));
|
|
365
|
+
this.worker.addEventListener("error", (event) => {
|
|
366
|
+
onError(new Error(event.message || "MP3 encoder worker failed to load or crashed."));
|
|
367
|
+
});
|
|
355
368
|
} else {
|
|
356
369
|
const nodeWorker = this.worker;
|
|
357
370
|
nodeWorker.on("message", onMessage);
|
|
371
|
+
nodeWorker.on("error", onError);
|
|
358
372
|
}
|
|
359
373
|
assert(this.config.bitrate);
|
|
360
374
|
await this.sendCommand({
|
|
@@ -453,6 +467,10 @@ var MediabunnyMp3Encoder = (() => {
|
|
|
453
467
|
}
|
|
454
468
|
sendCommand(command, transferables) {
|
|
455
469
|
return new Promise((resolve, reject) => {
|
|
470
|
+
if (this.workerError) {
|
|
471
|
+
reject(this.workerError);
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
456
474
|
const id = this.nextMessageId++;
|
|
457
475
|
this.pendingMessages.set(id, {
|
|
458
476
|
resolve,
|