avbridge 2.11.0 → 2.12.1

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/dist/{avi-B5CQYB7L.cjs → avi-32UABODO.cjs} +14 -6
  3. package/dist/avi-32UABODO.cjs.map +1 -0
  4. package/dist/{avi-2ILLBNPQ.cjs → avi-5BPR6QUX.cjs} +14 -6
  5. package/dist/avi-5BPR6QUX.cjs.map +1 -0
  6. package/dist/{avi-RWWPN2PR.js → avi-BLIH7KKV.js} +13 -5
  7. package/dist/avi-BLIH7KKV.js.map +1 -0
  8. package/dist/{avi-JXU4GQL2.js → avi-GX2H34IQ.js} +13 -5
  9. package/dist/avi-GX2H34IQ.js.map +1 -0
  10. package/dist/{chunk-DCSOQH2N.js → chunk-3AI5WFFN.js} +40 -16
  11. package/dist/chunk-3AI5WFFN.js.map +1 -0
  12. package/dist/{chunk-2NSOOMXW.js → chunk-3YKWU4FM.js} +3 -3
  13. package/dist/{chunk-2NSOOMXW.js.map → chunk-3YKWU4FM.js.map} +1 -1
  14. package/dist/{chunk-GYIJU44C.js → chunk-5CX7BVVV.js} +5 -5
  15. package/dist/{chunk-GYIJU44C.js.map → chunk-5CX7BVVV.js.map} +1 -1
  16. package/dist/{chunk-CL6UEUQF.js → chunk-B76QWPFM.js} +5 -5
  17. package/dist/{chunk-CL6UEUQF.js.map → chunk-B76QWPFM.js.map} +1 -1
  18. package/dist/{chunk-IHNHHEA2.js → chunk-BN7BRTLY.js} +143 -32
  19. package/dist/chunk-BN7BRTLY.js.map +1 -0
  20. package/dist/{chunk-OTFS7DC4.cjs → chunk-E5MAM2P4.cjs} +14 -14
  21. package/dist/{chunk-OTFS7DC4.cjs.map → chunk-E5MAM2P4.cjs.map} +1 -1
  22. package/dist/{chunk-L7A3ECI2.cjs → chunk-HZUVMXBN.cjs} +4 -4
  23. package/dist/{chunk-L7A3ECI2.cjs.map → chunk-HZUVMXBN.cjs.map} +1 -1
  24. package/dist/{chunk-37UOSAVI.cjs → chunk-UM6WCSGL.cjs} +157 -46
  25. package/dist/chunk-UM6WCSGL.cjs.map +1 -0
  26. package/dist/{chunk-BYGZN4Z5.cjs → chunk-VLI3Y6IJ.cjs} +5 -5
  27. package/dist/{chunk-BYGZN4Z5.cjs.map → chunk-VLI3Y6IJ.cjs.map} +1 -1
  28. package/dist/{chunk-Z33SBWL5.cjs → chunk-YPZFGJV3.cjs} +40 -16
  29. package/dist/chunk-YPZFGJV3.cjs.map +1 -0
  30. package/dist/element-browser.js +186 -43
  31. package/dist/element-browser.js.map +1 -1
  32. package/dist/element.cjs +5 -5
  33. package/dist/element.d.cts +1 -1
  34. package/dist/element.d.ts +1 -1
  35. package/dist/element.js +4 -4
  36. package/dist/index.cjs +21 -21
  37. package/dist/index.d.cts +2 -2
  38. package/dist/index.d.ts +2 -2
  39. package/dist/index.js +9 -9
  40. package/dist/{libav-demux-3N5Y3VQA.cjs → libav-demux-575OYCT2.cjs} +9 -9
  41. package/dist/{libav-demux-3N5Y3VQA.cjs.map → libav-demux-575OYCT2.cjs.map} +1 -1
  42. package/dist/{libav-demux-JXD4OTLM.js → libav-demux-SXZDLC7W.js} +4 -4
  43. package/dist/{libav-demux-JXD4OTLM.js.map → libav-demux-SXZDLC7W.js.map} +1 -1
  44. package/dist/libav-http-reader-2S5HAHW4.js +3 -0
  45. package/dist/{libav-http-reader-WXG3Z7AI.js.map → libav-http-reader-2S5HAHW4.js.map} +1 -1
  46. package/dist/libav-http-reader-Q356EO2K.cjs +16 -0
  47. package/dist/{libav-http-reader-AZLE7YFS.cjs.map → libav-http-reader-Q356EO2K.cjs.map} +1 -1
  48. package/dist/{player-DDdNVFDv.d.cts → player-bQ6n4hVp.d.cts} +15 -0
  49. package/dist/{player-DDdNVFDv.d.ts → player-bQ6n4hVp.d.ts} +15 -0
  50. package/dist/player.cjs +264 -53
  51. package/dist/player.cjs.map +1 -1
  52. package/dist/player.d.cts +22 -0
  53. package/dist/player.d.ts +22 -0
  54. package/dist/player.js +264 -53
  55. package/dist/player.js.map +1 -1
  56. package/dist/remux-NSBJFMLG.cjs +35 -0
  57. package/dist/{remux-KUS5GIL6.cjs.map → remux-NSBJFMLG.cjs.map} +1 -1
  58. package/dist/remux-PHUHO3VV.js +10 -0
  59. package/dist/{remux-56V7LDAD.js.map → remux-PHUHO3VV.js.map} +1 -1
  60. package/package.json +1 -1
  61. package/src/element/avbridge-player.ts +123 -23
  62. package/src/element/player-styles.ts +13 -1
  63. package/src/player.ts +3 -3
  64. package/src/probe/avi.ts +34 -2
  65. package/src/strategies/fallback/decoder.ts +148 -19
  66. package/src/strategies/fallback/video-renderer.ts +41 -3
  67. package/src/strategies/hybrid/decoder.ts +34 -9
  68. package/src/types.ts +15 -0
  69. package/src/util/libav-http-reader.ts +58 -19
  70. package/vendor/libav/avbridge/libav-6.8.8.0-avbridge.wasm.mjs +1 -1
  71. package/vendor/libav/avbridge/libav-6.8.8.0-avbridge.wasm.wasm +0 -0
  72. package/vendor/libav/avbridge/libav-avbridge.mjs +1 -1
  73. package/dist/avi-2ILLBNPQ.cjs.map +0 -1
  74. package/dist/avi-B5CQYB7L.cjs.map +0 -1
  75. package/dist/avi-JXU4GQL2.js.map +0 -1
  76. package/dist/avi-RWWPN2PR.js.map +0 -1
  77. package/dist/chunk-37UOSAVI.cjs.map +0 -1
  78. package/dist/chunk-DCSOQH2N.js.map +0 -1
  79. package/dist/chunk-IHNHHEA2.js.map +0 -1
  80. package/dist/chunk-Z33SBWL5.cjs.map +0 -1
  81. package/dist/libav-http-reader-AZLE7YFS.cjs +0 -16
  82. package/dist/libav-http-reader-WXG3Z7AI.js +0 -3
  83. package/dist/remux-56V7LDAD.js +0 -10
  84. package/dist/remux-KUS5GIL6.cjs +0 -35
package/dist/element.cjs CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunk37UOSAVI_cjs = require('./chunk-37UOSAVI.cjs');
3
+ var chunkUM6WCSGL_cjs = require('./chunk-UM6WCSGL.cjs');
4
4
  require('./chunk-WRKO6Q42.cjs');
5
- require('./chunk-BYGZN4Z5.cjs');
5
+ require('./chunk-VLI3Y6IJ.cjs');
6
6
  require('./chunk-2IJ66NTD.cjs');
7
7
  require('./chunk-QDJLQR53.cjs');
8
- require('./chunk-L7A3ECI2.cjs');
9
- require('./chunk-Z33SBWL5.cjs');
8
+ require('./chunk-HZUVMXBN.cjs');
9
+ require('./chunk-YPZFGJV3.cjs');
10
10
  require('./chunk-G4APZMCP.cjs');
11
11
  require('./chunk-F3LQJKXK.cjs');
12
12
 
@@ -296,7 +296,7 @@ var AvbridgeVideoElement = class extends HTMLElementCtor {
296
296
  this._dispatch("loadstart", {});
297
297
  let player;
298
298
  try {
299
- player = await chunk37UOSAVI_cjs.createPlayer({
299
+ player = await chunkUM6WCSGL_cjs.createPlayer({
300
300
  source,
301
301
  target: this._videoEl,
302
302
  // Honor the consumer's preferred initial strategy. "auto" means
@@ -1,4 +1,4 @@
1
- import { a as MediaInput, o as StrategyName, n as StrategyClass, U as UnifiedPlayer, e as AudioTrackInfo, p as SubtitleTrackInfo, D as DiagnosticsSnapshot, t as AvbridgeVideoElementEventMap } from './player-DDdNVFDv.cjs';
1
+ import { a as MediaInput, o as StrategyName, n as StrategyClass, U as UnifiedPlayer, e as AudioTrackInfo, p as SubtitleTrackInfo, D as DiagnosticsSnapshot, t as AvbridgeVideoElementEventMap } from './player-bQ6n4hVp.cjs';
2
2
 
3
3
  /**
4
4
  * `<avbridge-video>` — `HTMLMediaElement`-compatible primitive backed by the
package/dist/element.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as MediaInput, o as StrategyName, n as StrategyClass, U as UnifiedPlayer, e as AudioTrackInfo, p as SubtitleTrackInfo, D as DiagnosticsSnapshot, t as AvbridgeVideoElementEventMap } from './player-DDdNVFDv.js';
1
+ import { a as MediaInput, o as StrategyName, n as StrategyClass, U as UnifiedPlayer, e as AudioTrackInfo, p as SubtitleTrackInfo, D as DiagnosticsSnapshot, t as AvbridgeVideoElementEventMap } from './player-bQ6n4hVp.js';
2
2
 
3
3
  /**
4
4
  * `<avbridge-video>` — `HTMLMediaElement`-compatible primitive backed by the
package/dist/element.js CHANGED
@@ -1,10 +1,10 @@
1
- import { createPlayer } from './chunk-IHNHHEA2.js';
1
+ import { createPlayer } from './chunk-BN7BRTLY.js';
2
2
  import './chunk-EDDWAN2L.js';
3
- import './chunk-GYIJU44C.js';
3
+ import './chunk-5CX7BVVV.js';
4
4
  import './chunk-CPJLFFCC.js';
5
5
  import './chunk-LUFA47FP.js';
6
- import './chunk-2NSOOMXW.js';
7
- import './chunk-DCSOQH2N.js';
6
+ import './chunk-3YKWU4FM.js';
7
+ import './chunk-3AI5WFFN.js';
8
8
  import './chunk-5DMTJVIU.js';
9
9
  import './chunk-5YAWWKA3.js';
10
10
 
package/dist/index.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkOTFS7DC4_cjs = require('./chunk-OTFS7DC4.cjs');
4
- var chunk37UOSAVI_cjs = require('./chunk-37UOSAVI.cjs');
3
+ var chunkE5MAM2P4_cjs = require('./chunk-E5MAM2P4.cjs');
4
+ var chunkUM6WCSGL_cjs = require('./chunk-UM6WCSGL.cjs');
5
5
  var chunkWRKO6Q42_cjs = require('./chunk-WRKO6Q42.cjs');
6
- var chunkBYGZN4Z5_cjs = require('./chunk-BYGZN4Z5.cjs');
6
+ var chunkVLI3Y6IJ_cjs = require('./chunk-VLI3Y6IJ.cjs');
7
7
  var chunk2IJ66NTD_cjs = require('./chunk-2IJ66NTD.cjs');
8
8
  require('./chunk-QDJLQR53.cjs');
9
- require('./chunk-L7A3ECI2.cjs');
10
- require('./chunk-Z33SBWL5.cjs');
9
+ require('./chunk-HZUVMXBN.cjs');
10
+ require('./chunk-YPZFGJV3.cjs');
11
11
  require('./chunk-G4APZMCP.cjs');
12
12
  require('./chunk-F3LQJKXK.cjs');
13
13
 
@@ -35,9 +35,9 @@ async function transcodeViaLibav(ctx, options) {
35
35
  { createOutputFormat: createOutputFormat2, mimeForFormat: mimeForFormat2, generateFilename: generateFilename2 }
36
36
  ] = await Promise.all([
37
37
  import('mediabunny'),
38
- import('./libav-demux-3N5Y3VQA.cjs'),
38
+ import('./libav-demux-575OYCT2.cjs'),
39
39
  import('./source-VFLXLOCN.cjs'),
40
- import('./remux-KUS5GIL6.cjs')
40
+ import('./remux-NSBJFMLG.cjs')
41
41
  ]);
42
42
  const normalized = await normalizeSource(ctx.source);
43
43
  const demux = await openLibavDemux({
@@ -535,7 +535,7 @@ async function transcode(source, options = {}) {
535
535
  const quality = options.quality ?? "medium";
536
536
  validateCodecCompatibility(outputFormat, videoCodec, audioCodec);
537
537
  options.signal?.throwIfAborted();
538
- const ctx = await chunkBYGZN4Z5_cjs.probe(source);
538
+ const ctx = await chunkVLI3Y6IJ_cjs.probe(source);
539
539
  options.signal?.throwIfAborted();
540
540
  if (isLibavTranscodeContainer(ctx.container)) {
541
541
  return transcodeViaLibav(ctx, options);
@@ -552,7 +552,7 @@ async function transcode(source, options = {}) {
552
552
  async function attemptTranscode(ctx, outputFormat, videoCodec, audioCodec, quality, options) {
553
553
  const mb = await import('mediabunny');
554
554
  const input = new mb.Input({
555
- source: await chunkBYGZN4Z5_cjs.buildMediabunnySourceFromInput(mb, ctx.source),
555
+ source: await chunkVLI3Y6IJ_cjs.buildMediabunnySourceFromInput(mb, ctx.source),
556
556
  formats: mb.ALL_FORMATS
557
557
  });
558
558
  let bytesWritten = 0;
@@ -566,7 +566,7 @@ async function attemptTranscode(ctx, outputFormat, videoCodec, audioCodec, quali
566
566
  }
567
567
  })) : null;
568
568
  const output = new mb.Output({
569
- format: chunkOTFS7DC4_cjs.createOutputFormat(mb, outputFormat),
569
+ format: chunkE5MAM2P4_cjs.createOutputFormat(mb, outputFormat),
570
570
  target: streamTarget ?? bufferTarget
571
571
  });
572
572
  const videoOptions = options.dropVideo ? { discard: true } : {
@@ -657,8 +657,8 @@ async function doTranscode(ctx, outputFormat, videoCodec, audioCodec, quality, o
657
657
  await new Promise((r) => setTimeout(r, 50 * (attempt + 1)));
658
658
  }
659
659
  }
660
- const mimeType = chunkOTFS7DC4_cjs.mimeForFormat(outputFormat);
661
- const filename = chunkOTFS7DC4_cjs.generateFilename(ctx.name, outputFormat);
660
+ const mimeType = chunkE5MAM2P4_cjs.mimeForFormat(outputFormat);
661
+ const filename = chunkE5MAM2P4_cjs.generateFilename(ctx.name, outputFormat);
662
662
  if (options.outputStream) {
663
663
  options.onProgress?.({ percent: 100, bytesWritten: 0 });
664
664
  return {
@@ -759,35 +759,35 @@ function qualityToMediabunny2(mb, quality) {
759
759
 
760
760
  Object.defineProperty(exports, "remux", {
761
761
  enumerable: true,
762
- get: function () { return chunkOTFS7DC4_cjs.remux; }
762
+ get: function () { return chunkE5MAM2P4_cjs.remux; }
763
763
  });
764
764
  Object.defineProperty(exports, "FALLBACK_AUDIO_CODECS", {
765
765
  enumerable: true,
766
- get: function () { return chunk37UOSAVI_cjs.FALLBACK_AUDIO_CODECS; }
766
+ get: function () { return chunkUM6WCSGL_cjs.FALLBACK_AUDIO_CODECS; }
767
767
  });
768
768
  Object.defineProperty(exports, "FALLBACK_VIDEO_CODECS", {
769
769
  enumerable: true,
770
- get: function () { return chunk37UOSAVI_cjs.FALLBACK_VIDEO_CODECS; }
770
+ get: function () { return chunkUM6WCSGL_cjs.FALLBACK_VIDEO_CODECS; }
771
771
  });
772
772
  Object.defineProperty(exports, "NATIVE_AUDIO_CODECS", {
773
773
  enumerable: true,
774
- get: function () { return chunk37UOSAVI_cjs.NATIVE_AUDIO_CODECS; }
774
+ get: function () { return chunkUM6WCSGL_cjs.NATIVE_AUDIO_CODECS; }
775
775
  });
776
776
  Object.defineProperty(exports, "NATIVE_VIDEO_CODECS", {
777
777
  enumerable: true,
778
- get: function () { return chunk37UOSAVI_cjs.NATIVE_VIDEO_CODECS; }
778
+ get: function () { return chunkUM6WCSGL_cjs.NATIVE_VIDEO_CODECS; }
779
779
  });
780
780
  Object.defineProperty(exports, "UnifiedPlayer", {
781
781
  enumerable: true,
782
- get: function () { return chunk37UOSAVI_cjs.UnifiedPlayer; }
782
+ get: function () { return chunkUM6WCSGL_cjs.UnifiedPlayer; }
783
783
  });
784
784
  Object.defineProperty(exports, "classify", {
785
785
  enumerable: true,
786
- get: function () { return chunk37UOSAVI_cjs.classifyContext; }
786
+ get: function () { return chunkUM6WCSGL_cjs.classifyContext; }
787
787
  });
788
788
  Object.defineProperty(exports, "createPlayer", {
789
789
  enumerable: true,
790
- get: function () { return chunk37UOSAVI_cjs.createPlayer; }
790
+ get: function () { return chunkUM6WCSGL_cjs.createPlayer; }
791
791
  });
792
792
  Object.defineProperty(exports, "srtToVtt", {
793
793
  enumerable: true,
@@ -795,7 +795,7 @@ Object.defineProperty(exports, "srtToVtt", {
795
795
  });
796
796
  Object.defineProperty(exports, "probe", {
797
797
  enumerable: true,
798
- get: function () { return chunkBYGZN4Z5_cjs.probe; }
798
+ get: function () { return chunkVLI3Y6IJ_cjs.probe; }
799
799
  });
800
800
  Object.defineProperty(exports, "AvbridgeError", {
801
801
  enumerable: true,
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AudioCodec, V as VideoCodec, M as MediaContext, C as Classification, a as MediaInput, T as TransportConfig, b as ConvertOptions, c as ConvertResult, d as TranscodeOptions } from './player-DDdNVFDv.cjs';
2
- export { e as AudioTrackInfo, f as ContainerKind, g as CreatePlayerOptions, D as DiagnosticsSnapshot, F as FetchFn, H as HardwareAccelerationHint, O as OutputAudioCodec, h as OutputFormat, i as OutputVideoCodec, P as PlaybackSession, j as PlayerEventMap, k as PlayerEventName, l as Plugin, m as ProgressInfo, S as SettingsSectionConfig, n as StrategyClass, o as StrategyName, p as SubtitleTrackInfo, q as TranscodeQuality, U as UnifiedPlayer, r as VideoTrackInfo, s as createPlayer } from './player-DDdNVFDv.cjs';
1
+ import { A as AudioCodec, V as VideoCodec, M as MediaContext, C as Classification, a as MediaInput, T as TransportConfig, b as ConvertOptions, c as ConvertResult, d as TranscodeOptions } from './player-bQ6n4hVp.cjs';
2
+ export { e as AudioTrackInfo, f as ContainerKind, g as CreatePlayerOptions, D as DiagnosticsSnapshot, F as FetchFn, H as HardwareAccelerationHint, O as OutputAudioCodec, h as OutputFormat, i as OutputVideoCodec, P as PlaybackSession, j as PlayerEventMap, k as PlayerEventName, l as Plugin, m as ProgressInfo, S as SettingsSectionConfig, n as StrategyClass, o as StrategyName, p as SubtitleTrackInfo, q as TranscodeQuality, U as UnifiedPlayer, r as VideoTrackInfo, s as createPlayer } from './player-bQ6n4hVp.cjs';
3
3
 
4
4
  /**
5
5
  * Codecs we know `<video>` and MSE support across modern desktop + Android.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AudioCodec, V as VideoCodec, M as MediaContext, C as Classification, a as MediaInput, T as TransportConfig, b as ConvertOptions, c as ConvertResult, d as TranscodeOptions } from './player-DDdNVFDv.js';
2
- export { e as AudioTrackInfo, f as ContainerKind, g as CreatePlayerOptions, D as DiagnosticsSnapshot, F as FetchFn, H as HardwareAccelerationHint, O as OutputAudioCodec, h as OutputFormat, i as OutputVideoCodec, P as PlaybackSession, j as PlayerEventMap, k as PlayerEventName, l as Plugin, m as ProgressInfo, S as SettingsSectionConfig, n as StrategyClass, o as StrategyName, p as SubtitleTrackInfo, q as TranscodeQuality, U as UnifiedPlayer, r as VideoTrackInfo, s as createPlayer } from './player-DDdNVFDv.js';
1
+ import { A as AudioCodec, V as VideoCodec, M as MediaContext, C as Classification, a as MediaInput, T as TransportConfig, b as ConvertOptions, c as ConvertResult, d as TranscodeOptions } from './player-bQ6n4hVp.js';
2
+ export { e as AudioTrackInfo, f as ContainerKind, g as CreatePlayerOptions, D as DiagnosticsSnapshot, F as FetchFn, H as HardwareAccelerationHint, O as OutputAudioCodec, h as OutputFormat, i as OutputVideoCodec, P as PlaybackSession, j as PlayerEventMap, k as PlayerEventName, l as Plugin, m as ProgressInfo, S as SettingsSectionConfig, n as StrategyClass, o as StrategyName, p as SubtitleTrackInfo, q as TranscodeQuality, U as UnifiedPlayer, r as VideoTrackInfo, s as createPlayer } from './player-bQ6n4hVp.js';
3
3
 
4
4
  /**
5
5
  * Codecs we know `<video>` and MSE support across modern desktop + Android.
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { mimeForFormat, generateFilename, createOutputFormat } from './chunk-CL6UEUQF.js';
2
- export { remux } from './chunk-CL6UEUQF.js';
3
- export { FALLBACK_AUDIO_CODECS, FALLBACK_VIDEO_CODECS, NATIVE_AUDIO_CODECS, NATIVE_VIDEO_CODECS, UnifiedPlayer, classifyContext as classify, createPlayer } from './chunk-IHNHHEA2.js';
1
+ import { mimeForFormat, generateFilename, createOutputFormat } from './chunk-B76QWPFM.js';
2
+ export { remux } from './chunk-B76QWPFM.js';
3
+ export { FALLBACK_AUDIO_CODECS, FALLBACK_VIDEO_CODECS, NATIVE_AUDIO_CODECS, NATIVE_VIDEO_CODECS, UnifiedPlayer, classifyContext as classify, createPlayer } from './chunk-BN7BRTLY.js';
4
4
  export { srtToVtt } from './chunk-EDDWAN2L.js';
5
- import { probe, buildMediabunnySourceFromInput } from './chunk-GYIJU44C.js';
6
- export { probe } from './chunk-GYIJU44C.js';
5
+ import { probe, buildMediabunnySourceFromInput } from './chunk-5CX7BVVV.js';
6
+ export { probe } from './chunk-5CX7BVVV.js';
7
7
  import { AvbridgeError, ERR_CONTAINER_NOT_SUPPORTED, ERR_TRANSCODE_UNSUPPORTED_COMBO, ERR_TRANSCODE_ABORTED, ERR_TRANSCODE_DECODE, ERR_CODEC_NOT_SUPPORTED } from './chunk-CPJLFFCC.js';
8
8
  export { AvbridgeError, ERR_ALL_STRATEGIES_EXHAUSTED, ERR_CODEC_NOT_SUPPORTED, ERR_FETCH_FAILED, ERR_LIBAV_NOT_REACHABLE, ERR_MSE_CODEC_NOT_SUPPORTED, ERR_MSE_NOT_SUPPORTED, ERR_PLAYER_NOT_READY, ERR_PROBE_FAILED, ERR_PROBE_FETCH_FAILED, ERR_PROBE_UNKNOWN_CONTAINER, ERR_RANGE_NOT_SUPPORTED, ERR_STRATEGY_FAILED } from './chunk-CPJLFFCC.js';
9
9
  import './chunk-LUFA47FP.js';
10
- import './chunk-2NSOOMXW.js';
11
- import './chunk-DCSOQH2N.js';
10
+ import './chunk-3YKWU4FM.js';
11
+ import './chunk-3AI5WFFN.js';
12
12
  import './chunk-5DMTJVIU.js';
13
13
  import './chunk-5YAWWKA3.js';
14
14
 
@@ -36,9 +36,9 @@ async function transcodeViaLibav(ctx, options) {
36
36
  { createOutputFormat: createOutputFormat2, mimeForFormat: mimeForFormat2, generateFilename: generateFilename2 }
37
37
  ] = await Promise.all([
38
38
  import('mediabunny'),
39
- import('./libav-demux-JXD4OTLM.js'),
39
+ import('./libav-demux-SXZDLC7W.js'),
40
40
  import('./source-4TZ6KMNV.js'),
41
- import('./remux-56V7LDAD.js')
41
+ import('./remux-PHUHO3VV.js')
42
42
  ]);
43
43
  const normalized = await normalizeSource(ctx.source);
44
44
  const demux = await openLibavDemux({
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkL7A3ECI2_cjs = require('./chunk-L7A3ECI2.cjs');
4
- require('./chunk-Z33SBWL5.cjs');
3
+ var chunkHZUVMXBN_cjs = require('./chunk-HZUVMXBN.cjs');
4
+ require('./chunk-YPZFGJV3.cjs');
5
5
  require('./chunk-G4APZMCP.cjs');
6
6
  require('./chunk-F3LQJKXK.cjs');
7
7
 
@@ -9,23 +9,23 @@ require('./chunk-F3LQJKXK.cjs');
9
9
 
10
10
  Object.defineProperty(exports, "libavFrameToInterleavedFloat32", {
11
11
  enumerable: true,
12
- get: function () { return chunkL7A3ECI2_cjs.libavFrameToInterleavedFloat32; }
12
+ get: function () { return chunkHZUVMXBN_cjs.libavFrameToInterleavedFloat32; }
13
13
  });
14
14
  Object.defineProperty(exports, "openLibavDemux", {
15
15
  enumerable: true,
16
- get: function () { return chunkL7A3ECI2_cjs.openLibavDemux; }
16
+ get: function () { return chunkHZUVMXBN_cjs.openLibavDemux; }
17
17
  });
18
18
  Object.defineProperty(exports, "packetPtsSec", {
19
19
  enumerable: true,
20
- get: function () { return chunkL7A3ECI2_cjs.packetPtsSec; }
20
+ get: function () { return chunkHZUVMXBN_cjs.packetPtsSec; }
21
21
  });
22
22
  Object.defineProperty(exports, "sanitizeFrameTimestamp", {
23
23
  enumerable: true,
24
- get: function () { return chunkL7A3ECI2_cjs.sanitizeFrameTimestamp; }
24
+ get: function () { return chunkHZUVMXBN_cjs.sanitizeFrameTimestamp; }
25
25
  });
26
26
  Object.defineProperty(exports, "sanitizePacketTimestamp", {
27
27
  enumerable: true,
28
- get: function () { return chunkL7A3ECI2_cjs.sanitizePacketTimestamp; }
28
+ get: function () { return chunkHZUVMXBN_cjs.sanitizePacketTimestamp; }
29
29
  });
30
- //# sourceMappingURL=libav-demux-3N5Y3VQA.cjs.map
31
- //# sourceMappingURL=libav-demux-3N5Y3VQA.cjs.map
30
+ //# sourceMappingURL=libav-demux-575OYCT2.cjs.map
31
+ //# sourceMappingURL=libav-demux-575OYCT2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"libav-demux-3N5Y3VQA.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"libav-demux-575OYCT2.cjs"}
@@ -1,6 +1,6 @@
1
- export { libavFrameToInterleavedFloat32, openLibavDemux, packetPtsSec, sanitizeFrameTimestamp, sanitizePacketTimestamp } from './chunk-2NSOOMXW.js';
2
- import './chunk-DCSOQH2N.js';
1
+ export { libavFrameToInterleavedFloat32, openLibavDemux, packetPtsSec, sanitizeFrameTimestamp, sanitizePacketTimestamp } from './chunk-3YKWU4FM.js';
2
+ import './chunk-3AI5WFFN.js';
3
3
  import './chunk-5DMTJVIU.js';
4
4
  import './chunk-5YAWWKA3.js';
5
- //# sourceMappingURL=libav-demux-JXD4OTLM.js.map
6
- //# sourceMappingURL=libav-demux-JXD4OTLM.js.map
5
+ //# sourceMappingURL=libav-demux-SXZDLC7W.js.map
6
+ //# sourceMappingURL=libav-demux-SXZDLC7W.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"libav-demux-JXD4OTLM.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"libav-demux-SXZDLC7W.js"}
@@ -0,0 +1,3 @@
1
+ export { attachLibavHttpReader, prepareLibavInput } from './chunk-3AI5WFFN.js';
2
+ //# sourceMappingURL=libav-http-reader-2S5HAHW4.js.map
3
+ //# sourceMappingURL=libav-http-reader-2S5HAHW4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"libav-http-reader-WXG3Z7AI.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"libav-http-reader-2S5HAHW4.js"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var chunkYPZFGJV3_cjs = require('./chunk-YPZFGJV3.cjs');
4
+
5
+
6
+
7
+ Object.defineProperty(exports, "attachLibavHttpReader", {
8
+ enumerable: true,
9
+ get: function () { return chunkYPZFGJV3_cjs.attachLibavHttpReader; }
10
+ });
11
+ Object.defineProperty(exports, "prepareLibavInput", {
12
+ enumerable: true,
13
+ get: function () { return chunkYPZFGJV3_cjs.prepareLibavInput; }
14
+ });
15
+ //# sourceMappingURL=libav-http-reader-Q356EO2K.cjs.map
16
+ //# sourceMappingURL=libav-http-reader-Q356EO2K.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"libav-http-reader-AZLE7YFS.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"libav-http-reader-Q356EO2K.cjs"}
@@ -219,6 +219,14 @@ interface CreatePlayerOptions {
219
219
  * for interceptors, logging, or environments without a global fetch.
220
220
  */
221
221
  fetchFn?: FetchFn;
222
+ /**
223
+ * Byte budget for the libav HTTP reader's LRU cache of fetched ranges.
224
+ * Defaults to 8 MB. Set to `0` to disable caching. Raise this when the
225
+ * app plays seek-heavy legacy-container media from URLs — hot regions
226
+ * (header/moov, tail index, current window) stay resident instead of
227
+ * being re-fetched on every bounce.
228
+ */
229
+ cacheBytes?: number;
222
230
  }
223
231
  /** Signature-compatible with `globalThis.fetch`. */
224
232
  type FetchFn = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
@@ -226,6 +234,13 @@ type FetchFn = (input: RequestInfo | URL, init?: RequestInit) => Promise<Respons
226
234
  interface TransportConfig {
227
235
  requestInit?: RequestInit;
228
236
  fetchFn?: FetchFn;
237
+ /**
238
+ * Byte budget for the libav HTTP reader's LRU cache of fetched ranges.
239
+ * Defaults to 8 MB. Set to `0` to disable caching entirely. Higher
240
+ * values help seek-heavy network playback keep hot regions
241
+ * (header/moov, tail index, current read) resident.
242
+ */
243
+ cacheBytes?: number;
229
244
  }
230
245
  /** Events emitted by {@link UnifiedPlayer}. Strongly typed. */
231
246
  interface PlayerEventMap {
@@ -219,6 +219,14 @@ interface CreatePlayerOptions {
219
219
  * for interceptors, logging, or environments without a global fetch.
220
220
  */
221
221
  fetchFn?: FetchFn;
222
+ /**
223
+ * Byte budget for the libav HTTP reader's LRU cache of fetched ranges.
224
+ * Defaults to 8 MB. Set to `0` to disable caching. Raise this when the
225
+ * app plays seek-heavy legacy-container media from URLs — hot regions
226
+ * (header/moov, tail index, current window) stay resident instead of
227
+ * being re-fetched on every bounce.
228
+ */
229
+ cacheBytes?: number;
222
230
  }
223
231
  /** Signature-compatible with `globalThis.fetch`. */
224
232
  type FetchFn = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
@@ -226,6 +234,13 @@ type FetchFn = (input: RequestInfo | URL, init?: RequestInit) => Promise<Respons
226
234
  interface TransportConfig {
227
235
  requestInit?: RequestInit;
228
236
  fetchFn?: FetchFn;
237
+ /**
238
+ * Byte budget for the libav HTTP reader's LRU cache of fetched ranges.
239
+ * Defaults to 8 MB. Set to `0` to disable caching entirely. Higher
240
+ * values help seek-heavy network playback keep hot regions
241
+ * (header/moov, tail index, current read) resident.
242
+ */
243
+ cacheBytes?: number;
229
244
  }
230
245
  /** Events emitted by {@link UnifiedPlayer}. Strongly typed. */
231
246
  interface PlayerEventMap {