@banou/media-player 0.8.13 → 0.8.15

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.
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "../engine-BUcS6UrE.js";
1
+ import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "../engine-CDdjRm_U.js";
2
2
  export { i as DEFAULT_BUFFER_SIZE, e as MediaElementError, a as SUBTITLES_OFF, u as createPictureInPicture, d as createSubtitleRenderer, c as createThumbnailGenerator, n as getTimeRanges, s as isMediaElementError, o as pictureInPictureMode, l as startPlayback, t as terminateRemuxer, r as updateSourceBuffer };
@@ -37,6 +37,8 @@ export type PlaybackController = {
37
37
  * because this can take as long as a read, which over a torrent has no ceiling.
38
38
  */
39
39
  prepareSeek: (time: number) => Promise<void>;
40
+ /** The element this pipeline drives, so a caller can read what actually got buffered. */
41
+ videoElement: HTMLVideoElement;
40
42
  selectSubtitleStream: (streamIndex: number | undefined) => void;
41
43
  /** Keyframe index of the input, which is what maps a downloaded byte range onto the timeline. */
42
44
  indexes: MediaIndex[];
@@ -167,19 +167,19 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
167
167
  constructor(e, t) {
168
168
  super(e, t), this.name = "MediaElementError";
169
169
  }
170
- }, g = (e) => !!e && typeof e == "object" && e.mediaElement === !0, _ = -20, v = 60, y = 30, b = -5, x = 20, ee = 5, te = 15e3, S = 1, C = 200, w = 250, T = 25e5, E = (e) => {
170
+ }, g = (e) => !!e && typeof e == "object" && e.mediaElement === !0, _ = -20, v = 60, y = 30, b = -5, x = 20, ee = 5, S = 15e3, C = 1, w = 3, te = 12, T = 200, E = 250, D = 25e5, O = (e) => {
171
171
  let { worker: t } = e, n = setTimeout(() => t.terminate(), 2e3);
172
172
  e.destroy().catch(() => {}).finally(() => {
173
173
  clearTimeout(n), t.terminate();
174
174
  });
175
- }, D = async (t) => {
176
- let { videoElement: n, canvasElement: r, read: i, length: o, publicPath: c, libavWorkerUrl: l, jassubWorkerUrl: u, jassubWasmUrl: d, jassubLegacyWasmUrl: f, defaultFontUrl: p, bufferSize: g = T, audioStreamIndex: D, onReady: O, onError: ne, onRecovered: re, onSeek: k, onSubtitleStreams: ie, onAudioStreams: ae } = t, A = await e({
175
+ }, k = async (t) => {
176
+ let { videoElement: n, canvasElement: r, read: i, length: o, publicPath: c, libavWorkerUrl: l, jassubWorkerUrl: u, jassubWasmUrl: d, jassubLegacyWasmUrl: f, defaultFontUrl: p, bufferSize: g = D, audioStreamIndex: k, onReady: ne, onError: re, onRecovered: ie, onSeek: ae, onSubtitleStreams: oe, onAudioStreams: se } = t, A = await e({
177
177
  publicPath: c,
178
178
  workerUrl: l,
179
179
  workerOptions: { type: "module" },
180
180
  bufferSize: g,
181
181
  length: o,
182
- audioStreamIndex: D,
182
+ audioStreamIndex: k,
183
183
  read: i
184
184
  }), j = [], M = !1, N = () => {
185
185
  if (!M) {
@@ -189,10 +189,10 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
189
189
  } catch {}
190
190
  }
191
191
  };
192
- j.push(() => E(A));
192
+ j.push(() => O(A));
193
193
  try {
194
- let e = await A.init(), t = e.audioStreams ?? [], i = t.some((e) => e.streamIndex === D) ? D : t[0]?.streamIndex ?? -1;
195
- ae?.(t, i);
194
+ let e = await A.init(), t = e.audioStreams ?? [], i = t.some((e) => e.streamIndex === k) ? k : t[0]?.streamIndex ?? -1;
195
+ se?.(t, i);
196
196
  let o = m({
197
197
  video: n,
198
198
  canvas: r,
@@ -200,22 +200,22 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
200
200
  wasmUrl: d,
201
201
  legacyWasmUrl: f,
202
202
  defaultFontUrl: p,
203
- onStreams: ie
203
+ onStreams: oe
204
204
  });
205
205
  if (j.push(() => o.destroy()), e.attachments?.length && o.pushAttachments(e.attachments), !e.info.output.videoMimeType) throw Error("The video codec in this file could not be identified");
206
206
  let c = [e.info.output.videoMimeType, e.info.output.audioMimeType].filter(Boolean).join(","), l = `video/mp4; codecs="${c}"`;
207
207
  if (!MediaSource.isTypeSupported(l)) throw Error(`This browser cannot play the codecs in this file: ${c}`);
208
- let g = new MediaSource(), T = URL.createObjectURL(g);
209
- j.push(() => URL.revokeObjectURL(T)), n.src = T, j.push(() => {
208
+ let g = new MediaSource(), D = URL.createObjectURL(g);
209
+ j.push(() => URL.revokeObjectURL(D)), n.src = D, j.push(() => {
210
210
  try {
211
211
  n.pause();
212
212
  } catch {}
213
213
  n.removeAttribute("src"), n.load();
214
214
  });
215
- let E = await new Promise((t, n) => {
215
+ let O = await new Promise((t, n) => {
216
216
  let r = setTimeout(() => {
217
217
  i(), n(/* @__PURE__ */ Error("The MediaSource never opened"));
218
- }, te), i = () => {
218
+ }, S), i = () => {
219
219
  clearTimeout(r), g.removeEventListener("sourceopen", a), g.removeEventListener("sourceclose", o), g.removeEventListener("error", o);
220
220
  }, a = () => {
221
221
  try {
@@ -230,134 +230,141 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
230
230
  i(), n(/* @__PURE__ */ Error("The MediaSource closed before a SourceBuffer could be created"));
231
231
  };
232
232
  g.addEventListener("sourceopen", a, { once: !0 }), g.addEventListener("sourceclose", o, { once: !0 }), g.addEventListener("error", o, { once: !0 });
233
- }), { appendBuffer: P, unbufferRange: F, updateTimestampOffset: oe, endOfStream: se } = s(E, g);
234
- await P(e.data), e.subtitles?.length && o.pushFragments(e.subtitles), O?.();
235
- let I = !1, L = !1, R = 0, z = !1, B = 0, V = 0, H = null, U = 0, W = 0, G = !1, K = 0, q = (e, t, n = !1) => {
233
+ }), { appendBuffer: P, unbufferRange: ce, updateTimestampOffset: le, endOfStream: ue } = s(O, g);
234
+ await P(e.data), e.subtitles?.length && o.pushFragments(e.subtitles), ne?.();
235
+ let F = !1, I = !1, L = 0, R, de = () => R ?? n.currentTime, z = !1, B = 0, V = 0, H = null, U = 0, W = 0, G = !1, K = 0, q = (e, t, n = !1) => {
236
236
  let r = e?.message === "Cancelled";
237
- t && r || (console.error(e), !(G && !n) && (G = !0, ne?.(r ? Error("Reading the video file failed", { cause: e }) : e)));
238
- }, ce = async (e = !1) => {
239
- if (R > 0 && !e) return;
237
+ t && r || (console.error(e), !(G && !n) && (G = !0, re?.(r ? Error("Reading the video file failed", { cause: e }) : e)));
238
+ }, fe = async (e = !1) => {
239
+ if (L > 0 && !e) return;
240
240
  let t = n.currentTime, r = e ? b : _, i = e ? x : v;
241
- for (let { start: e, end: n } of a(E)) e < t + r && await F(e, t + r), n > t + i && await F(t + i, n);
242
- }, le = () => {
243
- let e = a(E);
241
+ for (let { start: e, end: n } of a(O)) e < t + r && await ce(e, t + r), n > t + i && await ce(t + i, n);
242
+ }, pe = () => {
243
+ let e = a(O);
244
244
  if (!e.length) return !0;
245
- let t = n.currentTime;
246
- if (Math.max(...e.map((e) => e.end)) >= t + v) return !1;
247
- let r = e.find((e) => e.start <= t + S && t < e.end);
248
- return !r || r.end < t + y;
249
- }, J = () => {
245
+ let t = de(), n = e.find((e) => e.start <= t + C && t < e.end);
246
+ return n && n.end >= t + v ? !1 : !n || n.end < t + y;
247
+ }, me = () => {
250
248
  let e = n.currentTime;
251
- return a(E).find((t) => t.start <= e + S && e < t.end);
252
- }, ue = () => {
253
- let e = J();
249
+ return a(O).find((t) => t.start <= e + C && e < t.end);
250
+ }, he = () => {
251
+ let e = me();
254
252
  return !!e && e.end >= W - .1;
255
- }, de = () => {
256
- let e = a(E).map((e) => e.end);
253
+ }, ge = () => {
254
+ let e = a(O).map((e) => e.end);
257
255
  e.length && (W = Math.max(W, ...e));
258
- }, Y = async (e) => {
259
- L = !0, H = null, U = 0, K = e;
256
+ }, J = async (e) => {
257
+ I = !0, H = null, U = 0, K = e;
260
258
  let t = ++V;
261
259
  try {
262
260
  let { data: n, pts: r, subtitles: i, finished: a } = await A.seek(e);
263
- if (M || t !== V || (a && (z = !0), i?.length && o.pushFragments(i), await oe(r), M || t !== V)) return;
264
- n.byteLength && (await P(n), de());
261
+ if (M || t !== V || (a && (z = !0), i?.length && o.pushFragments(i), await le(r), M || t !== V)) return;
262
+ n.byteLength && (await P(n), ge());
265
263
  } catch (e) {
266
264
  q(e, M || t !== V);
267
265
  } finally {
268
- t === V && (L = !1);
266
+ t === V && (I = !1);
269
267
  }
270
- }, fe = async () => {
268
+ }, _e = async () => {
271
269
  let e = H;
272
270
  if (e) try {
273
- await P(e), de(), H === e && (H = null, U = 0);
271
+ await P(e), ge(), H === e && (H = null, U = 0);
274
272
  } catch (t) {
275
273
  if (H !== e) return;
276
274
  if (t?.name === "QuotaExceededError") {
277
- let t = await ce(!0).then(() => !0, () => !1);
275
+ let t = await fe(!0).then(() => !0, () => !1);
278
276
  if (H !== e) return;
279
277
  if (t) {
280
- z = !1, await Y(J()?.end ?? n.currentTime);
278
+ z = !1, await J(me()?.end ?? n.currentTime);
281
279
  return;
282
280
  }
283
281
  }
284
282
  if (U += 1, U < ee) return;
285
283
  throw H = null, t;
286
284
  }
287
- }, pe = async () => {
288
- if (I || L || $ !== void 0 || M || !H && (z || !le())) return;
285
+ }, ve = async () => {
286
+ if (F || I || $ !== void 0 || M || !H && (z || !pe())) return;
289
287
  let e = ++B, t = V, n = () => M || e !== B || t !== V;
290
- I = !0;
288
+ F = !0;
291
289
  try {
292
290
  if (!H) {
293
291
  let { data: e, subtitles: t, finished: r } = await A.read();
294
292
  if (n() || (r && (z = !0), t?.length && o.pushFragments(t), !e.byteLength)) return;
295
293
  H = e, U = 0;
296
294
  }
297
- await fe(), !n() && G && (G = !1, re?.());
295
+ await _e(), !n() && G && (G = !1, ie?.());
298
296
  } catch (e) {
299
297
  q(e, n());
300
298
  } finally {
301
- e === B && (I = !1);
299
+ e === B && (F = !1);
302
300
  }
303
- }, me = (e) => e >= K && !!J(), he = (e) => a(E).some((t) => t.start <= e + S && e < t.end), ge = async (e) => {
304
- if (!(M || he(e))) {
305
- z = !1, R++;
301
+ }, ye = (e) => e >= K && !!me(), be = (e) => a(O).some((t) => t.start <= e + C && e < t.end), Y = (e) => {
302
+ let t = a(O).find((t) => t.start <= e + C && e < t.end);
303
+ return t ? t.end - e : 0;
304
+ }, xe = async (e) => {
305
+ if (!M && !(Y(e) >= w)) {
306
+ z = !1, L++, R = e;
306
307
  try {
307
- await Y(e);
308
+ be(e) || await J(e);
309
+ let t = V;
310
+ for (let n = 0; n < te && !(M || t !== V || z || Y(e) >= w); n++) {
311
+ let t = Y(e);
312
+ if (await ve(), Y(e) <= t) break;
313
+ }
308
314
  } finally {
309
- R--;
315
+ L--, R === e && (R = void 0);
310
316
  }
311
317
  }
312
- }, X = 0, Z = null, Q, _e = (e) => {
318
+ }, X = 0, Z = null, Q, Se = (e) => {
313
319
  let t = performance.now(), n = t - X;
314
- if (n >= C) {
315
- X = t, Z = null, k?.(e);
320
+ if (n >= T) {
321
+ X = t, Z = null, ae?.(e);
316
322
  return;
317
323
  }
318
324
  Z = e, !Q && (Q = setTimeout(() => {
319
325
  Q = void 0;
320
326
  let e = Z;
321
- Z = null, !(e === null || M) && (X = performance.now(), k?.(e));
322
- }, C - n));
327
+ Z = null, !(e === null || M) && (X = performance.now(), ae?.(e));
328
+ }, T - n));
323
329
  };
324
330
  j.push(() => {
325
331
  Q && clearTimeout(Q);
326
332
  });
327
- let ve = 0, $;
333
+ let Ce = 0, $;
328
334
  j.push(() => {
329
335
  $ && clearTimeout($);
330
336
  });
331
- let ye = () => {
337
+ let we = () => {
332
338
  let t = n.currentTime, r = e.info.input.duration || n.duration;
333
- r > 0 && _e(Math.min(Math.max(t / r, 0), 1));
334
- let i = performance.now(), a = i - ve < w;
335
- if (ve = i, !me(t) && !(L && Math.abs(t - K) < .001)) {
339
+ r > 0 && Se(Math.min(Math.max(t / r, 0), 1));
340
+ let i = performance.now(), a = i - Ce < E;
341
+ if (Ce = i, !ye(t) && !(I && Math.abs(t - K) < .001)) {
336
342
  if (z = !1, $ && clearTimeout($), !a) {
337
- $ = void 0, Y(t);
343
+ $ = void 0, J(t);
338
344
  return;
339
345
  }
340
346
  $ = setTimeout(() => {
341
347
  if ($ = void 0, M) return;
342
348
  let e = n.currentTime;
343
- me(e) || (z = !1, Y(e));
344
- }, w);
349
+ ye(e) || (z = !1, J(e));
350
+ }, E);
345
351
  }
346
352
  };
347
- n.addEventListener("seeking", ye), j.push(() => n.removeEventListener("seeking", ye));
348
- let be = !1, xe = () => {
349
- if (be) return;
350
- be = !0;
353
+ n.addEventListener("seeking", we), j.push(() => n.removeEventListener("seeking", we));
354
+ let Te = !1, Ee = () => {
355
+ if (Te) return;
356
+ Te = !0;
351
357
  let e = n.error;
352
358
  q(new h(`the media element failed: ${e?.message ?? "unknown"}`, { cause: e }), !1, !0);
353
359
  };
354
- n.addEventListener("error", xe), j.push(() => n.removeEventListener("error", xe));
355
- let Se = setInterval(() => {
356
- be || n.error || (ce().catch(() => {}), pe().catch((e) => q(e, !1)), z && !H && ue() && g.readyState === "open" && se().catch(() => {}));
360
+ n.addEventListener("error", Ee), j.push(() => n.removeEventListener("error", Ee));
361
+ let De = setInterval(() => {
362
+ Te || n.error || (fe().catch(() => {}), ve().catch((e) => q(e, !1)), z && !H && he() && g.readyState === "open" && ue().catch(() => {}));
357
363
  }, 100);
358
- return j.push(() => clearInterval(Se)), {
364
+ return j.push(() => clearInterval(De)), {
359
365
  destroy: N,
360
- prepareSeek: ge,
366
+ prepareSeek: xe,
367
+ videoElement: n,
361
368
  selectSubtitleStream: (e) => o.selectStream(e),
362
369
  indexes: e.indexes ?? [],
363
370
  duration: e.info.input.duration,
@@ -367,8 +374,8 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
367
374
  } catch (e) {
368
375
  throw N(), e;
369
376
  }
370
- }, O = 5, ne = 500, re = 320, k = 1e6, ie = 3, ae = 1e4, A = async (e) => {
371
- let { publicPath: n, workerUrl: r, length: i, read: a, onThumbnails: o, width: s = re } = e, c = await t({
377
+ }, ne = 5, re = 500, ie = 320, ae = 1e6, oe = 3, se = 1e4, A = async (e) => {
378
+ let { publicPath: n, workerUrl: r, length: i, read: a, onThumbnails: o, width: s = ie } = e, c = await t({
372
379
  publicPath: n,
373
380
  workerUrl: r,
374
381
  workerOptions: { type: "module" },
@@ -376,14 +383,14 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
376
383
  read: a
377
384
  });
378
385
  try {
379
- let t = await c.init(), n = t.duration, r = Math.max(e.interval ?? O, n / ne), a = [];
386
+ let t = await c.init(), n = t.duration, r = Math.max(e.interval ?? ne, n / re), a = [];
380
387
  for (let [e, o] of t.indexes.entries()) {
381
388
  let s = a.at(-1);
382
389
  s && o.timestamp - s.timestamp < r || a.push({
383
390
  timestamp: o.timestamp,
384
391
  endTime: n,
385
392
  startByte: o.pos,
386
- endByte: Math.min((t.indexes[e + 1]?.pos ?? i) + k, i),
393
+ endByte: Math.min((t.indexes[e + 1]?.pos ?? i) + ae, i),
387
394
  done: !1,
388
395
  attempts: 0
389
396
  });
@@ -414,7 +421,7 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
414
421
  }, p = (e) => {
415
422
  e.done = !0, d = d.then(async () => {
416
423
  if (u) return;
417
- let t = await Promise.race([c.readKeyframe(e.timestamp), new Promise((e, t) => setTimeout(() => t(/* @__PURE__ */ Error("timed out")), ae))]), n = await createImageBitmap(new Blob([t], { type: "image/png" })), r = new OffscreenCanvas(s, Math.max(1, Math.round(n.height * (s / n.width))));
424
+ let t = await Promise.race([c.readKeyframe(e.timestamp), new Promise((e, t) => setTimeout(() => t(/* @__PURE__ */ Error("timed out")), se))]), n = await createImageBitmap(new Blob([t], { type: "image/png" })), r = new OffscreenCanvas(s, Math.max(1, Math.round(n.height * (s / n.width))));
418
425
  r.getContext("2d").drawImage(n, 0, 0, r.width, r.height), n.close();
419
426
  let i = await r.convertToBlob({
420
427
  type: "image/webp",
@@ -426,7 +433,7 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
426
433
  endTime: e.endTime
427
434
  }].sort((e, t) => e.startTime - t.startTime), f());
428
435
  }).catch(() => {
429
- e.attempts += 1, e.done = e.attempts >= ie;
436
+ e.attempts += 1, e.done = e.attempts >= oe;
430
437
  });
431
438
  };
432
439
  return f(), {
@@ -436,14 +443,14 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
436
443
  destroy: () => {
437
444
  u = !0;
438
445
  for (let e of l) URL.revokeObjectURL(e.url);
439
- l = [], E(c);
446
+ l = [], O(c);
440
447
  }
441
448
  };
442
449
  } catch (e) {
443
- throw E(c), e;
450
+ throw O(c), e;
444
451
  }
445
- }, j = 1280, M = 1920, N = 250, P = 100, F = () => typeof HTMLCanvasElement < "u" && "captureStream" in HTMLCanvasElement.prototype, oe = () => typeof document < "u" && typeof HTMLVideoElement < "u" && typeof HTMLVideoElement.prototype.requestPictureInPicture == "function" && !!document.pictureInPictureEnabled, se = () => typeof HTMLVideoElement < "u" && "mozCaptureStream" in HTMLVideoElement.prototype, I = () => F() ? oe() ? "window" : se() ? "burn-in" : null : null, L = (e) => {
446
- let { video: t, canvas: n } = e, r = e.mode ?? I() ?? "window", i = e.maxWidth ?? (r === "burn-in" ? M : j), a, o, s, c = !1, l = !1, u = !1, d = !1, f, p = () => r === "burn-in" ? !!a : !!a && document.pictureInPictureElement === a.mirror, m = (e, r) => {
452
+ }, j = 1280, M = 1920, N = 250, P = 100, ce = () => typeof HTMLCanvasElement < "u" && "captureStream" in HTMLCanvasElement.prototype, le = () => typeof document < "u" && typeof HTMLVideoElement < "u" && typeof HTMLVideoElement.prototype.requestPictureInPicture == "function" && !!document.pictureInPictureEnabled, ue = () => typeof HTMLVideoElement < "u" && "mozCaptureStream" in HTMLVideoElement.prototype, F = () => ce() ? le() ? "window" : ue() ? "burn-in" : null : null, I = (e) => {
453
+ let { video: t, canvas: n } = e, r = e.mode ?? F() ?? "window", i = e.maxWidth ?? (r === "burn-in" ? M : j), a, o, s, c = !1, l = !1, u = !1, d = !1, f, p = () => r === "burn-in" ? !!a : !!a && document.pictureInPictureElement === a.mirror, m = (e, r) => {
447
454
  r.drawImage(t, 0, 0, e.width, e.height), n.width > 0 && n.height > 0 && r.drawImage(n, 0, 0, e.width, e.height);
448
455
  }, h = () => {
449
456
  a && m(a.composite, a.context);
@@ -461,11 +468,11 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
461
468
  c || l || (t.paused || t.pause(), r !== "burn-in" && (c = !0, a?.mirror.play().catch(() => {}).finally(() => {
462
469
  c = !1;
463
470
  })));
464
- }, te = () => {
465
- b(), a?.mirror.play().catch(() => {});
466
471
  }, S = () => {
467
- b(), r === "burn-in" && a?.mirror.pause();
472
+ b(), a?.mirror.play().catch(() => {});
468
473
  }, C = () => {
474
+ b(), r === "burn-in" && a?.mirror.pause();
475
+ }, w = () => {
469
476
  if (r !== "burn-in" || !a || !t.paused || l) return;
470
477
  l = !0;
471
478
  let { mirror: e } = a;
@@ -476,14 +483,14 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
476
483
  l = !1;
477
484
  }, P);
478
485
  });
479
- }, w = [["play", () => {
486
+ }, te = [["play", () => {
480
487
  t.play().catch(() => {});
481
488
  }], ["pause", () => t.pause()]], T = (e) => {
482
- if ("mediaSession" in navigator) for (let [t, n] of w) try {
489
+ if ("mediaSession" in navigator) for (let [t, n] of te) try {
483
490
  navigator.mediaSession.setActionHandler(t, e ? n : null);
484
491
  } catch {}
485
492
  }, E = () => {
486
- if (y(), T(!1), t.removeEventListener("play", te), t.removeEventListener("pause", S), t.removeEventListener("seeked", C), !a) {
493
+ if (y(), T(!1), t.removeEventListener("play", S), t.removeEventListener("pause", C), t.removeEventListener("seeked", w), !a) {
487
494
  f?.();
488
495
  return;
489
496
  }
@@ -496,7 +503,7 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
496
503
  e.style.cssText = "position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;z-index:1", t.style.opacity = "0", n.style.display = "none", f = () => {
497
504
  f = void 0, t.style.opacity = r, n.style.display = i;
498
505
  };
499
- }, ne = async () => {
506
+ }, k = async () => {
500
507
  let n = Math.min(t.videoWidth || i, i), o = Math.round(n * ((t.videoHeight || 9) / (t.videoWidth || 16))), c = document.createElement("canvas");
501
508
  c.width = n, c.height = o;
502
509
  let l = c.getContext("2d");
@@ -520,7 +527,7 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
520
527
  u.remove();
521
528
  return;
522
529
  }
523
- if (u.addEventListener("play", x), u.addEventListener("pause", ee), u.addEventListener("leavepictureinpicture", D), t.addEventListener("play", te), t.addEventListener("pause", S), t.addEventListener("seeked", C), T(!0), b(), r === "burn-in") {
530
+ if (u.addEventListener("play", x), u.addEventListener("pause", ee), u.addEventListener("leavepictureinpicture", D), t.addEventListener("play", S), t.addEventListener("pause", C), t.addEventListener("seeked", w), T(!0), b(), r === "burn-in") {
524
531
  t.paused && u.pause(), e.onBurnedInChange?.(!0);
525
532
  return;
526
533
  }
@@ -541,7 +548,7 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
541
548
  }
542
549
  r !== "burn-in" && document.pictureInPictureElement && await document.exitPictureInPicture().catch(() => {});
543
550
  try {
544
- await ne();
551
+ await k();
545
552
  } catch (t) {
546
553
  console.warn("subtitle compositing for picture in picture failed", t), E(), r === "burn-in" && e.onBurnedInChange?.(!1);
547
554
  }
@@ -557,4 +564,4 @@ var a = (e) => Array(e.buffered.length).fill(void 0).map((t, n) => ({
557
564
  };
558
565
  };
559
566
  //#endregion
560
- export { h as a, E as c, a as d, s as f, T as i, c as l, I as n, g as o, A as r, D as s, L as t, m as u };
567
+ export { h as a, O as c, a as d, s as f, D as i, c as l, F as n, g as o, A as r, k as s, I as t, m as u };