@blockcast/mmt-transport 0.2.2 → 0.3.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.
Files changed (167) hide show
  1. package/README.md +44 -58
  2. package/dist/abr-controller.d.ts +34 -4
  3. package/dist/abr-controller.d.ts.map +1 -1
  4. package/dist/abr-controller.js +66 -17
  5. package/dist/abr-controller.js.map +1 -1
  6. package/dist/amt-gateway.d.ts.map +1 -1
  7. package/dist/amt-gateway.js +3 -4
  8. package/dist/amt-gateway.js.map +1 -1
  9. package/dist/driad-discovery.d.ts.map +1 -1
  10. package/dist/driad-discovery.js +3 -6
  11. package/dist/driad-discovery.js.map +1 -1
  12. package/dist/endpoint-config.d.ts +68 -0
  13. package/dist/endpoint-config.d.ts.map +1 -1
  14. package/dist/endpoint-config.js +118 -3
  15. package/dist/endpoint-config.js.map +1 -1
  16. package/dist/index.d.ts +10 -8
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +8 -11
  19. package/dist/index.js.map +1 -1
  20. package/dist/mmt-transport.no-modules.js +881 -60
  21. package/dist/mmt-transport.no-modules.js.map +4 -4
  22. package/dist/moqt-priority.d.ts +39 -0
  23. package/dist/moqt-priority.d.ts.map +1 -0
  24. package/dist/moqt-priority.js +41 -0
  25. package/dist/moqt-priority.js.map +1 -0
  26. package/dist/multicast-catalog-policy.d.ts +96 -0
  27. package/dist/multicast-catalog-policy.d.ts.map +1 -0
  28. package/dist/multicast-catalog-policy.js +660 -0
  29. package/dist/multicast-catalog-policy.js.map +1 -0
  30. package/dist/multicast-orchestrator.d.ts +24 -0
  31. package/dist/multicast-orchestrator.d.ts.map +1 -1
  32. package/dist/multicast-orchestrator.js +102 -9
  33. package/dist/multicast-orchestrator.js.map +1 -1
  34. package/dist/multicast-signaling-reconciler.d.ts +37 -0
  35. package/dist/multicast-signaling-reconciler.d.ts.map +1 -0
  36. package/dist/multicast-signaling-reconciler.js +161 -0
  37. package/dist/multicast-signaling-reconciler.js.map +1 -0
  38. package/dist/multicast-subscription-pool.d.ts.map +1 -1
  39. package/dist/multicast-subscription-pool.js +37 -10
  40. package/dist/multicast-subscription-pool.js.map +1 -1
  41. package/dist/multicast-tier.d.ts +19 -0
  42. package/dist/multicast-tier.d.ts.map +1 -1
  43. package/dist/multicast-tier.js +21 -4
  44. package/dist/multicast-tier.js.map +1 -1
  45. package/dist/no-modules.d.ts +40 -3
  46. package/dist/no-modules.d.ts.map +1 -1
  47. package/dist/no-modules.js +30 -3
  48. package/dist/no-modules.js.map +1 -1
  49. package/dist/packet-batch.d.ts +13 -0
  50. package/dist/packet-batch.d.ts.map +1 -0
  51. package/dist/packet-batch.js +14 -0
  52. package/dist/packet-batch.js.map +1 -0
  53. package/dist/stall-detector.d.ts +10 -0
  54. package/dist/stall-detector.d.ts.map +1 -1
  55. package/dist/stall-detector.js +21 -0
  56. package/dist/stall-detector.js.map +1 -1
  57. package/dist/takeover.d.ts +3 -0
  58. package/dist/takeover.d.ts.map +1 -1
  59. package/dist/takeover.js +35 -2
  60. package/dist/takeover.js.map +1 -1
  61. package/dist/transport-manager.d.ts +21 -17
  62. package/dist/transport-manager.d.ts.map +1 -1
  63. package/dist/transport-manager.js +63 -29
  64. package/dist/transport-manager.js.map +1 -1
  65. package/dist/types.d.ts +98 -123
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/types.js +12 -50
  68. package/dist/types.js.map +1 -1
  69. package/node_modules/@blockcast/mmt-alta-parse/README.md +181 -0
  70. package/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  71. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +57 -0
  72. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +1 -0
  73. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js +115 -0
  74. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +1 -0
  75. package/node_modules/@blockcast/mmt-alta-parse/package.json +50 -0
  76. package/node_modules/@blockcast/mmt-alta-parse/src/index.ts +136 -0
  77. package/node_modules/@blockcast/mmt-base/README.md +134 -0
  78. package/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  79. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +55 -0
  80. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +1 -0
  81. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +128 -0
  82. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +1 -0
  83. package/node_modules/@blockcast/mmt-base/dist/index.d.ts +7 -0
  84. package/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +1 -0
  85. package/node_modules/@blockcast/mmt-base/dist/index.js +7 -0
  86. package/node_modules/@blockcast/mmt-base/dist/index.js.map +1 -0
  87. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +292 -0
  88. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +1 -0
  89. package/node_modules/@blockcast/mmt-base/dist/mmtp.js +612 -0
  90. package/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +1 -0
  91. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +18 -0
  92. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +1 -0
  93. package/node_modules/@blockcast/mmt-base/dist/net-constants.js +18 -0
  94. package/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +1 -0
  95. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +47 -0
  96. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +1 -0
  97. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js +54 -0
  98. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +1 -0
  99. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +57 -0
  100. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +1 -0
  101. package/node_modules/@blockcast/mmt-base/dist/serial-number.js +98 -0
  102. package/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +1 -0
  103. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +312 -0
  104. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +1 -0
  105. package/node_modules/@blockcast/mmt-base/dist/signalling.js +637 -0
  106. package/node_modules/@blockcast/mmt-base/dist/signalling.js.map +1 -0
  107. package/node_modules/@blockcast/mmt-base/package.json +49 -0
  108. package/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +145 -0
  109. package/node_modules/@blockcast/mmt-base/src/index.ts +6 -0
  110. package/node_modules/@blockcast/mmt-base/src/mmtp.ts +892 -0
  111. package/node_modules/@blockcast/mmt-base/src/net-constants.ts +17 -0
  112. package/node_modules/@blockcast/mmt-base/src/ntp-short.ts +67 -0
  113. package/node_modules/@blockcast/mmt-base/src/serial-number.ts +107 -0
  114. package/node_modules/@blockcast/mmt-base/src/signalling.ts +862 -0
  115. package/package.json +13 -6
  116. package/src/abr-controller.ts +81 -17
  117. package/src/amt-gateway.ts +3 -5
  118. package/src/driad-discovery.ts +3 -6
  119. package/src/endpoint-config.ts +157 -3
  120. package/src/index.ts +54 -33
  121. package/src/moqt-priority.ts +51 -0
  122. package/src/multicast-catalog-policy.ts +753 -0
  123. package/src/multicast-orchestrator.ts +114 -10
  124. package/src/multicast-signaling-reconciler.ts +156 -0
  125. package/src/multicast-subscription-pool.ts +46 -11
  126. package/src/multicast-tier.ts +30 -3
  127. package/src/no-modules.ts +54 -2
  128. package/src/packet-batch.ts +17 -0
  129. package/src/stall-detector.ts +37 -0
  130. package/src/takeover.ts +41 -3
  131. package/src/transport-manager.ts +64 -34
  132. package/src/types.ts +103 -160
  133. package/dist/endpoint-config.test.d.ts +0 -2
  134. package/dist/endpoint-config.test.d.ts.map +0 -1
  135. package/dist/endpoint-config.test.js +0 -39
  136. package/dist/endpoint-config.test.js.map +0 -1
  137. package/dist/fec-client.d.ts +0 -442
  138. package/dist/fec-client.d.ts.map +0 -1
  139. package/dist/fec-client.js +0 -789
  140. package/dist/fec-client.js.map +0 -1
  141. package/dist/fec-client.test.d.ts +0 -8
  142. package/dist/fec-client.test.d.ts.map +0 -1
  143. package/dist/fec-client.test.js +0 -112
  144. package/dist/fec-client.test.js.map +0 -1
  145. package/dist/multicast-subscription-pool.test.d.ts +0 -2
  146. package/dist/multicast-subscription-pool.test.d.ts.map +0 -1
  147. package/dist/multicast-subscription-pool.test.js +0 -108
  148. package/dist/multicast-subscription-pool.test.js.map +0 -1
  149. package/dist/multicast-tier.test.d.ts +0 -2
  150. package/dist/multicast-tier.test.d.ts.map +0 -1
  151. package/dist/multicast-tier.test.js +0 -75
  152. package/dist/multicast-tier.test.js.map +0 -1
  153. package/dist/stall-detector.test.d.ts +0 -2
  154. package/dist/stall-detector.test.d.ts.map +0 -1
  155. package/dist/stall-detector.test.js +0 -33
  156. package/dist/stall-detector.test.js.map +0 -1
  157. package/dist/transport-manager.test.d.ts +0 -2
  158. package/dist/transport-manager.test.d.ts.map +0 -1
  159. package/dist/transport-manager.test.js +0 -155
  160. package/dist/transport-manager.test.js.map +0 -1
  161. package/src/endpoint-config.test.ts +0 -54
  162. package/src/fec-client.test.ts +0 -140
  163. package/src/fec-client.ts +0 -1103
  164. package/src/multicast-subscription-pool.test.ts +0 -115
  165. package/src/multicast-tier.test.ts +0 -80
  166. package/src/stall-detector.test.ts +0 -34
  167. package/src/transport-manager.test.ts +0 -192
@@ -29,9 +29,6 @@ import { normalizeMulticastEndpoint } from "./endpoint-config.js";
29
29
  *
30
30
  * Manages transport connections with automatic mode selection:
31
31
  * WebTransport -> window.multicast -> AMT proxy -> WebSocket
32
- *
33
- * Renamed from SSMTransportManager - the old name is preserved
34
- * as a deprecated alias for backwards compatibility.
35
32
  */
36
33
  export class TransportManager {
37
34
  state = {
@@ -44,16 +41,14 @@ export class TransportManager {
44
41
  capabilities = null;
45
42
  subscription = null;
46
43
  driad = new DRIADDiscovery();
47
- abr;
44
+ /** Built by `connect()` from the caller's ladder; there is no built-in one. */
45
+ abr = null;
48
46
  multicastOrchestrator = null;
49
47
  onOrchestratorCommand;
50
48
  connectionGeneration = 0;
51
49
  onPacket;
52
50
  onError;
53
51
  onStateChange;
54
- constructor() {
55
- this.abr = new AdaptiveBitrateController();
56
- }
57
52
  getWindow() {
58
53
  return typeof window === "undefined" ? undefined : window;
59
54
  }
@@ -111,11 +106,41 @@ export class TransportManager {
111
106
  * 1. window.multicast gateway bytes
112
107
  * 2. AMT proxy (specified or discovered via DRIAD)
113
108
  * 3. MOQ WebTransport (final fallback)
109
+ *
110
+ * The ABR ladder (`abrLadder`) and initial rendition (`initialQuality`)
111
+ * are checked first, before anything is torn down. A config that fails is
112
+ * refused with the same shape as an invalid endpoint, the error to the
113
+ * error callback and `false` resolved; unlike one, it is caught before the
114
+ * live subscription closes, so a refused reconnect leaves that subscription,
115
+ * its state and any connect already in flight untouched.
114
116
  */
115
117
  async connect(config) {
118
+ let abr;
119
+ try {
120
+ abr = new AdaptiveBitrateController({
121
+ ladder: config.abrLadder,
122
+ initialQuality: config.initialQuality?.name,
123
+ });
124
+ }
125
+ catch (error) {
126
+ // A refused config is a caller bug. Without an error callback, say so
127
+ // on the console, since `false` alone also means "no multicast path";
128
+ // with one, the callback is the report.
129
+ const refused = error instanceof Error ? error : new Error(String(error));
130
+ if (this.onError)
131
+ this.onError(refused);
132
+ else
133
+ console.error("[Transport] ABR config refused, not connecting:", refused);
134
+ return false;
135
+ }
116
136
  const generation = ++this.connectionGeneration;
117
137
  this.subscription?.close();
118
138
  this.subscription = null;
139
+ // The previous connection's ladder ends with it, as in disconnect(): a
140
+ // reconnect that bails below (invalid endpoint, or superseded while
141
+ // detecting capabilities) leaves no ladder, and only the success path
142
+ // installs `abr`.
143
+ this.abr = null;
119
144
  this.state = {
120
145
  mode: "disconnected",
121
146
  connected: false,
@@ -148,11 +173,10 @@ export class TransportManager {
148
173
  const caps = await this.detectCapabilities();
149
174
  if (generation !== this.connectionGeneration)
150
175
  return false;
151
- // Initialize ABR with requested quality
152
- if (config.initialQuality) {
153
- this.abr = new AdaptiveBitrateController(config.initialQuality);
154
- }
155
- this.abr.setCallback((quality) => {
176
+ // ABR adapts over the caller's ladder (the catalog's renditions),
177
+ // validated above before anything was torn down.
178
+ this.abr = abr;
179
+ abr.setCallback((quality) => {
156
180
  this.state.quality = quality;
157
181
  this.subscription?.onqualitychange?.(quality);
158
182
  this.onStateChange?.(this.state);
@@ -225,7 +249,7 @@ export class TransportManager {
225
249
  connected: true,
226
250
  group: config.group,
227
251
  source: config.source,
228
- quality: this.abr.getCurrentQuality(),
252
+ quality: this.requireAbr().getCurrentQuality(),
229
253
  packetsReceived: 0,
230
254
  bytesReceived: 0,
231
255
  lastPacketTime: 0,
@@ -278,8 +302,8 @@ export class TransportManager {
278
302
  async connectAmtProxy(config, amtRelay, generation) {
279
303
  try {
280
304
  const relayHost = amtRelay.includes(":") && !amtRelay.startsWith("[") ? `[${amtRelay}]` : amtRelay;
281
- const relayAuthority = config.amtRelayPort ? `${relayHost}:${config.amtRelayPort}` : relayHost;
282
- const wsUrl = new URL(`wss://${relayAuthority}/amt-proxy`);
305
+ // amtRelayPort is the relay's RFC 7450 UDP port, not the proxy's HTTPS port.
306
+ const wsUrl = new URL(`wss://${relayHost}/amt-proxy`);
283
307
  wsUrl.searchParams.set("group", config.group);
284
308
  wsUrl.searchParams.set("source", config.source || "");
285
309
  wsUrl.searchParams.set("port", String(config.port));
@@ -309,7 +333,7 @@ export class TransportManager {
309
333
  group: config.group,
310
334
  source: config.source,
311
335
  amtRelay,
312
- quality: this.abr.getCurrentQuality(),
336
+ quality: this.requireAbr().getCurrentQuality(),
313
337
  packetsReceived: 0,
314
338
  bytesReceived: 0,
315
339
  lastPacketTime: 0,
@@ -356,7 +380,8 @@ export class TransportManager {
356
380
  this.state.bytesReceived += data.byteLength;
357
381
  this.state.lastPacketTime = Date.now();
358
382
  // Update ABR with sample
359
- this.abr.recordSample(data.byteLength, 0);
383
+ // Packets reach here only through a connect()ed join, which built the ABR.
384
+ this.abr?.recordSample(data.byteLength, 0);
360
385
  // Forward to callback
361
386
  this.onPacket?.(data);
362
387
  }
@@ -367,16 +392,27 @@ export class TransportManager {
367
392
  return { ...this.state };
368
393
  }
369
394
  /**
370
- * Get current quality level
395
+ * The rung of the live connection's `abrLadder` ABR is on; `null` when
396
+ * there is no ladder (before `connect(config)` succeeds, after
397
+ * `disconnect()`, or after a reconnect that was torn down and bailed).
371
398
  */
372
399
  getQuality() {
373
- return this.abr.getCurrentQuality();
400
+ return this.abr?.getCurrentQuality() ?? null;
374
401
  }
375
402
  /**
376
- * Force quality level
403
+ * Force the rung named `name` of the live connection's `abrLadder`.
404
+ * Throws `Error` when there is no ladder (see `getQuality()`), and
405
+ * `RangeError` when the ladder has no rung of that name; it never falls
406
+ * back to another rung.
377
407
  */
378
408
  setQuality(name) {
379
- this.abr.setQuality(name);
409
+ this.requireAbr().setQuality(name);
410
+ }
411
+ /** The controller `connect()` built; before it there is no ladder to adapt over. */
412
+ requireAbr() {
413
+ if (!this.abr)
414
+ throw new Error("[Transport] ABR has no ladder before connect(config)");
415
+ return this.abr;
380
416
  }
381
417
  /** Configures multicast-only ABR while leaving the caller's MoQ ABR untouched. */
382
418
  configureMulticastTiers(options, onCommand) {
@@ -388,6 +424,9 @@ export class TransportManager {
388
424
  recordMulticastGoodput(bitrate) {
389
425
  return this.dispatchOrchestratorCommand(this.multicastOrchestrator?.onGoodput({ bitrate }));
390
426
  }
427
+ recordMulticastHeadroom(healthy) {
428
+ return this.dispatchOrchestratorCommand(this.multicastOrchestrator?.onHeadroom({ healthy }));
429
+ }
391
430
  recordMulticastTierPacket(packet) {
392
431
  return this.dispatchOrchestratorCommand(this.multicastOrchestrator?.onTierPacket(packet));
393
432
  }
@@ -419,6 +458,9 @@ export class TransportManager {
419
458
  this.connectionGeneration++;
420
459
  this.subscription?.close();
421
460
  this.subscription = null;
461
+ // No ladder after a disconnect, as before the first connect():
462
+ // getQuality() is null and setQuality() throws until connect(config).
463
+ this.abr = null;
422
464
  this.dispatchOrchestratorCommand(this.multicastOrchestrator?.cancel());
423
465
  this.multicastOrchestrator = null;
424
466
  this.onOrchestratorCommand = undefined;
@@ -439,12 +481,4 @@ export class TransportManager {
439
481
  }
440
482
  // Export singleton instance
441
483
  export const transportManager = new TransportManager();
442
- /**
443
- * @deprecated Use `TransportManager` instead. This alias is preserved for backwards compatibility.
444
- */
445
- export const SSMTransportManager = TransportManager;
446
- /**
447
- * @deprecated Use `transportManager` instead. This alias is preserved for backwards compatibility.
448
- */
449
- export const ssmTransport = transportManager;
450
484
  //# sourceMappingURL=transport-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport-manager.js","sourceRoot":"","sources":["../src/transport-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport-manager.js","sourceRoot":"","sources":["../src/transport-manager.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -3,26 +3,80 @@
3
3
  *
4
4
  * Shared interfaces for unified transport (WebTransport, SSM, AMT, DRIAD) and FEC.
5
5
  */
6
- /** window.multicast gateway config for byte subscriptions. */
7
- export interface WindowMulticastSubscribeConfig {
6
+ /** Native IP-multicast request for the window.multicast gateway. */
7
+ export interface WindowMulticastSubscribeConfigBytes {
8
8
  group: string;
9
9
  port: number;
10
10
  source?: string;
11
11
  consume: "bytes";
12
- mode?: "auto" | "native" | "tunnel";
13
- amtRelay?: string;
14
- amtRelayPort?: number;
12
+ origin?: "ip-multicast";
13
+ /** MMTP packet IDs to forward before data enters the page transport queue. */
14
+ packetIds?: readonly number[];
15
+ /** Catalog track identities corresponding to the selected packet IDs. */
16
+ tracks?: ReadonlyArray<{
17
+ name: string;
18
+ packetId: number;
19
+ }>;
15
20
  }
21
+ /** AMT relay request for the window.multicast gateway. */
22
+ export interface WindowMulticastSubscribeConfigAmt {
23
+ group: string;
24
+ port: number;
25
+ source?: string;
26
+ consume: "bytes";
27
+ origin: "amt";
28
+ relay: string;
29
+ relayPort: number;
30
+ /** MMTP packet IDs to forward before data enters the page transport queue. */
31
+ packetIds?: readonly number[];
32
+ }
33
+ /** Canonical window.multicast config for byte subscriptions. */
34
+ export type WindowMulticastSubscribeConfig = WindowMulticastSubscribeConfigBytes | WindowMulticastSubscribeConfigAmt;
16
35
  export type WindowMulticastSubscriptionState = "connecting" | "connected" | "reconnecting" | "closed";
17
36
  export interface WindowMulticastSubscriptionEventMap {
18
37
  bytes: CustomEvent<ArrayBuffer>;
38
+ /**
39
+ * Provider extension, not part of the frozen v1 contract (BLO-36599): every
40
+ * packet the provider decoded in one dispatch batch, in arrival order. Each
41
+ * element is exactly what one `bytes` event would have carried. Emitted
42
+ * only by a subscription whose `eventTypes` lists `"packets"`; see
43
+ * {@link subscriptionDeliversPacketBatches}. A consumer listens to exactly
44
+ * one of `bytes` and `packets`, because both carry the same packets.
45
+ */
46
+ packets: CustomEvent<readonly ArrayBuffer[]>;
19
47
  state: CustomEvent<WindowMulticastSubscriptionState>;
20
48
  error: CustomEvent<unknown>;
21
49
  }
50
+ /**
51
+ * How a window.multicast subscription hands packets to the page.
52
+ *
53
+ * - `"datagram"`: packets are independent datagrams; a pause in arrivals may
54
+ * mean loss.
55
+ * - `"ordered-relay"`: the provider relays one receiving socket over a
56
+ * reliable, ordered stream (for example a BCDS bridge WebTransport uni
57
+ * stream). The relay may drop packets (a bounded queue discarding its
58
+ * oldest on overflow) but never reorders them: what arrives is a
59
+ * subsequence of the socket's receive order, so a pause in arrivals
60
+ * carries no loss information.
61
+ *
62
+ * A provider declares `"ordered-relay"` only when every packet of the
63
+ * subscription travels that one ordered stream for the life of the
64
+ * subscription. Absent means no ordering promise, which consumers treat as
65
+ * `"datagram"`.
66
+ */
67
+ export type WindowMulticastDelivery = "datagram" | "ordered-relay";
22
68
  /** window.multicast subscription returned by the IWA gateway surface. */
23
69
  export interface WindowMulticastSubscription {
24
70
  readonly id?: string;
25
71
  readonly state?: WindowMulticastSubscriptionState;
72
+ /** How this subscription delivers packets; see WindowMulticastDelivery. */
73
+ readonly delivery?: WindowMulticastDelivery;
74
+ /**
75
+ * Events this subscription emits, when the provider advertises them. A
76
+ * provider without the field emits the v1 events only (`bytes`, `state`,
77
+ * `error`).
78
+ */
79
+ readonly eventTypes?: readonly string[];
26
80
  addEventListener<K extends keyof WindowMulticastSubscriptionEventMap>(type: K, listener: (ev: WindowMulticastSubscriptionEventMap[K]) => void, options?: AddEventListenerOptions | boolean): void;
27
81
  removeEventListener<K extends keyof WindowMulticastSubscriptionEventMap>(type: K, listener: (ev: WindowMulticastSubscriptionEventMap[K]) => void, options?: EventListenerOptions | boolean): void;
28
82
  unsubscribe: () => Promise<void> | void;
@@ -59,17 +113,37 @@ export interface TransportConfig {
59
113
  mode?: "auto" | "native" | "tunnel";
60
114
  /** DRIAD discovery enabled */
61
115
  driadEnabled?: boolean;
62
- /** Initial bitrate quality level */
116
+ }
117
+ /** What `TransportManager.connect()` needs beyond the subscription itself. */
118
+ export interface TransportConnectConfig extends TransportConfig {
119
+ /**
120
+ * The stream's renditions the ABR controller adapts over, e.g. its catalog
121
+ * video tracks. Required: there is no built-in ladder. `connect()` checks
122
+ * it (`validateQualityLadder`) and `initialQuality` before tearing anything
123
+ * down; a config that fails is refused through the error callback and
124
+ * `connect()` resolves `false`, leaving a live subscription untouched.
125
+ * `catalogQualityLadder(catalog)` builds it from a catalog.
126
+ */
127
+ abrLadder: readonly QualityLevel[];
128
+ /**
129
+ * Ladder rendition to start on, matched by `name` against `abrLadder`; the
130
+ * lowest-bitrate rung when omitted. A name `abrLadder` does not carry is
131
+ * not a fallback to that rung: `TransportManager.connect()` refuses the
132
+ * config (error callback, resolves `false`) before tearing anything down.
133
+ */
63
134
  initialQuality?: QualityLevel;
64
135
  }
65
- /** @deprecated Use TransportConfig instead */
66
- export type SSMConfig = TransportConfig;
67
136
  export interface QualityLevel {
68
137
  name: string;
138
+ /** Bits per second: what the ABR controller ranks and costs a rendition by. */
69
139
  bitrate: number;
70
- width: number;
71
- height: number;
72
- fps: number;
140
+ /**
141
+ * Dimensions and frame rate as the stream's catalog states them; absent
142
+ * when it does not. ABR never reads them, so none is defaulted.
143
+ */
144
+ width?: number;
145
+ height?: number;
146
+ fps?: number;
73
147
  }
74
148
  export interface TransportCapabilities {
75
149
  nativeSSM: boolean;
@@ -100,8 +174,6 @@ export interface TransportSubscription {
100
174
  onqualitychange?: (quality: QualityLevel) => void;
101
175
  close: () => void;
102
176
  }
103
- /** @deprecated Use TransportSubscription instead */
104
- export type SSMSubscription = TransportSubscription;
105
177
  /** DRIAD Relay information (RFC 8777) */
106
178
  export interface DRIADRelay {
107
179
  host: string;
@@ -131,52 +203,6 @@ export interface PacketMetadata {
131
203
  transport: "native" | "tunnel" | "websocket";
132
204
  timestamp: number;
133
205
  }
134
- /** MFU Fragment for reassembly */
135
- export interface MfuFragment {
136
- mpuSequenceNumber: number;
137
- fragmentationIndicator: number;
138
- fragmentCounter: number;
139
- data: Uint8Array;
140
- timestamp: bigint;
141
- }
142
- /** Reassembled MFU */
143
- export interface ReassembledMfu {
144
- mpuSequenceNumber: number;
145
- data: Uint8Array;
146
- timestamp: bigint;
147
- fragmentCount: number;
148
- recoveredViaFec: boolean;
149
- }
150
- /** FEC + MFU processing statistics */
151
- export interface ProcessingStats {
152
- mfuComplete: number;
153
- mfuReassembled: number;
154
- mfuTimedOut: number;
155
- fecSourcePackets: number;
156
- fecRepairPackets: number;
157
- fecBlocksComplete: number;
158
- fecBlocksRecovered: number;
159
- fecBlocksFailed: number;
160
- fecRecoveryRate: number;
161
- greenFillFrames: number;
162
- }
163
- /** Options for MmtFecClient */
164
- export interface MmtFecClientOptions {
165
- /** Interleave depth for FEC (default: 30 for ~1s at 30fps) */
166
- interleaveDepth?: number;
167
- /** Block timeout in milliseconds (default: 2000) */
168
- blockTimeoutMs?: number;
169
- /** MFU timeout in milliseconds (default: 1000) */
170
- mfuTimeoutMs?: number;
171
- /** Enable green-fill for failed frames (default: true) */
172
- greenFillEnabled?: boolean;
173
- /** Callback when MFU is ready */
174
- onMfuReady?: (mfu: ReassembledMfu) => void;
175
- /** Callback for green-fill frame */
176
- onGreenFill?: (timestamp: bigint) => void;
177
- /** Callback for stats update */
178
- onStatsUpdate?: (stats: ProcessingStats) => void;
179
- }
180
206
  /** Time types (microseconds) */
181
207
  export type Micro = number & {
182
208
  readonly __micro: unique symbol;
@@ -226,51 +252,24 @@ export interface MulticastSubscriptionHandle {
226
252
  readonly stats: SubscriptionStats;
227
253
  close(): Promise<void>;
228
254
  }
229
- /** FEC Configuration for MMT streams */
230
- export interface FecConfig {
231
- enabled?: boolean;
232
- oti?: Uint8Array;
233
- interleaveDepth?: number;
234
- blockTimeoutMs?: number;
235
- greenFillEnabled?: boolean;
236
- }
237
- /** FEC Statistics */
238
- export interface FecStats {
239
- sourcePackets: number;
240
- repairPackets: number;
241
- blocksComplete: number;
242
- blocksRecovered: number;
243
- blocksFailed: number;
244
- recoveryRate: number;
245
- greenFillFrames: number;
246
- }
247
- /** Extended MulticastConfig with FEC support */
248
- export interface MulticastConfigWithFec extends MulticastConfig {
249
- fec?: FecConfig;
250
- onFecStats?: (stats: FecStats) => void;
251
- }
252
255
  /** Main Multicast Bridge API */
253
256
  export interface MulticastBridge {
254
- subscribe(config: MulticastConfig | MulticastConfigWithFec): Promise<MulticastSubscriptionHandle>;
257
+ subscribe(config: MulticastConfig): Promise<MulticastSubscriptionHandle>;
255
258
  getSubscriptions(): Promise<MulticastSubscriptionHandle[]>;
256
259
  isNativeSupported(): Promise<boolean>;
257
- getFecStats?(): FecStats | null;
258
260
  }
259
261
  /**
260
- * FEC_CONFIG message type per draft-ramadan-moq-fec-00
261
- * Used to signal FEC configuration to subscribers
262
- */
263
- export declare const FEC_CONFIG_MESSAGE_TYPE = 80;
264
- /**
265
- * Repair track suffix per draft-ramadan-moq-fec-00 Section 5.1
266
- * Repair tracks are named by appending this suffix to the source track path
267
- */
268
- export declare const REPAIR_TRACK_SUFFIX = "repair";
269
- /**
270
- * Get the repair track path for a given source track
262
+ * Build a conventional repair track path by appending "repair" to a source
263
+ * track path.
271
264
  *
272
- * Per draft-ramadan-moq-fec-00 Section 5.1, the repair track is named
273
- * by appending "repair" to the source track path.
265
+ * Track names carry no protocol meaning. A repair track's layer, its source
266
+ * and its symbol budget are resolved from the catalog via `resolveRepairLayers`
267
+ * in `@blockcast/mmt-container`, never from a name or a name suffix. This
268
+ * helper is a naming convenience for producers only.
269
+ *
270
+ * @deprecated Naming convenience only. Never classify a track or resolve a
271
+ * repair layer from its path; use `resolveRepairLayers` from
272
+ * `@blockcast/mmt-container`.
274
273
  *
275
274
  * @param sourceTrack - The source track path (e.g., "live/video")
276
275
  * @returns The repair track path (e.g., "live/video/repair")
@@ -280,35 +279,11 @@ export declare const REPAIR_TRACK_SUFFIX = "repair";
280
279
  * repairTrackPath("broadcast/video/1080p") // returns "broadcast/video/1080p/repair"
281
280
  */
282
281
  export declare function repairTrackPath(sourceTrack: string): string;
283
- /**
284
- * Check if a track path is a repair track
285
- *
286
- * @param path - The track path to check
287
- * @returns True if the path ends with the repair track suffix
288
- *
289
- * @example
290
- * isRepairTrack("live/video/repair") // returns true
291
- * isRepairTrack("repair") // returns true
292
- * isRepairTrack("live/video") // returns false
293
- */
294
- export declare function isRepairTrack(path: string): boolean;
295
- /**
296
- * Get the source track path from a repair track path
297
- *
298
- * @param repairTrack - The repair track path
299
- * @returns The source track path, or null if not a valid repair track
300
- *
301
- * @example
302
- * sourceTrackFromRepair("live/video/repair") // returns "live/video"
303
- * sourceTrackFromRepair("repair") // returns ""
304
- * sourceTrackFromRepair("live/video") // returns null
305
- */
306
- export declare function sourceTrackFromRepair(repairTrack: string): string | null;
307
282
  /**
308
283
  * MoQ FEC Configuration per draft-ramadan-moq-fec-00
309
284
  *
310
- * This configuration is sent via FEC_CONFIG message after SUBSCRIBE_OK
311
- * to inform subscribers about FEC parameters.
285
+ * These parameters are signalled in each track's catalog `fec` block;
286
+ * no FEC_CONFIG control message is sent or parsed.
312
287
  */
313
288
  export interface MoqFecConfig {
314
289
  /** Subscribe ID this config applies to */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -7,20 +7,17 @@
7
7
  // FEC Constants and Utilities per draft-ramadan-moq-fec-00
8
8
  // ============================================================
9
9
  /**
10
- * FEC_CONFIG message type per draft-ramadan-moq-fec-00
11
- * Used to signal FEC configuration to subscribers
12
- */
13
- export const FEC_CONFIG_MESSAGE_TYPE = 0x50;
14
- /**
15
- * Repair track suffix per draft-ramadan-moq-fec-00 Section 5.1
16
- * Repair tracks are named by appending this suffix to the source track path
17
- */
18
- export const REPAIR_TRACK_SUFFIX = "repair";
19
- /**
20
- * Get the repair track path for a given source track
10
+ * Build a conventional repair track path by appending "repair" to a source
11
+ * track path.
12
+ *
13
+ * Track names carry no protocol meaning. A repair track's layer, its source
14
+ * and its symbol budget are resolved from the catalog via `resolveRepairLayers`
15
+ * in `@blockcast/mmt-container`, never from a name or a name suffix. This
16
+ * helper is a naming convenience for producers only.
21
17
  *
22
- * Per draft-ramadan-moq-fec-00 Section 5.1, the repair track is named
23
- * by appending "repair" to the source track path.
18
+ * @deprecated Naming convenience only. Never classify a track or resolve a
19
+ * repair layer from its path; use `resolveRepairLayers` from
20
+ * `@blockcast/mmt-container`.
24
21
  *
25
22
  * @param sourceTrack - The source track path (e.g., "live/video")
26
23
  * @returns The repair track path (e.g., "live/video/repair")
@@ -31,44 +28,9 @@ export const REPAIR_TRACK_SUFFIX = "repair";
31
28
  */
32
29
  export function repairTrackPath(sourceTrack) {
33
30
  if (!sourceTrack || sourceTrack.length === 0) {
34
- return REPAIR_TRACK_SUFFIX;
35
- }
36
- return `${sourceTrack}/${REPAIR_TRACK_SUFFIX}`;
37
- }
38
- /**
39
- * Check if a track path is a repair track
40
- *
41
- * @param path - The track path to check
42
- * @returns True if the path ends with the repair track suffix
43
- *
44
- * @example
45
- * isRepairTrack("live/video/repair") // returns true
46
- * isRepairTrack("repair") // returns true
47
- * isRepairTrack("live/video") // returns false
48
- */
49
- export function isRepairTrack(path) {
50
- return path === REPAIR_TRACK_SUFFIX || path.endsWith(`/${REPAIR_TRACK_SUFFIX}`);
51
- }
52
- /**
53
- * Get the source track path from a repair track path
54
- *
55
- * @param repairTrack - The repair track path
56
- * @returns The source track path, or null if not a valid repair track
57
- *
58
- * @example
59
- * sourceTrackFromRepair("live/video/repair") // returns "live/video"
60
- * sourceTrackFromRepair("repair") // returns ""
61
- * sourceTrackFromRepair("live/video") // returns null
62
- */
63
- export function sourceTrackFromRepair(repairTrack) {
64
- if (repairTrack === REPAIR_TRACK_SUFFIX) {
65
- return "";
66
- }
67
- const suffix = `/${REPAIR_TRACK_SUFFIX}`;
68
- if (repairTrack.endsWith(suffix)) {
69
- return repairTrack.slice(0, -suffix.length);
31
+ return "repair";
70
32
  }
71
- return null;
33
+ return `${sourceTrack}/repair`;
72
34
  }
73
35
  /**
74
36
  * FEC algorithm identifier per draft-ramadan-moq-fec-00