@blockcast/mmt-transport 0.2.2 → 0.3.0-main.ef68de90edb3
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 +44 -58
- package/dist/abr-controller.d.ts +34 -4
- package/dist/abr-controller.d.ts.map +1 -1
- package/dist/abr-controller.js +66 -17
- package/dist/abr-controller.js.map +1 -1
- package/dist/amt-gateway.d.ts.map +1 -1
- package/dist/amt-gateway.js +3 -4
- package/dist/amt-gateway.js.map +1 -1
- package/dist/driad-discovery.d.ts.map +1 -1
- package/dist/driad-discovery.js +3 -6
- package/dist/driad-discovery.js.map +1 -1
- package/dist/endpoint-config.d.ts +68 -0
- package/dist/endpoint-config.d.ts.map +1 -1
- package/dist/endpoint-config.js +118 -3
- package/dist/endpoint-config.js.map +1 -1
- package/dist/index.d.ts +10 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -11
- package/dist/index.js.map +1 -1
- package/dist/mmt-transport.no-modules.js +881 -60
- package/dist/mmt-transport.no-modules.js.map +4 -4
- package/dist/moqt-priority.d.ts +39 -0
- package/dist/moqt-priority.d.ts.map +1 -0
- package/dist/moqt-priority.js +41 -0
- package/dist/moqt-priority.js.map +1 -0
- package/dist/multicast-catalog-policy.d.ts +96 -0
- package/dist/multicast-catalog-policy.d.ts.map +1 -0
- package/dist/multicast-catalog-policy.js +660 -0
- package/dist/multicast-catalog-policy.js.map +1 -0
- package/dist/multicast-orchestrator.d.ts +24 -0
- package/dist/multicast-orchestrator.d.ts.map +1 -1
- package/dist/multicast-orchestrator.js +102 -9
- 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 +161 -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 +37 -10
- package/dist/multicast-subscription-pool.js.map +1 -1
- package/dist/multicast-tier.d.ts +19 -0
- package/dist/multicast-tier.d.ts.map +1 -1
- package/dist/multicast-tier.js +21 -4
- package/dist/multicast-tier.js.map +1 -1
- package/dist/no-modules.d.ts +40 -3
- package/dist/no-modules.d.ts.map +1 -1
- package/dist/no-modules.js +30 -3
- package/dist/no-modules.js.map +1 -1
- package/dist/packet-batch.d.ts +13 -0
- package/dist/packet-batch.d.ts.map +1 -0
- package/dist/packet-batch.js +14 -0
- package/dist/packet-batch.js.map +1 -0
- 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 +21 -17
- package/dist/transport-manager.d.ts.map +1 -1
- package/dist/transport-manager.js +63 -29
- package/dist/transport-manager.js.map +1 -1
- package/dist/types.d.ts +98 -123
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -50
- package/dist/types.js.map +1 -1
- package/node_modules/@blockcast/mmt-alta-parse/README.md +181 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +57 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/index.js +115 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +1 -0
- package/node_modules/@blockcast/mmt-alta-parse/package.json +50 -0
- package/node_modules/@blockcast/mmt-alta-parse/src/index.ts +136 -0
- package/node_modules/@blockcast/mmt-base/README.md +134 -0
- package/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +55 -0
- package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +128 -0
- package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/index.d.ts +7 -0
- package/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/index.js +7 -0
- package/node_modules/@blockcast/mmt-base/dist/index.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +292 -0
- package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/mmtp.js +612 -0
- package/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +18 -0
- package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/net-constants.js +18 -0
- package/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +47 -0
- package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/ntp-short.js +54 -0
- package/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +57 -0
- package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/serial-number.js +98 -0
- package/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +312 -0
- package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/signalling.js +637 -0
- package/node_modules/@blockcast/mmt-base/dist/signalling.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/package.json +49 -0
- package/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +145 -0
- package/node_modules/@blockcast/mmt-base/src/index.ts +6 -0
- package/node_modules/@blockcast/mmt-base/src/mmtp.ts +892 -0
- package/node_modules/@blockcast/mmt-base/src/net-constants.ts +17 -0
- package/node_modules/@blockcast/mmt-base/src/ntp-short.ts +67 -0
- package/node_modules/@blockcast/mmt-base/src/serial-number.ts +107 -0
- package/node_modules/@blockcast/mmt-base/src/signalling.ts +862 -0
- package/package.json +13 -6
- package/src/abr-controller.ts +81 -17
- package/src/amt-gateway.ts +3 -5
- package/src/driad-discovery.ts +3 -6
- package/src/endpoint-config.ts +157 -3
- package/src/index.ts +54 -33
- package/src/moqt-priority.ts +51 -0
- package/src/multicast-catalog-policy.ts +753 -0
- package/src/multicast-orchestrator.ts +114 -10
- package/src/multicast-signaling-reconciler.ts +156 -0
- package/src/multicast-subscription-pool.ts +46 -11
- package/src/multicast-tier.ts +30 -3
- package/src/no-modules.ts +54 -2
- package/src/packet-batch.ts +17 -0
- package/src/stall-detector.ts +37 -0
- package/src/takeover.ts +41 -3
- package/src/transport-manager.ts +64 -34
- package/src/types.ts +103 -160
- 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,52 +8,53 @@ Unified transport manager for browser MoQ players. Picks the right transport per
|
|
|
8
8
|
pnpm add @blockcast/mmt-transport
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
The FEC client loads `mmt-wasm` dynamically at runtime instead of installing a workspace-relative package dependency. Browser builds must provide `mmt_wasm.js` at one of the paths described under `loadMmtWasm` below, or pass an explicit path.
|
|
12
|
-
|
|
13
11
|
## Quick start
|
|
14
12
|
|
|
15
13
|
```ts
|
|
16
14
|
import {
|
|
17
15
|
TransportManager,
|
|
18
|
-
MoqFecClient,
|
|
19
16
|
SharedClock,
|
|
17
|
+
catalogQualityLadder,
|
|
20
18
|
} from "@blockcast/mmt-transport"
|
|
21
19
|
|
|
22
20
|
const transport = new TransportManager()
|
|
23
|
-
const fec = await MoqFecClient.create({ symbolSize: 1280, k: 10, p: 3, interleaveDepth: 30 })
|
|
24
21
|
const clock = new SharedClock()
|
|
25
22
|
|
|
26
23
|
transport.setPacketCallback((data) => {
|
|
27
|
-
// Hand
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
fec.addSourceSymbol(blockId, esi, new Uint8Array(data))
|
|
24
|
+
// Hand raw packets to @blockcast/mmt-container. Container/FEC state stays
|
|
25
|
+
// downstream of transport selection.
|
|
26
|
+
router.processPacket(new Uint8Array(data), "multicast")
|
|
31
27
|
})
|
|
32
28
|
|
|
33
29
|
transport.setStateCallback((s) => console.log("[transport] mode=", s.mode))
|
|
34
30
|
|
|
35
|
-
|
|
31
|
+
// ABR adapts over the stream's own renditions and nothing else: there is no
|
|
32
|
+
// built-in ladder. One rung per catalog video rendition, under its catalog
|
|
33
|
+
// name (e.g. "video/720p"), costed at its catalog bitrate; `catalog` is the
|
|
34
|
+
// stream's catalog. Throws if a rendition states no bitrate (see ABR ladder).
|
|
35
|
+
const abrLadder = catalogQualityLadder(catalog) // use "audio" for an audio-only catalog
|
|
36
|
+
|
|
37
|
+
const connected = await transport.connect({
|
|
36
38
|
group: "232.1.1.1",
|
|
37
39
|
source: "203.0.113.10",
|
|
38
40
|
port: 5004,
|
|
39
41
|
streamType: "video",
|
|
40
42
|
amtRelay: undefined, // omit to let DRIAD discover one
|
|
41
43
|
driadEnabled: true,
|
|
42
|
-
|
|
44
|
+
abrLadder, // required; starts on its lowest bitrate
|
|
43
45
|
})
|
|
44
46
|
```
|
|
45
47
|
|
|
46
|
-
The manager owns capability detection, transport selection, and the bandwidth/loss bookkeeping that drives ABR. It does not own the container
|
|
48
|
+
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
49
|
|
|
48
50
|
## Exports
|
|
49
51
|
|
|
50
52
|
| Path | Purpose |
|
|
51
53
|
|------|---------|
|
|
52
|
-
| `@blockcast/mmt-transport` | `TransportManager`,
|
|
53
|
-
| `@blockcast/mmt-transport/fec` | `MmtFecClient`, `MoqFecClient`, `loadMmtWasm`, FEC OTI types |
|
|
54
|
+
| `@blockcast/mmt-transport` | `TransportManager`, DRIAD, AMT, ABR, repair-track naming, types |
|
|
54
55
|
| `@blockcast/mmt-transport/clock` | `SharedClock`, `SYNC_TOLERANCE_US`, `PTS_OFFSET_US` |
|
|
55
56
|
|
|
56
|
-
The root export also re-emits the
|
|
57
|
+
The root export also re-emits the clock surface. Use the clock subpath when you want a narrower dependency graph.
|
|
57
58
|
|
|
58
59
|
## Transport matrix
|
|
59
60
|
|
|
@@ -71,10 +72,10 @@ Promotion is always best-effort: WebTransport connects first for fast channel se
|
|
|
71
72
|
|
|
72
73
|
Two MoQ wire protocols are supported behind a single WebTransport session, dispatched via QUIC ALPN:
|
|
73
74
|
|
|
74
|
-
- **moqtail** — current IETF MOQT draft. Uses fetch-style subscriptions
|
|
75
|
+
- **moqtail** — current IETF MOQT draft. Uses fetch-style subscriptions and group/object addressing. FEC parameters are signalled in each track's catalog `fec` block, not via the `FEC_CONFIG` control message that `draft-ramadan-moq-fec-00` defines — that message is neither sent nor parsed here. A repair track's source, layer and symbol budget come from the catalog via `resolveRepairLayers` in `@blockcast/mmt-container`, never from its name; `repairTrackPath` is a producer-side naming convenience only.
|
|
75
76
|
- **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
77
|
|
|
77
|
-
The transport manager itself does not implement either protocol stack — those live in the player libraries (`@moq/hang`, `moqtail-ts`).
|
|
78
|
+
The transport manager itself does not implement either protocol stack — those live in the player libraries (`@moq/hang`, `moqtail-ts`). This package provides the `repairTrackPath` naming helper and the `MoqFecConfig` / `RepairObjectHeader` signaling types. Decode and recovery state belongs to `@blockcast/mmt-container` or `@blockcast/fec-worker`.
|
|
78
79
|
|
|
79
80
|
## SSM multicast
|
|
80
81
|
|
|
@@ -117,42 +118,14 @@ Browsers can't issue raw DNS queries, so `DRIADDiscovery` tries three transports
|
|
|
117
118
|
|
|
118
119
|
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
120
|
|
|
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.
|
|
121
|
+
## FEC ownership
|
|
138
122
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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
|
-
```
|
|
154
|
-
|
|
155
|
-
`loadMmtWasm()` searches a list of paths for the `mmt_wasm.js` glue (NPM package names first: `mmt-wasm`, `@blockcast/mmt-wasm`; then relative paths; then absolute web paths like `/libs/mmt-wasm/pkg/mmt_wasm.js`). Pass an explicit `wasmPath` if your bundler can't resolve any of them.
|
|
123
|
+
FEC is deliberately not implemented in this transport package. The host loads
|
|
124
|
+
the exact `mmt-wasm` build it deployed, and `@blockcast/mmt-container` or
|
|
125
|
+
`@blockcast/fec-worker` owns decoder state, ISO Source/Repair FEC Payload ID
|
|
126
|
+
coordinates, deadlines, and reinjection of recovered MMTP symbols. This avoids
|
|
127
|
+
a second parser and a second, incompatible WASM binding surface in the
|
|
128
|
+
transport layer.
|
|
156
129
|
|
|
157
130
|
## Clock (`./clock` export)
|
|
158
131
|
|
|
@@ -180,6 +153,7 @@ else frame.close() // discard, too late
|
|
|
180
153
|
```ts
|
|
181
154
|
import type {
|
|
182
155
|
TransportConfig,
|
|
156
|
+
TransportConnectConfig,
|
|
183
157
|
TransportSubscription,
|
|
184
158
|
TransportCapabilities,
|
|
185
159
|
TransportState,
|
|
@@ -187,14 +161,15 @@ import type {
|
|
|
187
161
|
MoqFecConfig,
|
|
188
162
|
} from "@blockcast/mmt-transport"
|
|
189
163
|
|
|
190
|
-
const config:
|
|
164
|
+
const config: TransportConnectConfig = {
|
|
191
165
|
group: "232.1.1.1", // SSM group (232/8 for IPv4 SSM)
|
|
192
166
|
source: "203.0.113.10", // required for SSM and DRIAD
|
|
193
167
|
port: 5004,
|
|
194
168
|
streamType: "video",
|
|
195
169
|
amtRelay: undefined, // explicit relay; otherwise DRIAD finds one
|
|
196
170
|
driadEnabled: true,
|
|
197
|
-
|
|
171
|
+
abrLadder, // required: the catalog-derived ladder (Quick start)
|
|
172
|
+
initialQuality: abrLadder.at(-1), // optional: a rung OF abrLadder, matched by name
|
|
198
173
|
}
|
|
199
174
|
|
|
200
175
|
const subscription: TransportSubscription = {
|
|
@@ -207,6 +182,17 @@ const subscription: TransportSubscription = {
|
|
|
207
182
|
}
|
|
208
183
|
```
|
|
209
184
|
|
|
185
|
+
### ABR ladder
|
|
186
|
+
|
|
187
|
+
The ABR controller adapts over `abrLadder` and nothing else, so it can only ever pick a rendition the stream carries. Build the ladder from the catalog, as in the Quick start; never from a fixed list such as the deprecated `QUALITY_LEVELS`, whose `"720p"` names no catalog rendition.
|
|
188
|
+
|
|
189
|
+
- **`abrLadder`** (required): every rung needs a unique `name` and a positive `bitrate`. `width`, `height` and `fps` are optional and, when present, must be positive. Rungs may share a bitrate; the controller walks the ladder by ascending bitrate, and equal bitrates keep the ladder's order.
|
|
190
|
+
- **`catalogQualityLadder(catalog, role)`** builds `abrLadder`: one rung per catalog rendition for `role` (`"video"` by default; pass `"audio"` for an audio-only stream), named by its track name, priced at its `bitrate`, and sized from `codedWidth`/`codedHeight`/`framerate` only when the catalog states them.
|
|
191
|
+
- **A catalog that omits a rendition's `bitrate` has no ABR ladder.** ABR costs measured throughput against each rung's bitrate, and a rank by coded size or name orders renditions without pricing them, so `catalogQualityLadder` throws a `RangeError` naming the rendition rather than inventing a price. Have the publisher state `bitrate` for every rendition, or pass a ladder of only the renditions you can price.
|
|
192
|
+
- **`initialQuality`** (optional), matched by `name`: omitted, the controller starts on the lowest-bitrate rung. A name `abrLadder` does not carry is not a fallback to that rung; `connect()` refuses the config.
|
|
193
|
+
- **When either is invalid**, `connect()` refuses before it tears anything down: the error goes to `setErrorCallback` (or, with no callback installed, to `console.error`) and `connect()` resolves `false`, the same shape as an invalid endpoint. Unlike an invalid endpoint, which closes the live subscription first, a refused ABR config leaves the live subscription, `getState()` and any connect already in flight untouched.
|
|
194
|
+
- **The ladder lives as long as the connection.** `getQuality()` returns the current rung, or `null` when there is no ladder: before `connect()` succeeds, after `disconnect()`, and after a reconnect that tore the old connection down and then failed (an invalid endpoint, say). `setQuality(name)` throws `Error` when there is no ladder and `RangeError` for a name the ladder does not carry; it never falls back to another rung.
|
|
195
|
+
|
|
210
196
|
`TransportState.mode` takes one of `"multicast" | "amt" | "moq" | "disconnected"` and is reported on every transition via `setStateCallback`. `TransportCapabilities.fecDecode` reflects whether the platform offers in-process FEC decode (some builds of `window.multicast` do); when false, the FEC client runs in WASM in the page.
|
|
211
197
|
|
|
212
198
|
## Falling back
|
|
@@ -234,7 +220,7 @@ The selection algorithm is deliberately stateless and synchronous-feeling: every
|
|
|
234
220
|
- **RFC 8777** — DNS Reverse IP AMT Discovery (DRIAD)
|
|
235
221
|
- **RFC 9000** — QUIC: A UDP-Based Multiplexed and Secure Transport
|
|
236
222
|
- **RFC 9220** — Bootstrapping WebSockets / HTTP/3 over WebTransport (browser carrier for MoQ)
|
|
237
|
-
- **RFC 6330** — RaptorQ Forward Error Correction Scheme (FEC OTI consumed by
|
|
223
|
+
- **RFC 6330** — RaptorQ Forward Error Correction Scheme (FEC OTI consumed by downstream decoders)
|
|
238
224
|
- **RFC 3376 / RFC 3810** — IGMPv3 / MLDv2 (issued by the OS via `window.multicast.subscribe`)
|
|
239
225
|
- **draft-ietf-moq-transport** — IETF MOQT (the moqtail wire protocol)
|
|
240
226
|
- **draft-ramadan-moq-fec-00** — AL-FEC over MoQ (the `FEC_CONFIG` message, repair-track convention, repair object header)
|
|
@@ -242,8 +228,8 @@ The selection algorithm is deliberately stateless and synchronous-feeling: every
|
|
|
242
228
|
## Related packages
|
|
243
229
|
|
|
244
230
|
- **[`@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 FEC primitives used by
|
|
246
|
-
- **[`@blockcast/fec-worker`](../fec-worker)** — Web Worker
|
|
231
|
+
- **[`@blockcast/mmt-fec`](../fec)** — Container-agnostic FEC geometry, mapping, OTI, and recovered-block primitives used by container and render packages.
|
|
232
|
+
- **[`@blockcast/fec-worker`](../fec-worker)** — Web Worker owner for the canonical `MmtFecDecoder`; use it to keep decode CPU off the main thread.
|
|
247
233
|
- **[`@blockcast/mmt-render`](../mmt-render)** — Reference renderer + diagnostics overlay; consumes `TransportState` and `ProcessingStats`.
|
|
248
234
|
|
|
249
235
|
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 +243,7 @@ pnpm --filter @blockcast/mmt-transport typecheck # tsc --noEmit
|
|
|
257
243
|
pnpm --filter @blockcast/mmt-transport build # tsc → dist/
|
|
258
244
|
```
|
|
259
245
|
|
|
260
|
-
|
|
246
|
+
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
247
|
|
|
262
248
|
## License
|
|
263
249
|
|
package/dist/abr-controller.d.ts
CHANGED
|
@@ -24,9 +24,36 @@ export interface FecStatsForAbr {
|
|
|
24
24
|
fecEnabled: boolean;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* A generic 240p..4K ladder, kept as public API only.
|
|
28
|
+
*
|
|
29
|
+
* @deprecated Not a stream's ladder and never a default: the controller
|
|
30
|
+
* adapts over the ladder its caller supplies (`AdaptiveBitrateControllerOptions.ladder`,
|
|
31
|
+
* e.g. the catalog's video renditions). Walking this list is how a player on a
|
|
32
|
+
* 360p/480p/720p catalog logged upgrades to 1080p and 1440p it could never
|
|
33
|
+
* switch to (BLO-35597).
|
|
34
|
+
*/
|
|
35
|
+
export declare const QUALITY_LEVELS: readonly QualityLevel[];
|
|
36
|
+
/** What the controller adapts over and where it starts; both from the caller. */
|
|
37
|
+
export interface AdaptiveBitrateControllerOptions {
|
|
38
|
+
/**
|
|
39
|
+
* The renditions this stream carries (e.g. the catalog's video tracks), in
|
|
40
|
+
* any order: a unique name and a bitrate (bps) each, plus dimensions and
|
|
41
|
+
* fps when the catalog states them. Renditions may share a bitrate.
|
|
42
|
+
*/
|
|
43
|
+
ladder: readonly QualityLevel[];
|
|
44
|
+
/** Name of the ladder rendition presented at construction; the lowest
|
|
45
|
+
* rung when omitted. A name that matches no rung is refused. */
|
|
46
|
+
initialQuality?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Validate a caller ladder and return it frozen, ascending by bitrate. Throws
|
|
50
|
+
* on an empty ladder, a rung without a name or a positive finite bitrate, a
|
|
51
|
+
* width, height or fps that is present but not positive finite, or a name that
|
|
52
|
+
* appears twice: a name is how `setQuality` and the initial rendition find a
|
|
53
|
+
* rung. A shared bitrate is legal (e.g. 720p30 and 720p60, or two codecs);
|
|
54
|
+
* `Array.prototype.sort` is stable, so equal bitrates keep the caller's order.
|
|
28
55
|
*/
|
|
29
|
-
export declare
|
|
56
|
+
export declare function validateQualityLadder(ladder: readonly QualityLevel[]): readonly QualityLevel[];
|
|
30
57
|
/**
|
|
31
58
|
* Progressive Adaptive Bitrate Controller
|
|
32
59
|
*
|
|
@@ -38,6 +65,8 @@ export declare const QUALITY_LEVELS: QualityLevel[];
|
|
|
38
65
|
* - Fast quality downgrades on congestion
|
|
39
66
|
*/
|
|
40
67
|
export declare class AdaptiveBitrateController {
|
|
68
|
+
/** The caller's renditions, ascending by bitrate (`validateQualityLadder`). */
|
|
69
|
+
readonly ladder: readonly QualityLevel[];
|
|
41
70
|
private currentQualityIndex;
|
|
42
71
|
private history;
|
|
43
72
|
private readonly historyWindow;
|
|
@@ -47,7 +76,7 @@ export declare class AdaptiveBitrateController {
|
|
|
47
76
|
private lastQualityChange;
|
|
48
77
|
private onQualityChange?;
|
|
49
78
|
private fecStats;
|
|
50
|
-
constructor(
|
|
79
|
+
constructor(options: AdaptiveBitrateControllerOptions);
|
|
51
80
|
setCallback(callback: (quality: QualityLevel) => void): void;
|
|
52
81
|
getCurrentQuality(): QualityLevel;
|
|
53
82
|
/** Selects the multicast (S,G) tier without replacing a player's unicast ABR manager. */
|
|
@@ -76,7 +105,8 @@ export declare class AdaptiveBitrateController {
|
|
|
76
105
|
private upgrade;
|
|
77
106
|
private downgrade;
|
|
78
107
|
/**
|
|
79
|
-
*
|
|
108
|
+
* Select a ladder rendition: the caller switched to it (a manual override,
|
|
109
|
+
* or a switch the caller made). Throws for a name the ladder does not carry.
|
|
80
110
|
*/
|
|
81
111
|
setQuality(name: string): void;
|
|
82
112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abr-controller.d.ts","sourceRoot":"","sources":["../src/abr-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,UAAU,EAAE,OAAO,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"abr-controller.d.ts","sourceRoot":"","sources":["../src/abr-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,UAAU,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAQX,CAAC;AAExC,iFAAiF;AACjF,MAAM,WAAW,gCAAgC;IAChD;;;;OAIG;IACH,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC;qEACiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,YAAY,EAAE,CAuB9F;AAED;;;;;;;;;GASG;AACH,qBAAa,yBAAyB;IACrC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,OAAO,CAA2E;IAC1F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAkC;IAG1D,OAAO,CAAC,QAAQ,CAKd;gBAEU,OAAO,EAAE,gCAAgC;IAYrD,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI;IAIrD,iBAAiB,IAAI,YAAY;IAIjC,yFAAyF;IACzF,mBAAmB,CAClB,SAAS,EAAE,SAAS,qBAAqB,EAAE,EAC3C,QAAQ,GAAE,MAAM,GAAG,SAA0D,GAC3E,qBAAqB,GAAG,SAAS;IAIpC;;;;;OAKG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAwCvD;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,cAAc;IAIjC;;OAEG;IACH,WAAW,IAAI,cAAc;IAI7B,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,SAAS;IAYjB;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM;IAQvB;;OAEG;IACH,UAAU,IAAI;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACpB;IAWD;;OAEG;IACH,KAAK;CAIL"}
|
package/dist/abr-controller.js
CHANGED
|
@@ -10,9 +10,15 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { selectMulticastTier } from "./multicast-tier.js";
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* A generic 240p..4K ladder, kept as public API only.
|
|
14
|
+
*
|
|
15
|
+
* @deprecated Not a stream's ladder and never a default: the controller
|
|
16
|
+
* adapts over the ladder its caller supplies (`AdaptiveBitrateControllerOptions.ladder`,
|
|
17
|
+
* e.g. the catalog's video renditions). Walking this list is how a player on a
|
|
18
|
+
* 360p/480p/720p catalog logged upgrades to 1080p and 1440p it could never
|
|
19
|
+
* switch to (BLO-35597).
|
|
14
20
|
*/
|
|
15
|
-
export const QUALITY_LEVELS = [
|
|
21
|
+
export const QUALITY_LEVELS = Object.freeze([
|
|
16
22
|
{ name: "240p", bitrate: 300_000, width: 426, height: 240, fps: 15 },
|
|
17
23
|
{ name: "360p", bitrate: 500_000, width: 640, height: 360, fps: 24 },
|
|
18
24
|
{ name: "480p", bitrate: 1_000_000, width: 854, height: 480, fps: 30 },
|
|
@@ -20,7 +26,41 @@ export const QUALITY_LEVELS = [
|
|
|
20
26
|
{ name: "1080p", bitrate: 5_000_000, width: 1920, height: 1080, fps: 30 },
|
|
21
27
|
{ name: "1440p", bitrate: 8_000_000, width: 2560, height: 1440, fps: 30 },
|
|
22
28
|
{ name: "4K", bitrate: 15_000_000, width: 3840, height: 2160, fps: 30 },
|
|
23
|
-
];
|
|
29
|
+
].map((level) => Object.freeze(level)));
|
|
30
|
+
function positiveFinite(value) {
|
|
31
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Validate a caller ladder and return it frozen, ascending by bitrate. Throws
|
|
35
|
+
* on an empty ladder, a rung without a name or a positive finite bitrate, a
|
|
36
|
+
* width, height or fps that is present but not positive finite, or a name that
|
|
37
|
+
* appears twice: a name is how `setQuality` and the initial rendition find a
|
|
38
|
+
* rung. A shared bitrate is legal (e.g. 720p30 and 720p60, or two codecs);
|
|
39
|
+
* `Array.prototype.sort` is stable, so equal bitrates keep the caller's order.
|
|
40
|
+
*/
|
|
41
|
+
export function validateQualityLadder(ladder) {
|
|
42
|
+
if (!Array.isArray(ladder) || ladder.length === 0) {
|
|
43
|
+
throw new TypeError("[ABR] ladder must list at least one rendition (e.g. the catalog's video tracks)");
|
|
44
|
+
}
|
|
45
|
+
const names = new Set();
|
|
46
|
+
for (const level of ladder) {
|
|
47
|
+
if (typeof level?.name !== "string" || level.name.length === 0) {
|
|
48
|
+
throw new TypeError("[ABR] every ladder rendition needs a name");
|
|
49
|
+
}
|
|
50
|
+
if (!positiveFinite(level.bitrate)) {
|
|
51
|
+
throw new RangeError(`[ABR] rendition ${level.name}: bitrate must be a positive finite number, got ${String(level.bitrate)}`);
|
|
52
|
+
}
|
|
53
|
+
for (const field of ["width", "height", "fps"]) {
|
|
54
|
+
if (level[field] !== undefined && !positiveFinite(level[field])) {
|
|
55
|
+
throw new RangeError(`[ABR] rendition ${level.name}: ${field} must be a positive finite number when stated, got ${String(level[field])}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (names.has(level.name))
|
|
59
|
+
throw new RangeError(`[ABR] rendition ${level.name} appears twice in the ladder`);
|
|
60
|
+
names.add(level.name);
|
|
61
|
+
}
|
|
62
|
+
return Object.freeze([...ladder].sort((a, b) => a.bitrate - b.bitrate).map((level) => Object.freeze({ ...level })));
|
|
63
|
+
}
|
|
24
64
|
/**
|
|
25
65
|
* Progressive Adaptive Bitrate Controller
|
|
26
66
|
*
|
|
@@ -32,6 +72,8 @@ export const QUALITY_LEVELS = [
|
|
|
32
72
|
* - Fast quality downgrades on congestion
|
|
33
73
|
*/
|
|
34
74
|
export class AdaptiveBitrateController {
|
|
75
|
+
/** The caller's renditions, ascending by bitrate (`validateQualityLadder`). */
|
|
76
|
+
ladder;
|
|
35
77
|
currentQualityIndex;
|
|
36
78
|
history = [];
|
|
37
79
|
historyWindow = 10_000; // 10 second window
|
|
@@ -47,16 +89,22 @@ export class AdaptiveBitrateController {
|
|
|
47
89
|
recoveryRate: 1,
|
|
48
90
|
fecEnabled: false,
|
|
49
91
|
};
|
|
50
|
-
constructor(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
92
|
+
constructor(options) {
|
|
93
|
+
if (!options || typeof options !== "object") {
|
|
94
|
+
throw new TypeError("[ABR] AdaptiveBitrateController needs { ladder, initialQuality }");
|
|
95
|
+
}
|
|
96
|
+
this.ladder = validateQualityLadder(options.ladder);
|
|
97
|
+
this.currentQualityIndex =
|
|
98
|
+
options.initialQuality === undefined ? 0 : this.ladder.findIndex((q) => q.name === options.initialQuality);
|
|
99
|
+
if (this.currentQualityIndex < 0) {
|
|
100
|
+
throw new RangeError(`[ABR] initial rendition ${String(options.initialQuality)} is not in the ladder`);
|
|
101
|
+
}
|
|
54
102
|
}
|
|
55
103
|
setCallback(callback) {
|
|
56
104
|
this.onQualityChange = callback;
|
|
57
105
|
}
|
|
58
106
|
getCurrentQuality() {
|
|
59
|
-
return
|
|
107
|
+
return this.ladder[this.currentQualityIndex];
|
|
60
108
|
}
|
|
61
109
|
/** Selects the multicast (S,G) tier without replacing a player's unicast ABR manager. */
|
|
62
110
|
selectMulticastTier(endpoints, estimate = this.getMetrics().measuredBitrate || undefined) {
|
|
@@ -94,7 +142,7 @@ export class AdaptiveBitrateController {
|
|
|
94
142
|
// Check for upgrade (progressive increase) - use effective loss rate
|
|
95
143
|
if (measuredBitrate > currentQuality.bitrate * this.upgradeThreshold &&
|
|
96
144
|
effectiveLossRate < 0.01 &&
|
|
97
|
-
this.currentQualityIndex <
|
|
145
|
+
this.currentQualityIndex < this.ladder.length - 1) {
|
|
98
146
|
this.upgrade();
|
|
99
147
|
}
|
|
100
148
|
}
|
|
@@ -127,7 +175,7 @@ export class AdaptiveBitrateController {
|
|
|
127
175
|
return { measuredBitrate, lossRate };
|
|
128
176
|
}
|
|
129
177
|
upgrade() {
|
|
130
|
-
if (this.currentQualityIndex >=
|
|
178
|
+
if (this.currentQualityIndex >= this.ladder.length - 1)
|
|
131
179
|
return;
|
|
132
180
|
this.currentQualityIndex++;
|
|
133
181
|
this.lastQualityChange = Date.now();
|
|
@@ -145,15 +193,16 @@ export class AdaptiveBitrateController {
|
|
|
145
193
|
this.onQualityChange?.(newQuality);
|
|
146
194
|
}
|
|
147
195
|
/**
|
|
148
|
-
*
|
|
196
|
+
* Select a ladder rendition: the caller switched to it (a manual override,
|
|
197
|
+
* or a switch the caller made). Throws for a name the ladder does not carry.
|
|
149
198
|
*/
|
|
150
199
|
setQuality(name) {
|
|
151
|
-
const index =
|
|
152
|
-
if (index
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
200
|
+
const index = this.ladder.findIndex((q) => q.name === name);
|
|
201
|
+
if (index < 0)
|
|
202
|
+
throw new RangeError(`[ABR] rendition ${name} is not in the ladder`);
|
|
203
|
+
this.currentQualityIndex = index;
|
|
204
|
+
this.lastQualityChange = Date.now();
|
|
205
|
+
this.onQualityChange?.(this.getCurrentQuality());
|
|
157
206
|
}
|
|
158
207
|
/**
|
|
159
208
|
* Get current metrics including both raw and effective loss rates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abr-controller.js","sourceRoot":"","sources":["../src/abr-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,mBAAmB,EAA8B,MAAM,qBAAqB,CAAC;AAgBtF
|
|
1
|
+
{"version":3,"file":"abr-controller.js","sourceRoot":"","sources":["../src/abr-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,mBAAmB,EAA8B,MAAM,qBAAqB,CAAC;AAgBtF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAA4B,MAAM,CAAC,MAAM,CAAC;IACpE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IACpE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IACpE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IACtE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IACvE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;IACzE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;IACzE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;CACvE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAexC,SAAS,cAAc,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA+B;IACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,SAAS,CAAC,iFAAiF,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,mBAAmB,KAAK,CAAC,IAAI,mDAAmD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/H,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAU,EAAE,CAAC;YACzD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,UAAU,CAAC,mBAAmB,KAAK,CAAC,IAAI,KAAK,KAAK,sDAAsD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3I,CAAC;QACF,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,mBAAmB,KAAK,CAAC,IAAI,8BAA8B,CAAC,CAAC;QAC7G,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CACnB,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAC7F,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAAyB;IACrC,+EAA+E;IACtE,MAAM,CAA0B;IACjC,mBAAmB,CAAS;IAC5B,OAAO,GAAwE,EAAE,CAAC;IACzE,aAAa,GAAG,MAAM,CAAC,CAAC,mBAAmB;IAC3C,gBAAgB,GAAG,GAAG,CAAC,CAAC,kCAAkC;IAC1D,kBAAkB,GAAG,GAAG,CAAC,CAAC,2CAA2C;IACrE,eAAe,GAAG,KAAK,CAAC,CAAC,2BAA2B;IAE7D,iBAAiB,GAAG,CAAC,CAAC;IACtB,eAAe,CAAmC;IAE1D,gDAAgD;IACxC,QAAQ,GAAmB;QAClC,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,KAAK;KACjB,CAAC;IAEF,YAAY,OAAyC;QACpD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,mBAAmB;YACvB,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5G,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,UAAU,CAAC,2BAA2B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QACxG,CAAC;IACF,CAAC;IAED,WAAW,CAAC,QAAyC;QACpD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAED,yFAAyF;IACzF,mBAAmB,CAClB,SAA2C,EAC3C,WAA+B,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,IAAI,SAAS;QAE7E,OAAO,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,aAAqB,EAAE,WAAmB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;QAElE,oBAAoB;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAElF,oBAAoB;QACpB,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhD,oFAAoF;QACpF,iFAAiF;QACjF,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU;YACjD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB;YACjC,CAAC,CAAC,WAAW,CAAC;QAEf,iBAAiB;QACjB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACzD,OAAO,CAAC,qBAAqB;QAC9B,CAAC;QAED,2DAA2D;QAC3D,kDAAkD;QAClD,IAAI,iBAAiB,GAAG,IAAI,IAAI,eAAe,GAAG,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpG,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,qEAAqE;QACrE,IACC,eAAe,GAAG,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB;YAChE,iBAAiB,GAAG,IAAI;YACxB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAChD,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;IACF,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,KAAqB;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,WAAW;QACV,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEO,gBAAgB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QAEtG,MAAM,eAAe,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAE/D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;IACtC,CAAC;IAEO,OAAO;QACd,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAE/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,GAAG,SAAS,OAAO,CAAC,CAAC;QAE7F,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAEO,SAAS;QAChB,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC;YAAE,OAAO;QAE1C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,GAAG,SAAS,OAAO,CAAC,CAAC;QAE/F,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC5D,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,mBAAmB,IAAI,uBAAuB,CAAC,CAAC;QACpF,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,UAAU;QAOT,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3E,OAAO;YACN,eAAe;YACf,WAAW;YACX,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW;YAC3F,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;YACpC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amt-gateway.d.ts","sourceRoot":"","sources":["../src/amt-gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"amt-gateway.d.ts","sourceRoot":"","sources":["../src/amt-gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAC;AAezE,yBAAyB;AACzB,QAAA,MAAM,cAAc;;;;;;;;CAQV,CAAC;AAEX,KAAK,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEzE,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACrC,GAAG,EAAE,QAAQ,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAChE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED,sBAAsB;AACtB,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,0BAA0B;AAC1B,MAAM,WAAW,iBAAiB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACzE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAkBD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,cAAc,CAAC,CAAgC;IACvD,OAAO,CAAC,cAAc,CAA8F;IACpH,OAAO,CAAC,KAAK,CAAwB;;IAyBrC;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8E/D;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhD;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAoCpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,IAAI,IAAI;IAaf;;OAEG;IACH,OAAO,CAAC,YAAY;CAIpB;AAED;;;;;;GAMG;AACH,qBAAa,UAAU;IACtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAOV;IAGJ,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,KAAK,CAA4B;IAGzC,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,KAAK,CAKX;gBAEU,OAAO,EAAE,iBAAiB;IAUtC;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACG,SAAS,CACd,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAM,GAAG,IAAW,EACnC,QAAQ,GAAE,CAAC,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,IAAW,GACvD,OAAO,CAAC,MAAM,CAAC;IAkBlB;;OAEG;IACG,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB7F;;OAEG;IACH,SAAS,IAAI,KAAK,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;IAaF;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;OAEG;IACH,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK;IAI7B;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGnB;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
package/dist/amt-gateway.js
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
* RFC 7450: Automatic Multicast Tunneling
|
|
8
8
|
*/
|
|
9
9
|
import { DRIADDiscovery } from "./driad-discovery.js";
|
|
10
|
-
|
|
11
|
-
const DEFAULT_AMT_PORT = 2268;
|
|
10
|
+
import { DEFAULT_AMT_RELAY_PORT } from "@blockcast/mmt-base";
|
|
12
11
|
/** AMT message types */
|
|
13
12
|
const AMT_MESSAGE_TYPES = {
|
|
14
13
|
RELAY_DISCOVERY: 1,
|
|
@@ -81,7 +80,7 @@ export class AMTGatewayManager {
|
|
|
81
80
|
try {
|
|
82
81
|
let relayAddress;
|
|
83
82
|
let discoveryMethod;
|
|
84
|
-
const relayPort = config.relayPort ||
|
|
83
|
+
const relayPort = config.relayPort || DEFAULT_AMT_RELAY_PORT;
|
|
85
84
|
if (config.relayAddress) {
|
|
86
85
|
relayAddress = config.relayAddress;
|
|
87
86
|
discoveryMethod = "manual";
|
|
@@ -266,7 +265,7 @@ export class AMTGateway {
|
|
|
266
265
|
};
|
|
267
266
|
constructor(options) {
|
|
268
267
|
this.relayAddress = options.relayAddress;
|
|
269
|
-
this.relayPort = options.relayPort ||
|
|
268
|
+
this.relayPort = options.relayPort || DEFAULT_AMT_RELAY_PORT;
|
|
270
269
|
this.onPacket = options.onPacket || (() => { });
|
|
271
270
|
this.onStateChange = options.onStateChange || (() => { });
|
|
272
271
|
this.onError = options.onError || ((err) => console.error("AMT Error:", err));
|
package/dist/amt-gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amt-gateway.js","sourceRoot":"","sources":["../src/amt-gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"amt-gateway.js","sourceRoot":"","sources":["../src/amt-gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driad-discovery.d.ts","sourceRoot":"","sources":["../src/driad-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"driad-discovery.d.ts","sourceRoot":"","sources":["../src/driad-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,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
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* Example: For source 69.25.95.10 sending to group 232.0.0.1:
|
|
10
10
|
* Query: 10.95.25.69.amt.in-addr.arpa (source-based, NOT group-based)
|
|
11
11
|
*/
|
|
12
|
+
import { DEFAULT_AMT_RELAY_PORT } from "@blockcast/mmt-base";
|
|
12
13
|
/**
|
|
13
14
|
* DRIAD (DNS Reverse IP AMT Discovery) - RFC 8777
|
|
14
15
|
* Discovers AMT relays based on source address via DNS lookups
|
|
@@ -77,11 +78,7 @@ export class DRIADDiscovery {
|
|
|
77
78
|
if (dohRelay) {
|
|
78
79
|
return [dohRelay];
|
|
79
80
|
}
|
|
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
|
-
];
|
|
81
|
+
return [];
|
|
85
82
|
}
|
|
86
83
|
/**
|
|
87
84
|
* Query DNS-over-HTTPS for DRIAD relay based on source address (RFC 8777)
|
|
@@ -104,7 +101,7 @@ export class DRIADDiscovery {
|
|
|
104
101
|
if (result.Answer && result.Answer.length > 0) {
|
|
105
102
|
return {
|
|
106
103
|
host: result.Answer[0].data,
|
|
107
|
-
port:
|
|
104
|
+
port: DEFAULT_AMT_RELAY_PORT,
|
|
108
105
|
priority: 10,
|
|
109
106
|
weight: 100,
|
|
110
107
|
asn: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driad-discovery.js","sourceRoot":"","sources":["../src/driad-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"driad-discovery.js","sourceRoot":"","sources":["../src/driad-discovery.ts"],"names":[],"mappings":"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"}
|