avbridge 2.11.0 → 2.12.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/CHANGELOG.md +35 -0
- package/dist/{avi-B5CQYB7L.cjs → avi-EQE6AR75.cjs} +4 -4
- package/dist/{avi-2ILLBNPQ.cjs.map → avi-EQE6AR75.cjs.map} +1 -1
- package/dist/{avi-RWWPN2PR.js → avi-NNHH4AAA.js} +3 -3
- package/dist/{avi-JXU4GQL2.js.map → avi-NNHH4AAA.js.map} +1 -1
- package/dist/{avi-JXU4GQL2.js → avi-S7EY54YA.js} +3 -3
- package/dist/{avi-RWWPN2PR.js.map → avi-S7EY54YA.js.map} +1 -1
- package/dist/{avi-2ILLBNPQ.cjs → avi-Y3N325WZ.cjs} +4 -4
- package/dist/{avi-B5CQYB7L.cjs.map → avi-Y3N325WZ.cjs.map} +1 -1
- package/dist/{chunk-GYIJU44C.js → chunk-2LNXMGT6.js} +5 -5
- package/dist/{chunk-GYIJU44C.js.map → chunk-2LNXMGT6.js.map} +1 -1
- package/dist/{chunk-DCSOQH2N.js → chunk-3AI5WFFN.js} +40 -16
- package/dist/chunk-3AI5WFFN.js.map +1 -0
- package/dist/{chunk-2NSOOMXW.js → chunk-3YKWU4FM.js} +3 -3
- package/dist/{chunk-2NSOOMXW.js.map → chunk-3YKWU4FM.js.map} +1 -1
- package/dist/{chunk-CL6UEUQF.js → chunk-5Y5BTB5D.js} +5 -5
- package/dist/{chunk-CL6UEUQF.js.map → chunk-5Y5BTB5D.js.map} +1 -1
- package/dist/{chunk-37UOSAVI.cjs → chunk-7EF4VTUS.cjs} +23 -23
- package/dist/{chunk-IHNHHEA2.js.map → chunk-7EF4VTUS.cjs.map} +1 -1
- package/dist/{chunk-OTFS7DC4.cjs → chunk-GJBNLPGI.cjs} +14 -14
- package/dist/{chunk-OTFS7DC4.cjs.map → chunk-GJBNLPGI.cjs.map} +1 -1
- package/dist/{chunk-BYGZN4Z5.cjs → chunk-HBHSUGNI.cjs} +5 -5
- package/dist/{chunk-BYGZN4Z5.cjs.map → chunk-HBHSUGNI.cjs.map} +1 -1
- package/dist/{chunk-L7A3ECI2.cjs → chunk-HZUVMXBN.cjs} +4 -4
- package/dist/{chunk-L7A3ECI2.cjs.map → chunk-HZUVMXBN.cjs.map} +1 -1
- package/dist/{chunk-Z33SBWL5.cjs → chunk-YPZFGJV3.cjs} +40 -16
- package/dist/chunk-YPZFGJV3.cjs.map +1 -0
- package/dist/{chunk-IHNHHEA2.js → chunk-Z26PXRUY.js} +9 -9
- package/dist/chunk-Z26PXRUY.js.map +1 -0
- package/dist/element-browser.js +42 -18
- package/dist/element-browser.js.map +1 -1
- package/dist/element.cjs +5 -5
- package/dist/element.d.cts +1 -1
- package/dist/element.d.ts +1 -1
- package/dist/element.js +4 -4
- package/dist/index.cjs +21 -21
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9 -9
- package/dist/{libav-demux-3N5Y3VQA.cjs → libav-demux-575OYCT2.cjs} +9 -9
- package/dist/{libav-demux-3N5Y3VQA.cjs.map → libav-demux-575OYCT2.cjs.map} +1 -1
- package/dist/{libav-demux-JXD4OTLM.js → libav-demux-SXZDLC7W.js} +4 -4
- package/dist/{libav-demux-JXD4OTLM.js.map → libav-demux-SXZDLC7W.js.map} +1 -1
- package/dist/libav-http-reader-2S5HAHW4.js +3 -0
- package/dist/{libav-http-reader-WXG3Z7AI.js.map → libav-http-reader-2S5HAHW4.js.map} +1 -1
- package/dist/libav-http-reader-Q356EO2K.cjs +16 -0
- package/dist/{libav-http-reader-AZLE7YFS.cjs.map → libav-http-reader-Q356EO2K.cjs.map} +1 -1
- package/dist/{player-DDdNVFDv.d.cts → player-bQ6n4hVp.d.cts} +15 -0
- package/dist/{player-DDdNVFDv.d.ts → player-bQ6n4hVp.d.ts} +15 -0
- package/dist/player.cjs +60 -15
- package/dist/player.cjs.map +1 -1
- package/dist/player.d.cts +21 -0
- package/dist/player.d.ts +21 -0
- package/dist/player.js +60 -15
- package/dist/player.js.map +1 -1
- package/dist/remux-7TA4FKTY.js +10 -0
- package/dist/{remux-56V7LDAD.js.map → remux-7TA4FKTY.js.map} +1 -1
- package/dist/remux-VPKCLHHM.cjs +35 -0
- package/dist/{remux-KUS5GIL6.cjs.map → remux-VPKCLHHM.cjs.map} +1 -1
- package/package.json +1 -1
- package/src/element/avbridge-player.ts +36 -8
- package/src/element/player-styles.ts +13 -1
- package/src/player.ts +3 -3
- package/src/types.ts +15 -0
- package/src/util/libav-http-reader.ts +58 -19
- package/dist/chunk-37UOSAVI.cjs.map +0 -1
- package/dist/chunk-DCSOQH2N.js.map +0 -1
- package/dist/chunk-Z33SBWL5.cjs.map +0 -1
- package/dist/libav-http-reader-AZLE7YFS.cjs +0 -16
- package/dist/libav-http-reader-WXG3Z7AI.js +0 -3
- package/dist/remux-56V7LDAD.js +0 -10
- package/dist/remux-KUS5GIL6.cjs +0 -35
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkWRKO6Q42_cjs = require('./chunk-WRKO6Q42.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkHBHSUGNI_cjs = require('./chunk-HBHSUGNI.cjs');
|
|
5
5
|
var chunk2IJ66NTD_cjs = require('./chunk-2IJ66NTD.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunkHZUVMXBN_cjs = require('./chunk-HZUVMXBN.cjs');
|
|
7
7
|
var chunkG4APZMCP_cjs = require('./chunk-G4APZMCP.cjs');
|
|
8
8
|
var chunkF3LQJKXK_cjs = require('./chunk-F3LQJKXK.cjs');
|
|
9
9
|
|
|
@@ -734,12 +734,12 @@ async function createRemuxPipeline(ctx, video) {
|
|
|
734
734
|
const mb = await import('mediabunny');
|
|
735
735
|
const videoTrackInfo = ctx.videoTracks[0];
|
|
736
736
|
if (!videoTrackInfo) throw new Error("remux: source has no video track");
|
|
737
|
-
const mbVideoCodec =
|
|
737
|
+
const mbVideoCodec = chunkHBHSUGNI_cjs.avbridgeVideoToMediabunny(videoTrackInfo.codec);
|
|
738
738
|
if (!mbVideoCodec) {
|
|
739
739
|
throw new Error(`remux: video codec "${videoTrackInfo.codec}" is not supported by mediabunny output`);
|
|
740
740
|
}
|
|
741
741
|
const input = new mb.Input({
|
|
742
|
-
source: await
|
|
742
|
+
source: await chunkHBHSUGNI_cjs.buildMediabunnySourceFromInput(mb, ctx.source),
|
|
743
743
|
formats: mb.ALL_FORMATS
|
|
744
744
|
});
|
|
745
745
|
const allTracks = await input.getTracks();
|
|
@@ -771,7 +771,7 @@ async function createRemuxPipeline(ctx, video) {
|
|
|
771
771
|
throw new Error("remux: audio track not found in input");
|
|
772
772
|
}
|
|
773
773
|
inputAudio = newInput;
|
|
774
|
-
mbAudioCodec =
|
|
774
|
+
mbAudioCodec = chunkHBHSUGNI_cjs.avbridgeAudioToMediabunny(trackInfo.codec);
|
|
775
775
|
audioSink = new mb.EncodedPacketSink(newInput);
|
|
776
776
|
audioConfig = await newInput.getDecoderConfig();
|
|
777
777
|
}
|
|
@@ -1612,7 +1612,7 @@ async function startHybridDecoder(opts) {
|
|
|
1612
1612
|
const variant = chunkF3LQJKXK_cjs.pickLibavVariant(opts.context);
|
|
1613
1613
|
const libav = await chunkG4APZMCP_cjs.loadLibav(variant);
|
|
1614
1614
|
const bridge = await loadBridge();
|
|
1615
|
-
const { prepareLibavInput } = await import('./libav-http-reader-
|
|
1615
|
+
const { prepareLibavInput } = await import('./libav-http-reader-Q356EO2K.cjs');
|
|
1616
1616
|
const inputHandle = await prepareLibavInput(libav, opts.filename, opts.source, opts.transport);
|
|
1617
1617
|
const readPkt = await libav.av_packet_alloc();
|
|
1618
1618
|
const [fmt_ctx, streams] = await libav.ff_init_demuxer_file(opts.filename);
|
|
@@ -1765,13 +1765,13 @@ async function startHybridDecoder(opts) {
|
|
|
1765
1765
|
const audioPackets = audioStream ? packets[audioStream.index] : void 0;
|
|
1766
1766
|
if (videoPackets && videoTimeBase) {
|
|
1767
1767
|
for (const pkt of videoPackets) {
|
|
1768
|
-
const sec =
|
|
1768
|
+
const sec = chunkHZUVMXBN_cjs.packetPtsSec(pkt, videoTimeBase);
|
|
1769
1769
|
if (sec != null && sec > bufferedUntilSec) bufferedUntilSec = sec;
|
|
1770
1770
|
}
|
|
1771
1771
|
}
|
|
1772
1772
|
if (audioPackets && audioTimeBase) {
|
|
1773
1773
|
for (const pkt of audioPackets) {
|
|
1774
|
-
const sec =
|
|
1774
|
+
const sec = chunkHZUVMXBN_cjs.packetPtsSec(pkt, audioTimeBase);
|
|
1775
1775
|
if (sec != null && sec > bufferedUntilSec) bufferedUntilSec = sec;
|
|
1776
1776
|
}
|
|
1777
1777
|
}
|
|
@@ -1785,7 +1785,7 @@ async function startHybridDecoder(opts) {
|
|
|
1785
1785
|
const processed = await applyBSF(videoPackets);
|
|
1786
1786
|
for (const pkt of processed) {
|
|
1787
1787
|
if (myToken !== pumpToken || destroyed) return;
|
|
1788
|
-
|
|
1788
|
+
chunkHZUVMXBN_cjs.sanitizePacketTimestamp(pkt, () => {
|
|
1789
1789
|
const ts = syntheticVideoUs;
|
|
1790
1790
|
syntheticVideoUs += videoFrameStepUs;
|
|
1791
1791
|
return ts;
|
|
@@ -1864,7 +1864,7 @@ async function startHybridDecoder(opts) {
|
|
|
1864
1864
|
const frames = allFrames;
|
|
1865
1865
|
for (const f of frames) {
|
|
1866
1866
|
if (myToken !== pumpToken || destroyed) return;
|
|
1867
|
-
|
|
1867
|
+
chunkHZUVMXBN_cjs.sanitizeFrameTimestamp(
|
|
1868
1868
|
f,
|
|
1869
1869
|
() => {
|
|
1870
1870
|
const ts = syntheticAudioUs;
|
|
@@ -1875,7 +1875,7 @@ async function startHybridDecoder(opts) {
|
|
|
1875
1875
|
},
|
|
1876
1876
|
audioTimeBase
|
|
1877
1877
|
);
|
|
1878
|
-
const samples =
|
|
1878
|
+
const samples = chunkHZUVMXBN_cjs.libavFrameToInterleavedFloat32(f);
|
|
1879
1879
|
if (samples) {
|
|
1880
1880
|
opts.audio.schedule(samples.data, samples.channels, samples.sampleRate);
|
|
1881
1881
|
audioFramesDecoded++;
|
|
@@ -2282,7 +2282,7 @@ async function startDecoder(opts) {
|
|
|
2282
2282
|
const variant = "avbridge";
|
|
2283
2283
|
const libav = await chunkG4APZMCP_cjs.loadLibav(variant);
|
|
2284
2284
|
const bridge = await loadBridge2();
|
|
2285
|
-
const { prepareLibavInput } = await import('./libav-http-reader-
|
|
2285
|
+
const { prepareLibavInput } = await import('./libav-http-reader-Q356EO2K.cjs');
|
|
2286
2286
|
const inputHandle = await prepareLibavInput(libav, opts.filename, opts.source, opts.transport);
|
|
2287
2287
|
const readPkt = await libav.av_packet_alloc();
|
|
2288
2288
|
const [fmt_ctx, streams] = await libav.ff_init_demuxer_file(opts.filename);
|
|
@@ -2422,13 +2422,13 @@ async function startDecoder(opts) {
|
|
|
2422
2422
|
const audioPackets = audioStream ? packets[audioStream.index] : void 0;
|
|
2423
2423
|
if (videoPackets && videoTimeBase) {
|
|
2424
2424
|
for (const pkt of videoPackets) {
|
|
2425
|
-
const sec =
|
|
2425
|
+
const sec = chunkHZUVMXBN_cjs.packetPtsSec(pkt, videoTimeBase);
|
|
2426
2426
|
if (sec != null && sec > bufferedUntilSec) bufferedUntilSec = sec;
|
|
2427
2427
|
}
|
|
2428
2428
|
}
|
|
2429
2429
|
if (audioPackets && audioTimeBase) {
|
|
2430
2430
|
for (const pkt of audioPackets) {
|
|
2431
|
-
const sec =
|
|
2431
|
+
const sec = chunkHZUVMXBN_cjs.packetPtsSec(pkt, audioTimeBase);
|
|
2432
2432
|
if (sec != null && sec > bufferedUntilSec) bufferedUntilSec = sec;
|
|
2433
2433
|
}
|
|
2434
2434
|
}
|
|
@@ -2516,7 +2516,7 @@ async function startDecoder(opts) {
|
|
|
2516
2516
|
if (myToken !== pumpToken || destroyed) return;
|
|
2517
2517
|
for (const f of frames) {
|
|
2518
2518
|
if (myToken !== pumpToken || destroyed) return;
|
|
2519
|
-
|
|
2519
|
+
chunkHZUVMXBN_cjs.sanitizeFrameTimestamp(
|
|
2520
2520
|
f,
|
|
2521
2521
|
() => {
|
|
2522
2522
|
const ts = syntheticVideoUs;
|
|
@@ -2554,7 +2554,7 @@ async function startDecoder(opts) {
|
|
|
2554
2554
|
if (myToken !== pumpToken || destroyed) return;
|
|
2555
2555
|
for (const f of frames) {
|
|
2556
2556
|
if (myToken !== pumpToken || destroyed) return;
|
|
2557
|
-
|
|
2557
|
+
chunkHZUVMXBN_cjs.sanitizeFrameTimestamp(
|
|
2558
2558
|
f,
|
|
2559
2559
|
() => {
|
|
2560
2560
|
const ts = syntheticAudioUs;
|
|
@@ -2565,7 +2565,7 @@ async function startDecoder(opts) {
|
|
|
2565
2565
|
},
|
|
2566
2566
|
audioTimeBase
|
|
2567
2567
|
);
|
|
2568
|
-
const samples =
|
|
2568
|
+
const samples = chunkHZUVMXBN_cjs.libavFrameToInterleavedFloat32(f);
|
|
2569
2569
|
if (samples) {
|
|
2570
2570
|
opts.audio.schedule(samples.data, samples.channels, samples.sampleRate);
|
|
2571
2571
|
audioFramesDecoded++;
|
|
@@ -3011,9 +3011,9 @@ var UnifiedPlayer = class _UnifiedPlayer {
|
|
|
3011
3011
|
constructor(options, registry) {
|
|
3012
3012
|
this.options = options;
|
|
3013
3013
|
this.registry = registry;
|
|
3014
|
-
const { requestInit, fetchFn } = options;
|
|
3015
|
-
if (requestInit || fetchFn) {
|
|
3016
|
-
this.transport = { requestInit, fetchFn };
|
|
3014
|
+
const { requestInit, fetchFn, cacheBytes } = options;
|
|
3015
|
+
if (requestInit || fetchFn || cacheBytes !== void 0) {
|
|
3016
|
+
this.transport = { requestInit, fetchFn, cacheBytes };
|
|
3017
3017
|
}
|
|
3018
3018
|
}
|
|
3019
3019
|
options;
|
|
@@ -3081,7 +3081,7 @@ var UnifiedPlayer = class _UnifiedPlayer {
|
|
|
3081
3081
|
const bootstrapStart = performance.now();
|
|
3082
3082
|
try {
|
|
3083
3083
|
chunkG4APZMCP_cjs.dbg.info("bootstrap", "start");
|
|
3084
|
-
const ctx = await chunkG4APZMCP_cjs.dbg.timed("probe", "probe", 3e3, () =>
|
|
3084
|
+
const ctx = await chunkG4APZMCP_cjs.dbg.timed("probe", "probe", 3e3, () => chunkHBHSUGNI_cjs.probe(this.options.source, this.transport));
|
|
3085
3085
|
chunkG4APZMCP_cjs.dbg.info(
|
|
3086
3086
|
"probe",
|
|
3087
3087
|
`container=${ctx.container} video=${ctx.videoTracks[0]?.codec ?? "-"} audio=${ctx.audioTracks[0]?.codec ?? "-"} probedBy=${ctx.probedBy}`
|
|
@@ -3551,5 +3551,5 @@ exports.NATIVE_VIDEO_CODECS = NATIVE_VIDEO_CODECS;
|
|
|
3551
3551
|
exports.UnifiedPlayer = UnifiedPlayer;
|
|
3552
3552
|
exports.classifyContext = classifyContext;
|
|
3553
3553
|
exports.createPlayer = createPlayer;
|
|
3554
|
-
//# sourceMappingURL=chunk-
|
|
3555
|
-
//# sourceMappingURL=chunk-
|
|
3554
|
+
//# sourceMappingURL=chunk-7EF4VTUS.cjs.map
|
|
3555
|
+
//# sourceMappingURL=chunk-7EF4VTUS.cjs.map
|