@blockcast/mmt-transport 0.2.1 → 0.2.2-main.149f78a4adae
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/README.md +19 -53
- package/dist/driad-discovery.d.ts.map +1 -1
- package/dist/driad-discovery.js +1 -5
- package/dist/driad-discovery.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -8
- package/dist/index.js.map +1 -1
- package/dist/mmt-transport.no-modules.js +517 -8
- package/dist/mmt-transport.no-modules.js.map +4 -4
- package/dist/moqt-priority.d.ts +28 -0
- package/dist/moqt-priority.d.ts.map +1 -0
- package/dist/moqt-priority.js +30 -0
- package/dist/moqt-priority.js.map +1 -0
- package/dist/multicast-catalog-policy.d.ts +37 -0
- package/dist/multicast-catalog-policy.d.ts.map +1 -0
- package/dist/multicast-catalog-policy.js +285 -0
- package/dist/multicast-catalog-policy.js.map +1 -0
- package/dist/multicast-orchestrator.d.ts +4 -0
- package/dist/multicast-orchestrator.d.ts.map +1 -1
- package/dist/multicast-orchestrator.js +49 -2
- package/dist/multicast-orchestrator.js.map +1 -1
- package/dist/multicast-signaling-reconciler.d.ts +37 -0
- package/dist/multicast-signaling-reconciler.d.ts.map +1 -0
- package/dist/multicast-signaling-reconciler.js +158 -0
- package/dist/multicast-signaling-reconciler.js.map +1 -0
- package/dist/multicast-subscription-pool.d.ts.map +1 -1
- package/dist/multicast-subscription-pool.js +4 -0
- package/dist/multicast-subscription-pool.js.map +1 -1
- package/dist/no-modules.d.ts +35 -1
- package/dist/no-modules.d.ts.map +1 -1
- package/dist/no-modules.js +25 -1
- package/dist/no-modules.js.map +1 -1
- package/dist/stall-detector.d.ts +10 -0
- package/dist/stall-detector.d.ts.map +1 -1
- package/dist/stall-detector.js +21 -0
- package/dist/stall-detector.js.map +1 -1
- package/dist/takeover.d.ts +3 -0
- package/dist/takeover.d.ts.map +1 -1
- package/dist/takeover.js +35 -2
- package/dist/takeover.js.map +1 -1
- package/dist/transport-manager.d.ts +1 -11
- package/dist/transport-manager.d.ts.map +1 -1
- package/dist/transport-manager.js +3 -11
- package/dist/transport-manager.js.map +1 -1
- package/dist/types.d.ts +14 -75
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +7 -9
- package/src/driad-discovery.ts +1 -5
- package/src/index.ts +41 -29
- package/src/moqt-priority.ts +40 -0
- package/src/multicast-catalog-policy.ts +375 -0
- package/src/multicast-orchestrator.ts +47 -3
- package/src/multicast-signaling-reconciler.ts +153 -0
- package/src/multicast-subscription-pool.ts +4 -0
- package/src/no-modules.ts +48 -1
- package/src/stall-detector.ts +37 -0
- package/src/takeover.ts +41 -3
- package/src/transport-manager.ts +4 -13
- package/src/types.ts +11 -95
- package/dist/endpoint-config.test.d.ts +0 -2
- package/dist/endpoint-config.test.d.ts.map +0 -1
- package/dist/endpoint-config.test.js +0 -39
- package/dist/endpoint-config.test.js.map +0 -1
- package/dist/fec-client.d.ts +0 -442
- package/dist/fec-client.d.ts.map +0 -1
- package/dist/fec-client.js +0 -789
- package/dist/fec-client.js.map +0 -1
- package/dist/fec-client.test.d.ts +0 -8
- package/dist/fec-client.test.d.ts.map +0 -1
- package/dist/fec-client.test.js +0 -112
- package/dist/fec-client.test.js.map +0 -1
- package/dist/multicast-subscription-pool.test.d.ts +0 -2
- package/dist/multicast-subscription-pool.test.d.ts.map +0 -1
- package/dist/multicast-subscription-pool.test.js +0 -108
- package/dist/multicast-subscription-pool.test.js.map +0 -1
- package/dist/multicast-tier.test.d.ts +0 -2
- package/dist/multicast-tier.test.d.ts.map +0 -1
- package/dist/multicast-tier.test.js +0 -75
- package/dist/multicast-tier.test.js.map +0 -1
- package/dist/stall-detector.test.d.ts +0 -2
- package/dist/stall-detector.test.d.ts.map +0 -1
- package/dist/stall-detector.test.js +0 -33
- package/dist/stall-detector.test.js.map +0 -1
- package/dist/transport-manager.test.d.ts +0 -2
- package/dist/transport-manager.test.d.ts.map +0 -1
- package/dist/transport-manager.test.js +0 -155
- package/dist/transport-manager.test.js.map +0 -1
- package/src/endpoint-config.test.ts +0 -54
- package/src/fec-client.test.ts +0 -140
- package/src/fec-client.ts +0 -1103
- package/src/multicast-subscription-pool.test.ts +0 -115
- package/src/multicast-tier.test.ts +0 -80
- package/src/stall-detector.test.ts +0 -34
- package/src/transport-manager.test.ts +0 -192
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @blockcast/mmt-transport
|
|
2
2
|
|
|
3
|
-
Unified transport manager for browser MoQ players. Picks the right transport per stream — MoQ over WebTransport (moqtail and moqlite/moq-lib wire protocols), SSM multicast via Direct Sockets in an Isolated Web App, AMT tunneling (RFC 7450) with DRIAD relay discovery (RFC 8777), and a WebSocket fallback — and keeps
|
|
3
|
+
Unified transport manager for browser MoQ players. Picks the right transport per stream — MoQ over WebTransport (moqtail and moqlite/moq-lib wire protocols), SSM multicast via Direct Sockets in an Isolated Web App, AMT tunneling (RFC 7450) with DRIAD relay discovery (RFC 8777), and a WebSocket fallback — and keeps a progressive ABR controller and A/V `SharedClock` plumbed through every mode. WebTransport-first promotion means a tab connects immediately for fast channel select, then promotes in the background to native multicast where the platform supports it.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -8,26 +8,21 @@ Unified transport manager for browser MoQ players. Picks the right transport per
|
|
|
8
8
|
pnpm add @blockcast/mmt-transport
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
`@blockcast/mmt-fec` and `mmt-wasm` are pulled in as workspace dependencies for the FEC client. Browser builds also need a way to load `mmt_wasm.js` — see `loadMmtWasm` below for the search paths.
|
|
12
|
-
|
|
13
11
|
## Quick start
|
|
14
12
|
|
|
15
13
|
```ts
|
|
16
14
|
import {
|
|
17
15
|
TransportManager,
|
|
18
|
-
MoqFecClient,
|
|
19
16
|
SharedClock,
|
|
20
17
|
} from "@blockcast/mmt-transport"
|
|
21
18
|
|
|
22
19
|
const transport = new TransportManager()
|
|
23
|
-
const fec = await MoqFecClient.create({ symbolSize: 1280, k: 10, p: 3, interleaveDepth: 30 })
|
|
24
20
|
const clock = new SharedClock()
|
|
25
21
|
|
|
26
22
|
transport.setPacketCallback((data) => {
|
|
27
|
-
// Hand
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
fec.addSourceSymbol(blockId, esi, new Uint8Array(data))
|
|
23
|
+
// Hand raw packets to @blockcast/mmt-container. Container/FEC state stays
|
|
24
|
+
// downstream of transport selection.
|
|
25
|
+
router.processPacket(new Uint8Array(data), "multicast")
|
|
31
26
|
})
|
|
32
27
|
|
|
33
28
|
transport.setStateCallback((s) => console.log("[transport] mode=", s.mode))
|
|
@@ -43,17 +38,16 @@ await transport.connect({
|
|
|
43
38
|
})
|
|
44
39
|
```
|
|
45
40
|
|
|
46
|
-
The manager owns capability detection, transport selection, and the bandwidth/loss bookkeeping that drives ABR. It does not own the container
|
|
41
|
+
The manager owns capability detection, transport selection, and the bandwidth/loss bookkeeping that drives ABR. It does not own the container, FEC, renderer, or MoQ session; it hands raw `ArrayBuffer` packets to the consumer wired through `setPacketCallback`.
|
|
47
42
|
|
|
48
43
|
## Exports
|
|
49
44
|
|
|
50
45
|
| Path | Purpose |
|
|
51
46
|
|------|---------|
|
|
52
|
-
| `@blockcast/mmt-transport` | `TransportManager`,
|
|
53
|
-
| `@blockcast/mmt-transport/fec` | `MmtFecClient`, `MoqFecClient`, `loadMmtWasm`, FEC OTI types |
|
|
47
|
+
| `@blockcast/mmt-transport` | `TransportManager`, DRIAD, AMT, ABR, repair-track naming, types |
|
|
54
48
|
| `@blockcast/mmt-transport/clock` | `SharedClock`, `SYNC_TOLERANCE_US`, `PTS_OFFSET_US` |
|
|
55
49
|
|
|
56
|
-
The root export also re-emits the
|
|
50
|
+
The root export also re-emits the clock surface. Use the clock subpath when you want a narrower dependency graph.
|
|
57
51
|
|
|
58
52
|
## Transport matrix
|
|
59
53
|
|
|
@@ -74,7 +68,7 @@ Two MoQ wire protocols are supported behind a single WebTransport session, dispa
|
|
|
74
68
|
- **moqtail** — current IETF MOQT draft. Uses fetch-style subscriptions, group/object addressing, and the `FEC_CONFIG` control message (`0x50`) defined in `draft-ramadan-moq-fec-00`. Repair tracks are addressed by appending `/repair` to the source track path; helpers `repairTrackPath`, `isRepairTrack`, and `sourceTrackFromRepair` are exported from the root.
|
|
75
69
|
- **moqlite / moq-lib** — older moq.dev draft. Used by the `@moq/hang` web component and the moq-lib publisher. Same WebTransport carrier, simpler control plane.
|
|
76
70
|
|
|
77
|
-
The transport manager itself does not implement either protocol stack — those live in the player libraries (`@moq/hang`, `moqtail-ts`).
|
|
71
|
+
The transport manager itself does not implement either protocol stack — those live in the player libraries (`@moq/hang`, `moqtail-ts`). This package provides repair-track naming helpers and the `MoqFecConfig` / `RepairObjectHeader` signaling types. Decode and recovery state belongs to `@blockcast/mmt-container` or `@blockcast/fec-worker`.
|
|
78
72
|
|
|
79
73
|
## SSM multicast
|
|
80
74
|
|
|
@@ -117,42 +111,14 @@ Browsers can't issue raw DNS queries, so `DRIADDiscovery` tries three transports
|
|
|
117
111
|
|
|
118
112
|
Discovered relays are cached for 5 minutes per source address. `selectBestRelay` orders by RFC priority and then by an HTTP HEAD-based RTT probe to break ties.
|
|
119
113
|
|
|
120
|
-
## FEC
|
|
121
|
-
|
|
122
|
-
Two client classes, both backed by `mmt-wasm` (workspace dep `mmt-wasm`):
|
|
123
|
-
|
|
124
|
-
### `MmtFecClient` — for MMTP-over-multicast
|
|
125
|
-
|
|
126
|
-
Wraps the libmmt RaptorQ decoder plus a TypeScript MFU reassembler. Designed to sit directly on the multicast packet path:
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
window.multicast packet → MmtFecClient.processPacket(packet)
|
|
130
|
-
│
|
|
131
|
-
├─ FI=0/1/2/3 → MfuReassembler.addFragment → onMfuReady(mfu)
|
|
132
|
-
└─ fec_type≠0 → wasm.add_repair(sbn, esi, …) → onMfuReady(mfu, recoveredViaFec=true)
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
`createMulticastFecHandler(client)` returns an `(ArrayBuffer) => void` callback you can pass straight to `transport.setPacketCallback`. The `ProcessingStats` it reports — `mfuComplete`, `mfuReassembled`, `fecBlocksRecovered`, `fecRecoveryRate`, `greenFillFrames` — feed straight into the ABR controller's `setFecStats`.
|
|
136
|
-
|
|
137
|
-
Configuration uses the RFC 6330 OTI directly (`configureFec(oti)` after the catalog is parsed) plus an `interleaveDepth` matched to the publisher's interleave window.
|
|
138
|
-
|
|
139
|
-
### `MoqFecClient` — for MoQ-over-WebTransport
|
|
140
|
-
|
|
141
|
-
Symbol-oriented API matching `draft-ramadan-moq-fec-00`. Encoder side mints source + repair symbols from a group payload; decoder side reassembles when a block has K of (K+P) symbols:
|
|
142
|
-
|
|
143
|
-
```ts
|
|
144
|
-
const client = await MoqFecClient.create({ symbolSize: 1280, k: 10, p: 3, interleaveDepth: 30 })
|
|
145
|
-
|
|
146
|
-
// Subscriber path
|
|
147
|
-
client.setOti(otiFromFecConfigMessage)
|
|
148
|
-
onSourceSymbol((blockId, esi, symbol) => {
|
|
149
|
-
const decoded = client.addSourceSymbol(blockId, esi, symbol)
|
|
150
|
-
if (decoded) processGroup(decoded)
|
|
151
|
-
})
|
|
152
|
-
onRepairSymbol((blockId, esi, symbol) => client.addRepairSymbol(blockId, esi, symbol))
|
|
153
|
-
```
|
|
114
|
+
## FEC ownership
|
|
154
115
|
|
|
155
|
-
|
|
116
|
+
FEC is deliberately not implemented in this transport package. The host loads
|
|
117
|
+
the exact `mmt-wasm` build it deployed, and `@blockcast/mmt-container` or
|
|
118
|
+
`@blockcast/fec-worker` owns decoder state, ISO Source/Repair FEC Payload ID
|
|
119
|
+
coordinates, deadlines, and reinjection of recovered MMTP symbols. This avoids
|
|
120
|
+
a second parser and a second, incompatible WASM binding surface in the
|
|
121
|
+
transport layer.
|
|
156
122
|
|
|
157
123
|
## Clock (`./clock` export)
|
|
158
124
|
|
|
@@ -234,7 +200,7 @@ The selection algorithm is deliberately stateless and synchronous-feeling: every
|
|
|
234
200
|
- **RFC 8777** — DNS Reverse IP AMT Discovery (DRIAD)
|
|
235
201
|
- **RFC 9000** — QUIC: A UDP-Based Multiplexed and Secure Transport
|
|
236
202
|
- **RFC 9220** — Bootstrapping WebSockets / HTTP/3 over WebTransport (browser carrier for MoQ)
|
|
237
|
-
- **RFC 6330** — RaptorQ Forward Error Correction Scheme (FEC OTI consumed by
|
|
203
|
+
- **RFC 6330** — RaptorQ Forward Error Correction Scheme (FEC OTI consumed by downstream decoders)
|
|
238
204
|
- **RFC 3376 / RFC 3810** — IGMPv3 / MLDv2 (issued by the OS via `window.multicast.subscribe`)
|
|
239
205
|
- **draft-ietf-moq-transport** — IETF MOQT (the moqtail wire protocol)
|
|
240
206
|
- **draft-ramadan-moq-fec-00** — AL-FEC over MoQ (the `FEC_CONFIG` message, repair-track convention, repair object header)
|
|
@@ -242,8 +208,8 @@ The selection algorithm is deliberately stateless and synchronous-feeling: every
|
|
|
242
208
|
## Related packages
|
|
243
209
|
|
|
244
210
|
- **[`@blockcast/mmt-container`](../container)** — MMTP / LOC container parser, MFU reassembler, CARP catalog, signaling. Sits downstream of this package and consumes the `ArrayBuffer` packets it emits.
|
|
245
|
-
- **[`@blockcast/mmt-fec`](../fec)** — Container-agnostic
|
|
246
|
-
- **[`@blockcast/fec-worker`](../fec-worker)** — Web Worker
|
|
211
|
+
- **[`@blockcast/mmt-fec`](../fec)** — Container-agnostic FEC geometry, mapping, OTI, and recovered-block primitives used by container and render packages.
|
|
212
|
+
- **[`@blockcast/fec-worker`](../fec-worker)** — Web Worker owner for the canonical `MmtFecDecoder`; use it to keep decode CPU off the main thread.
|
|
247
213
|
- **[`@blockcast/mmt-render`](../mmt-render)** — Reference renderer + diagnostics overlay; consumes `TransportState` and `ProcessingStats`.
|
|
248
214
|
|
|
249
215
|
The parent monorepo also ships `@blockcast/multicast` (npm-public type-only API), the IWA + Chrome Extension that exposes `window.multicast`, and the mobile SDKs that implement the native-multicast leg of the matrix above.
|
|
@@ -257,7 +223,7 @@ pnpm --filter @blockcast/mmt-transport typecheck # tsc --noEmit
|
|
|
257
223
|
pnpm --filter @blockcast/mmt-transport build # tsc → dist/
|
|
258
224
|
```
|
|
259
225
|
|
|
260
|
-
|
|
226
|
+
The transport manager is exercised end-to-end through the moqtail and moq-lib player builds in the parent repo (`pnpm build:players` in `packages/moq-server`), which is where you verify a real promotion sequence: open a stream on WebTransport, watch it promote to SSM in an IWA, kill the relay, and confirm packets keep flowing on the multicast leg.
|
|
261
227
|
|
|
262
228
|
## License
|
|
263
229
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driad-discovery.d.ts","sourceRoot":"","sources":["../src/driad-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,WAAW,CAAW;IAE9B;;;;;OAKG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA6B3D;;OAEG;YACW,eAAe;
|
|
1
|
+
{"version":3,"file":"driad-discovery.d.ts","sourceRoot":"","sources":["../src/driad-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,WAAW,CAAW;IAE9B;;;;;OAKG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA6B3D;;OAEG;YACW,eAAe;IAkC7B;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAqBzD,UAAU;IAexB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,SAAS;CAGnD;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
package/dist/driad-discovery.js
CHANGED
|
@@ -77,11 +77,7 @@ export class DRIADDiscovery {
|
|
|
77
77
|
if (dohRelay) {
|
|
78
78
|
return [dohRelay];
|
|
79
79
|
}
|
|
80
|
-
|
|
81
|
-
return [
|
|
82
|
-
{ host: "amt-relay.m2icast.net", port: 2268, priority: 10, weight: 100, asn: 0 },
|
|
83
|
-
{ host: "amt.akamaistream.net", port: 2268, priority: 20, weight: 50, asn: 0 },
|
|
84
|
-
];
|
|
80
|
+
return [];
|
|
85
81
|
}
|
|
86
82
|
/**
|
|
87
83
|
* Query DNS-over-HTTPS for DRIAD relay based on source address (RFC 8777)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driad-discovery.js","sourceRoot":"","sources":["../src/driad-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;GAGG;AACH,MAAM,OAAO,cAAc;IAClB,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IACxC,WAAW,GAAG,OAAO,CAAC,CAAC,YAAY;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QAClC,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACJ,mDAAmD;YACnD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,GAAG,cAAc,mBAAmB,CAAC;YAEzD,OAAO,CAAC,GAAG,CAAC,yCAAyC,MAAM,QAAQ,WAAW,EAAE,CAAC,CAAC;YAElF,6DAA6D;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAElD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,uCAAuC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,MAAc;QAC3C,sCAAsC;QACtC,MAAM,cAAc,GAAG;YACtB,qCAAqC;YACrC,gDAAgD;SAChD,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;oBAChF,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;oBACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;iBACjC,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6B,CAAC;oBACjE,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;gBAC1B,CAAC;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,0BAA0B;YAC3B,CAAC;QACF,CAAC;QAED,qCAAqC;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"driad-discovery.js","sourceRoot":"","sources":["../src/driad-discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,20 +22,21 @@
|
|
|
22
22
|
* - Unified FEC/ABR pipeline across all transport modes
|
|
23
23
|
* - A/V synchronization via SharedClock
|
|
24
24
|
*/
|
|
25
|
-
export type { TransportConfig, TransportSubscription, QualityLevel, TransportCapabilities, TransportMode, TransportState, DRIADRelay, AmtRelayInfo, GroupKey, PacketMetadata,
|
|
25
|
+
export type { TransportConfig, TransportSubscription, QualityLevel, TransportCapabilities, TransportMode, TransportState, DRIADRelay, AmtRelayInfo, GroupKey, PacketMetadata, Micro, SyncDecision, WindowMulticastSubscribeConfig, WindowMulticastSubscriptionState, WindowMulticastResolvedTransport, WindowMulticastSubscriptionEventMap, WindowMulticastSubscription, WindowMulticastCapabilities, WindowMulticastGateway, MulticastTransportMode, MulticastConfig, PacketSource, SubscriptionState, SubscriptionStats, MulticastSubscriptionHandle, MulticastBridge, MoqFecConfig, RepairObjectHeader, } from "./types.js";
|
|
26
26
|
export { FEC_CONFIG_MESSAGE_TYPE, REPAIR_TRACK_SUFFIX, repairTrackPath, isRepairTrack, sourceTrackFromRepair, MoqFecAlgorithm, } from "./types.js";
|
|
27
27
|
export { TransportManager, transportManager } from "./transport-manager.js";
|
|
28
|
-
export { SSMTransportManager, ssmTransport } from "./transport-manager.js";
|
|
29
28
|
export { DRIADDiscovery, driadDiscovery } from "./driad-discovery.js";
|
|
30
29
|
export { AdaptiveBitrateController, QUALITY_LEVELS, type FecStatsForAbr, } from "./abr-controller.js";
|
|
31
30
|
export { endpointKey, selectMulticastTier, type MulticastTierEndpoint, } from "./multicast-tier.js";
|
|
32
|
-
export { MulticastOrchestrator, DEFAULT_DWELL_MS, DEFAULT_JOIN_DEADLINE_MS, goodputFromStats, type GoodputSample, type MulticastTierPacket, type OrchestratorCommand, type OrchestratorOptions, type OrchestratorState, } from "./multicast-orchestrator.js";
|
|
31
|
+
export { MulticastOrchestrator, DEFAULT_DWELL_MS, DEFAULT_JOIN_DEADLINE_MS, goodputFromStats, type GoodputSample, type HeadroomSample, type MulticastTierPacket, type OrchestratorCommand, type OrchestratorOptions, type OrchestratorState, } from "./multicast-orchestrator.js";
|
|
32
|
+
export { createMulticastSignalingReconciler, normalizeCatalogEndpoints, type MulticastSignalingEndpoint, } from "./multicast-signaling-reconciler.js";
|
|
33
|
+
export { endpointToMulticastConfig, hasMulticastCatalogBaseline, hasUnicastMediaRenditions, isMulticastOnlyCatalog, isRecoverableMulticastSignalReadError, mergeUrlMulticastPolicy, normalizeMulticastConfig, readPlayerMulticastConfig, requiresMulticastCapability, sameMulticastConfig, selectEndpointPacketIds, selectEndpointPacketIdsForTracks, selectMulticastCandidate, selectMulticastCandidateForTracks, urlOverrideBlocksMulticastCandidate, withMulticastEndpoints, type PlayerMulticastConfig, type MulticastTrackSelection, } from "./multicast-catalog-policy.js";
|
|
33
34
|
export { isMulticastExplicitlyDisabled, isUsableMulticastEndpoint, isValidMulticastGroupAddress, multicastEndpointKey, normalizeMulticastEndpoint, readUrlMulticastConfig, type MulticastEndpointConfig, type MulticastTransportPreference, } from "./endpoint-config.js";
|
|
34
35
|
export { MulticastSubscriptionPool, multicastSubscriptionPool, type MulticastSubscriptionConsumer, type MulticastSubscriptionLease, } from "./multicast-subscription-pool.js";
|
|
35
|
-
export { TransportStallDetector, type FecProgressSnapshot, type StallDetectorConfig, } from "./stall-detector.js";
|
|
36
|
+
export { classifyStall, TransportStallDetector, type FecProgressSnapshot, type PlayerStallClassification, type PlayerStallSnapshot, type StallDetectorConfig, } from "./stall-detector.js";
|
|
36
37
|
export { makeSourceSwitchHandler, wireStallDetector, wireStarvationDetector, type ActivatableSessions, type FecStarvationSnapshot, type LossArcSession, type StallDetectorLike, type StarvationDetectorLike, } from "./takeover.js";
|
|
37
38
|
export { runUnicastFallback, type FallbackBroadcast, type FallbackBroadcastLike, type FallbackGroup, type FallbackGroupLike, type FallbackSessionManagerLike, type FallbackSessions, type FallbackSubscription, type FallbackSubLike, type FallbackTrack, } from "./unicast-fallback.js";
|
|
39
|
+
export { MOQT_PUBLISHER_PRIORITY, MOQT_SUBSCRIBER_PRIORITY, moqtPublisherPriority, type MoqtPublisherPriority, moqtSubscriberPriority, type MoqtSubscriberPriority, } from "./moqt-priority.js";
|
|
38
40
|
export { AMTGatewayManager, AMTGateway, amtGatewayManager, type AMTSubscriptionConfig, type AMTGatewayOptions, } from "./amt-gateway.js";
|
|
39
|
-
export { MmtFecClient, createMulticastFecHandler, setupMmtFec, MoqFecClient, createMoqFecClient, loadMmtWasm, type MoqFecClientConfig, type MoqFecClientStats, type FecDecoderConfig, } from "./fec-client.js";
|
|
40
41
|
export { SharedClock, getSharedClock, resetSharedClock, SYNC_TOLERANCE_US, PTS_OFFSET_US, } from "./clock.js";
|
|
41
42
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,YAAY,EACX,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,27 +24,23 @@
|
|
|
24
24
|
*/
|
|
25
25
|
// FEC constants and utilities per draft-ramadan-moq-fec-00
|
|
26
26
|
export { FEC_CONFIG_MESSAGE_TYPE, REPAIR_TRACK_SUFFIX, repairTrackPath, isRepairTrack, sourceTrackFromRepair, MoqFecAlgorithm, } from "./types.js";
|
|
27
|
-
// Transport Manager (renamed from SSMTransportManager)
|
|
28
27
|
export { TransportManager, transportManager } from "./transport-manager.js";
|
|
29
|
-
// @deprecated - Use TransportManager and transportManager instead
|
|
30
|
-
export { SSMTransportManager, ssmTransport } from "./transport-manager.js";
|
|
31
28
|
// DRIAD Discovery
|
|
32
29
|
export { DRIADDiscovery, driadDiscovery } from "./driad-discovery.js";
|
|
33
30
|
// Adaptive Bitrate Controller
|
|
34
31
|
export { AdaptiveBitrateController, QUALITY_LEVELS, } from "./abr-controller.js";
|
|
35
32
|
export { endpointKey, selectMulticastTier, } from "./multicast-tier.js";
|
|
36
33
|
export { MulticastOrchestrator, DEFAULT_DWELL_MS, DEFAULT_JOIN_DEADLINE_MS, goodputFromStats, } from "./multicast-orchestrator.js";
|
|
34
|
+
export { createMulticastSignalingReconciler, normalizeCatalogEndpoints, } from "./multicast-signaling-reconciler.js";
|
|
35
|
+
export { endpointToMulticastConfig, hasMulticastCatalogBaseline, hasUnicastMediaRenditions, isMulticastOnlyCatalog, isRecoverableMulticastSignalReadError, mergeUrlMulticastPolicy, normalizeMulticastConfig, readPlayerMulticastConfig, requiresMulticastCapability, sameMulticastConfig, selectEndpointPacketIds, selectEndpointPacketIdsForTracks, selectMulticastCandidate, selectMulticastCandidateForTracks, urlOverrideBlocksMulticastCandidate, withMulticastEndpoints, } from "./multicast-catalog-policy.js";
|
|
37
36
|
export { isMulticastExplicitlyDisabled, isUsableMulticastEndpoint, isValidMulticastGroupAddress, multicastEndpointKey, normalizeMulticastEndpoint, readUrlMulticastConfig, } from "./endpoint-config.js";
|
|
38
37
|
export { MulticastSubscriptionPool, multicastSubscriptionPool, } from "./multicast-subscription-pool.js";
|
|
39
|
-
export { TransportStallDetector, } from "./stall-detector.js";
|
|
38
|
+
export { classifyStall, TransportStallDetector, } from "./stall-detector.js";
|
|
40
39
|
export { makeSourceSwitchHandler, wireStallDetector, wireStarvationDetector, } from "./takeover.js";
|
|
41
40
|
export { runUnicastFallback, } from "./unicast-fallback.js";
|
|
41
|
+
export { MOQT_PUBLISHER_PRIORITY, MOQT_SUBSCRIBER_PRIORITY, moqtPublisherPriority, moqtSubscriberPriority, } from "./moqt-priority.js";
|
|
42
42
|
// AMT Gateway
|
|
43
43
|
export { AMTGatewayManager, AMTGateway, amtGatewayManager, } from "./amt-gateway.js";
|
|
44
|
-
// FEC Client
|
|
45
|
-
export { MmtFecClient, createMulticastFecHandler, setupMmtFec,
|
|
46
|
-
// MoQ FEC Client (for WebTransport)
|
|
47
|
-
MoqFecClient, createMoqFecClient, loadMmtWasm, } from "./fec-client.js";
|
|
48
44
|
// A/V Sync Clock
|
|
49
45
|
export { SharedClock, getSharedClock, resetSharedClock, SYNC_TOLERANCE_US, PTS_OFFSET_US, } from "./clock.js";
|
|
50
46
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAoCH,2DAA2D;AAC3D,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,eAAe,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,8BAA8B;AAC9B,OAAO,EACN,yBAAyB,EACzB,cAAc,GAEd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,WAAW,EACX,mBAAmB,GAEnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,GAOhB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACN,kCAAkC,EAClC,yBAAyB,GAEzB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACN,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,qCAAqC,EACrC,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,gCAAgC,EAChC,wBAAwB,EACxB,iCAAiC,EACjC,mCAAmC,EACnC,sBAAsB,GAGtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACN,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,GAGtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACN,yBAAyB,EACzB,yBAAyB,GAGzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACN,aAAa,EACb,sBAAsB,GAKtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,GAMtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,kBAAkB,GAUlB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACN,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EAErB,sBAAsB,GAEtB,MAAM,oBAAoB,CAAC;AAE5B,cAAc;AACd,OAAO,EACN,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAGjB,MAAM,kBAAkB,CAAC;AAE1B,iBAAiB;AACjB,OAAO,EACN,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACb,MAAM,YAAY,CAAC"}
|