mediabunny 1.25.1 → 1.25.2
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.cjs +47 -4
- package/dist/bundles/mediabunny.min.cjs +6 -6
- package/dist/bundles/mediabunny.min.mjs +6 -6
- package/dist/bundles/mediabunny.mjs +47 -4
- package/dist/mediabunny.d.ts +1 -1
- package/dist/modules/src/encode.d.ts.map +1 -1
- package/dist/modules/src/encode.js +36 -1
- package/dist/modules/src/misc.d.ts +1 -1
- package/dist/modules/src/misc.d.ts.map +1 -1
- package/dist/modules/src/misc.js +7 -1
- package/dist/modules/src/source.d.ts +1 -1
- package/dist/modules/src/source.d.ts.map +1 -1
- package/dist/modules/src/source.js +8 -2
- package/dist/modules/src/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/encode.ts +40 -1
- package/src/misc.ts +9 -0
- package/src/source.ts +12 -1
|
@@ -569,12 +569,15 @@ var Mediabunny = (() => {
|
|
|
569
569
|
}
|
|
570
570
|
return headers;
|
|
571
571
|
};
|
|
572
|
-
var retriedFetch = async (fetchFn, url2, requestInit, getRetryDelay) => {
|
|
572
|
+
var retriedFetch = async (fetchFn, url2, requestInit, getRetryDelay, shouldStop) => {
|
|
573
573
|
let attempts = 0;
|
|
574
574
|
while (true) {
|
|
575
575
|
try {
|
|
576
576
|
return await fetchFn(url2, requestInit);
|
|
577
577
|
} catch (error) {
|
|
578
|
+
if (shouldStop()) {
|
|
579
|
+
throw error;
|
|
580
|
+
}
|
|
578
581
|
attempts++;
|
|
579
582
|
const retryDelayInSeconds = getRetryDelay(attempts, error, url2);
|
|
580
583
|
if (retryDelayInSeconds === null) {
|
|
@@ -587,6 +590,9 @@ var Mediabunny = (() => {
|
|
|
587
590
|
if (retryDelayInSeconds > 0) {
|
|
588
591
|
await new Promise((resolve) => setTimeout(resolve, 1e3 * retryDelayInSeconds));
|
|
589
592
|
}
|
|
593
|
+
if (shouldStop()) {
|
|
594
|
+
throw error;
|
|
595
|
+
}
|
|
590
596
|
}
|
|
591
597
|
}
|
|
592
598
|
};
|
|
@@ -15358,6 +15364,9 @@ var Mediabunny = (() => {
|
|
|
15358
15364
|
}
|
|
15359
15365
|
const isOnline = typeof navigator !== "undefined" && typeof navigator.onLine === "boolean" ? navigator.onLine : true;
|
|
15360
15366
|
if (isOnline && originOfSrc !== null && originOfSrc !== window.location.origin) {
|
|
15367
|
+
console.warn(
|
|
15368
|
+
`Request will not be retried because a CORS error was suspected due to different origins. You can modify this behavior by providing your own function for the 'getRetryDelay' option.`
|
|
15369
|
+
);
|
|
15361
15370
|
return null;
|
|
15362
15371
|
}
|
|
15363
15372
|
}
|
|
@@ -15413,7 +15422,8 @@ var Mediabunny = (() => {
|
|
|
15413
15422
|
},
|
|
15414
15423
|
signal: abortController.signal
|
|
15415
15424
|
}),
|
|
15416
|
-
this._getRetryDelay
|
|
15425
|
+
this._getRetryDelay,
|
|
15426
|
+
() => this._disposed
|
|
15417
15427
|
);
|
|
15418
15428
|
if (!response.ok) {
|
|
15419
15429
|
throw new Error(`Error fetching ${String(this._url)}: ${response.status} ${response.statusText}`);
|
|
@@ -15463,7 +15473,8 @@ var Mediabunny = (() => {
|
|
|
15463
15473
|
},
|
|
15464
15474
|
signal: abortController.signal
|
|
15465
15475
|
}),
|
|
15466
|
-
this._getRetryDelay
|
|
15476
|
+
this._getRetryDelay,
|
|
15477
|
+
() => this._disposed
|
|
15467
15478
|
);
|
|
15468
15479
|
}
|
|
15469
15480
|
assert(response);
|
|
@@ -15498,6 +15509,9 @@ var Mediabunny = (() => {
|
|
|
15498
15509
|
try {
|
|
15499
15510
|
readResult = await reader.read();
|
|
15500
15511
|
} catch (error) {
|
|
15512
|
+
if (this._disposed) {
|
|
15513
|
+
throw error;
|
|
15514
|
+
}
|
|
15501
15515
|
const retryDelayInSeconds = this._getRetryDelay(1, error, this._url);
|
|
15502
15516
|
if (retryDelayInSeconds !== null) {
|
|
15503
15517
|
console.error("Error while reading response stream. Attempting to resume.", error);
|
|
@@ -22205,7 +22219,36 @@ ${cue.notes ?? ""}`;
|
|
|
22205
22219
|
// Since we handle alpha ourselves
|
|
22206
22220
|
});
|
|
22207
22221
|
const support = await VideoEncoder.isConfigSupported(encoderConfig);
|
|
22208
|
-
|
|
22222
|
+
if (!support.supported) {
|
|
22223
|
+
return false;
|
|
22224
|
+
}
|
|
22225
|
+
if (isFirefox()) {
|
|
22226
|
+
return new Promise(async (resolve) => {
|
|
22227
|
+
try {
|
|
22228
|
+
const encoder = new VideoEncoder({
|
|
22229
|
+
output: () => {
|
|
22230
|
+
},
|
|
22231
|
+
error: () => resolve(false)
|
|
22232
|
+
});
|
|
22233
|
+
encoder.configure(encoderConfig);
|
|
22234
|
+
const frameData = new Uint8Array(width * height * 4);
|
|
22235
|
+
const frame = new VideoFrame(frameData, {
|
|
22236
|
+
format: "RGBA",
|
|
22237
|
+
codedWidth: width,
|
|
22238
|
+
codedHeight: height,
|
|
22239
|
+
timestamp: 0
|
|
22240
|
+
});
|
|
22241
|
+
encoder.encode(frame);
|
|
22242
|
+
frame.close();
|
|
22243
|
+
await encoder.flush();
|
|
22244
|
+
resolve(true);
|
|
22245
|
+
} catch {
|
|
22246
|
+
resolve(false);
|
|
22247
|
+
}
|
|
22248
|
+
});
|
|
22249
|
+
} else {
|
|
22250
|
+
return true;
|
|
22251
|
+
}
|
|
22209
22252
|
};
|
|
22210
22253
|
var canEncodeAudio = async (codec, options = {}) => {
|
|
22211
22254
|
const {
|