@blockcast/mmt-container 2.0.0 → 2.0.1-main.0f2de6af487b

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.
@@ -38,6 +38,7 @@ export interface MulticastRepairEndpoint {
38
38
  repairOwners: ReadonlyArray<{
39
39
  packetId: number;
40
40
  ownerPacketId: number;
41
+ instance?: "keyframe";
41
42
  }>;
42
43
  /** Ingress tracks: the owners' source tracks and the repair tracks. */
43
44
  tracks: MmtpIngressContext["tracks"];
@@ -735,7 +736,9 @@ export declare class MulticastManager {
735
736
  */
736
737
  setMulticastSymbolDelivery(delivery: MulticastSymbolDelivery): void;
737
738
  /** Process a repair packet from MoQ (reliable QUIC). */
738
- processRepairFromMoQ(packet: Uint8Array, ownerPacketId?: number, catalogTrackName?: string): void;
739
+ processRepairFromMoQ(packet: Uint8Array, ownerPacketId?: number, catalogTrackName?: string,
740
+ /** The repair track it arrived on: names its FEC instance (mmt-02 7.4.2). */
741
+ repairTrackName?: string): void;
739
742
  /** Route a Worker-recovered FEC block through the MMTP parser + dedup pipeline. */
740
743
  routeRecoveredBlock(blockId: number, data: Uint8Array, packetId: number, catalogTrackName?: string): boolean;
741
744
  /** Route one Worker-recovered source symbol through the MMTP parser + dedup pipeline. */
@@ -1 +1 @@
1
- {"version":3,"file":"multicast-manager.d.ts","sourceRoot":"","sources":["../src/multicast-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multicast-manager.d.ts","sourceRoot":"","sources":["../src/multicast-manager.ts"],"names":[],"mappings":"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"}
@@ -15864,7 +15864,6 @@ _RistrettoPoint.Fn = /* @__PURE__ */ (() => Fn)();
15864
15864
  var BCPV2_LEAD_BOUND_MS = 5e3;
15865
15865
  var REPLAY_WINDOW = 64n;
15866
15866
  var BUCKET_DEPTH = 64;
15867
- var BUCKET_RATE_PER_MS = 1;
15868
15867
  var hex = (bytes) => Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
15869
15868
  function sameBytes(a, b) {
15870
15869
  if (a.byteLength !== b.byteLength)
@@ -15893,6 +15892,10 @@ var BcProvenanceV2Receiver = class {
15893
15892
  verifySig;
15894
15893
  accepted;
15895
15894
  queueLimit;
15895
+ /** Octets a held datagram is charged beyond its payload: the IPv4 or IPv6 plus UDP headers (step 2). */
15896
+ headerOctets;
15897
+ /** Budget refill, tokens per ms: V / 1000 (step 1). */
15898
+ bucketRatePerMs;
15896
15899
  current = null;
15897
15900
  previous = null;
15898
15901
  graceStart = {};
@@ -15938,6 +15941,8 @@ var BcProvenanceV2Receiver = class {
15938
15941
  multicast: this.maxAuthDelayMs * bandwidth / 8e3,
15939
15942
  unicast: (this.maxAuthDelayMs + this.widenMs) * bandwidth / 8e3
15940
15943
  };
15944
+ this.headerOctets = parseBcProvenanceV2Address(cfg.endpoint.groupAddress).byteLength === 16 ? 48 : 28;
15945
+ this.bucketRatePerMs = Math.max(1e3, 1.25 * bandwidth / (8 * 512 * 37)) / 1e3;
15941
15946
  const t = this.now();
15942
15947
  this.buckets = {
15943
15948
  multicast: { tokens: BUCKET_DEPTH, last: t, dropped: 0 },
@@ -16036,7 +16041,7 @@ var BcProvenanceV2Receiver = class {
16036
16041
  arrival: now,
16037
16042
  sent,
16038
16043
  digest: hex(sha2562(bytes)),
16039
- pairs: record.digests.map((d, i) => ({ digest: hex(d), seq: record.firstSeq + BigInt(i), admitted: false })),
16044
+ pairs: record.digests.map((d, i) => ({ digest: hex(d), epoch, seq: record.firstSeq + BigInt(i), admitted: false })),
16040
16045
  awaitingMulticast: path === "mirror"
16041
16046
  };
16042
16047
  this.verified.set(id, entry);
@@ -16103,12 +16108,12 @@ var BcProvenanceV2Receiver = class {
16103
16108
  digest(datagram) {
16104
16109
  return hex(bcProvenanceV2DatagramDigest(this.cfg.endpoint, datagram));
16105
16110
  }
16106
- /** Consume the lowest-seq pending entry for `digest`, admitting it. */
16111
+ /** Consume the pending entry for `digest` lowest in (epoch, sequence) order, admitting it. */
16107
16112
  consumePending(digest, now) {
16108
16113
  const list = this.pending.get(digest);
16109
16114
  if (!list?.length)
16110
16115
  return false;
16111
- list.sort((a, b) => a.pair.seq < b.pair.seq ? -1 : a.pair.seq > b.pair.seq ? 1 : 0);
16116
+ list.sort((a, b) => a.pair.epoch - b.pair.epoch || (a.pair.seq < b.pair.seq ? -1 : a.pair.seq > b.pair.seq ? 1 : 0));
16112
16117
  const hit = list.shift();
16113
16118
  if (list.length === 0)
16114
16119
  this.pending.delete(digest);
@@ -16117,14 +16122,18 @@ var BcProvenanceV2Receiver = class {
16117
16122
  this.admittedUntil.set(digest, now + this.maxAuthDelayMs + this.leadMs);
16118
16123
  return true;
16119
16124
  }
16125
+ /** A held datagram's charge against its queue: payload plus IP and UDP headers. */
16126
+ charge(held) {
16127
+ return held.datagram.byteLength + this.headerOctets;
16128
+ }
16120
16129
  enqueue(held, path, now) {
16121
- if (this.holdBytes[path] + held.datagram.byteLength > this.queueLimit[path]) {
16130
+ if (this.holdBytes[path] + this.charge(held) > this.queueLimit[path]) {
16122
16131
  return { verdict: "overflow", admitted: [] };
16123
16132
  }
16124
16133
  held.expiry = now + this.maxAuthDelayMs + (path === "unicast" ? this.widenMs : 0);
16125
16134
  held.order = this.order++;
16126
16135
  this.hold[path].push(held);
16127
- this.holdBytes[path] += held.datagram.byteLength;
16136
+ this.holdBytes[path] += this.charge(held);
16128
16137
  return { verdict: "held", admitted: [] };
16129
16138
  }
16130
16139
  /** Remove and return the oldest held datagram with `digest`, across both queues. */
@@ -16139,7 +16148,7 @@ var BcProvenanceV2Receiver = class {
16139
16148
  if (!best)
16140
16149
  return void 0;
16141
16150
  const [held] = this.hold[best.path].splice(best.index, 1);
16142
- this.holdBytes[best.path] -= held.datagram.byteLength;
16151
+ this.holdBytes[best.path] -= this.charge(held);
16143
16152
  return held.datagram;
16144
16153
  }
16145
16154
  dropAdmittedHeld() {
@@ -16147,7 +16156,7 @@ var BcProvenanceV2Receiver = class {
16147
16156
  this.hold[path] = this.hold[path].filter((h) => {
16148
16157
  const keep = h.digest === void 0 || !this.admittedUntil.has(h.digest);
16149
16158
  if (!keep)
16150
- this.holdBytes[path] -= h.datagram.byteLength;
16159
+ this.holdBytes[path] -= this.charge(h);
16151
16160
  return keep;
16152
16161
  });
16153
16162
  }
@@ -16231,7 +16240,7 @@ var BcProvenanceV2Receiver = class {
16231
16240
  }
16232
16241
  take(path, now) {
16233
16242
  const b = this.buckets[path];
16234
- b.tokens = Math.min(BUCKET_DEPTH, b.tokens + (now - b.last) * BUCKET_RATE_PER_MS);
16243
+ b.tokens = Math.min(BUCKET_DEPTH, b.tokens + (now - b.last) * this.bucketRatePerMs);
16235
16244
  b.last = now;
16236
16245
  if (b.tokens < 1) {
16237
16246
  b.dropped++;
@@ -16245,7 +16254,7 @@ var BcProvenanceV2Receiver = class {
16245
16254
  this.hold[path] = this.hold[path].filter((h) => {
16246
16255
  if (h.expiry > now)
16247
16256
  return true;
16248
- this.holdBytes[path] -= h.datagram.byteLength;
16257
+ this.holdBytes[path] -= this.charge(h);
16249
16258
  this.expired[path]++;
16250
16259
  return false;
16251
16260
  });
@@ -16521,6 +16530,14 @@ var MmtpRouter = class {
16521
16530
  #packetIdRoles = /* @__PURE__ */ new Map();
16522
16531
  /** Explicit catalog ownership for dedicated repair-track packet IDs. */
16523
16532
  #repairOwnersByPacketId = /* @__PURE__ */ new Map();
16533
+ /** Keyframe-overlay repair PID → the source its FEC instance protects
16534
+ * (draft-ramadan-mmt-fec-02 7.4.1). Never an owner in
16535
+ * #repairOwnersByPacketId: the overlay is decoded as its own instance. */
16536
+ #overlayLegs = /* @__PURE__ */ new Map();
16537
+ /** Keyframe-overlay repair track names, which name a leg too: a catalog
16538
+ * may state no PID for it (learned at subscribe time). */
16539
+ #overlayRepairNames = /* @__PURE__ */ new Map();
16540
+ #overlayStats = { repairDropped: 0, ownerRefused: 0 };
16524
16541
  /** Callback fired when a delta-track FEC block completes or fails. */
16525
16542
  #onDeltaBlockCompleteCb = null;
16526
16543
  // Debug counters
@@ -17039,13 +17056,53 @@ var MmtpRouter = class {
17039
17056
  /** Replace catalog-derived repair ownership before a catalog reconfiguration. */
17040
17057
  clearRepairPacketIdOwners() {
17041
17058
  this.#repairOwnersByPacketId.clear();
17059
+ this.#overlayLegs.clear();
17060
+ this.#overlayRepairNames.clear();
17042
17061
  }
17043
- /** Bind one dedicated repair-track PID to its authoritative media PID. */
17062
+ /** Bind one dedicated repair-track PID to its authoritative media PID. A
17063
+ * known keyframe-overlay PID is refused, and counted: its symbols belong to
17064
+ * the overlay instance, never to the source's base decoder (mmt-02 7.4.4). */
17044
17065
  setRepairPacketIdOwner(repairPacketId, ownerPacketId) {
17066
+ if (this.#overlayLegs.has(repairPacketId)) {
17067
+ this.#overlayStats.ownerRefused++;
17068
+ return;
17069
+ }
17045
17070
  const owners = this.#repairOwnersByPacketId.get(repairPacketId) ?? /* @__PURE__ */ new Set();
17046
17071
  owners.add(ownerPacketId);
17047
17072
  this.#repairOwnersByPacketId.set(repairPacketId, owners);
17048
17073
  }
17074
+ /**
17075
+ * Record a keyframe-overlay repair leg (draft-ramadan-mmt-fec-02 7.4): its
17076
+ * PID, the source it protects, and its repair track name. Either one names
17077
+ * the leg, so a catalog that states no PID (learned at subscribe time) is
17078
+ * covered by the name. Overlay repair is then never resolved to a base
17079
+ * owner, on multicast or MoQ. Cleared with the catalog owners
17080
+ * (`clearRepairPacketIdOwners`).
17081
+ */
17082
+ setKeyframeOverlayLeg(repairPacketId, leg) {
17083
+ if (leg.repairTrackName !== void 0) this.#overlayRepairNames.set(leg.repairTrackName, { ...leg });
17084
+ if (repairPacketId === void 0) return;
17085
+ this.#repairOwnersByPacketId.delete(repairPacketId);
17086
+ this.#overlayLegs.set(repairPacketId, { ...leg });
17087
+ }
17088
+ /** The keyframe-overlay leg registered on `repairPacketId`, if any. */
17089
+ keyframeOverlayLeg(repairPacketId) {
17090
+ return this.#overlayLegs.get(repairPacketId);
17091
+ }
17092
+ /** Overlay repair dropped for want of an overlay instance, and base-owner
17093
+ * registrations refused on an overlay PID. */
17094
+ get keyframeOverlayStats() {
17095
+ return { ...this.#overlayStats };
17096
+ }
17097
+ #isOverlayRepair(repairPacketId, repairTrackName) {
17098
+ return this.#overlayLegs.has(repairPacketId) || repairTrackName !== void 0 && this.#overlayRepairNames.has(repairTrackName);
17099
+ }
17100
+ /** Overlay repair has no decoder until the overlay instance lands
17101
+ * (BLO-52077 PR 2): drop it before any base owner, locator or decoder. */
17102
+ #dropOverlayRepair(repairPacketId) {
17103
+ this.#overlayStats.repairDropped++;
17104
+ debugRouter(`[MmtpRouter] Dropping keyframe-overlay repair pid=${repairPacketId}: no overlay instance`);
17105
+ }
17049
17106
  /**
17050
17107
  * Register callback fired when a delta-track FEC block completes or fails.
17051
17108
  *
@@ -17469,6 +17526,10 @@ var MmtpRouter = class {
17469
17526
  return;
17470
17527
  }
17471
17528
  const repairPacketId = header.packetId;
17529
+ if (this.#isOverlayRepair(repairPacketId, repairTrackName)) {
17530
+ this.#dropOverlayRepair(repairPacketId);
17531
+ return;
17532
+ }
17472
17533
  const hintedOwner = ownerPacketIdHint != null && this.#classifyPacketId(ownerPacketIdHint) !== null ? ownerPacketIdHint : null;
17473
17534
  const ownerPacketId = hintedOwner ?? (this.#classifyPacketId(repairPacketId) !== null ? repairPacketId : null);
17474
17535
  if (ownerPacketId === null) {
@@ -17844,6 +17905,13 @@ var MmtpRouter = class {
17844
17905
  this.#packetIdRoles.delete(packetId);
17845
17906
  this.#catalogTrackNamesByPacketId.delete(packetId);
17846
17907
  this.#repairOwnersByPacketId.delete(packetId);
17908
+ this.#overlayLegs.delete(packetId);
17909
+ for (const [repairPacketId, leg] of [...this.#overlayLegs]) {
17910
+ if (leg.sourcePacketId === packetId) this.#overlayLegs.delete(repairPacketId);
17911
+ }
17912
+ for (const [name, leg] of [...this.#overlayRepairNames]) {
17913
+ if (leg.sourcePacketId === packetId) this.#overlayRepairNames.delete(name);
17914
+ }
17847
17915
  delete this.#pidCounts[packetId];
17848
17916
  delete this.#repairPidCounts[packetId];
17849
17917
  delete this.#moqRepairPidCounts[packetId];
@@ -18082,6 +18150,8 @@ var MmtpRouter = class {
18082
18150
  this.#parserDiagnostics.clear();
18083
18151
  this.#catalogTrackNamesByPacketId.clear();
18084
18152
  this.#repairOwnersByPacketId.clear();
18153
+ this.#overlayLegs.clear();
18154
+ this.#overlayRepairNames.clear();
18085
18155
  for (const { receiver } of this.#provenance.values()) receiver.release();
18086
18156
  this.#provenance.clear();
18087
18157
  this.#provenanceStreamFlow.clear();
@@ -18437,6 +18507,10 @@ var MmtpRouter = class {
18437
18507
  }
18438
18508
  }
18439
18509
  if (info.isRepair) {
18510
+ if (this.#isOverlayRepair(info.packetId, catalogTrackNameForPacket(ingress, info.packetId))) {
18511
+ this.#dropOverlayRepair(info.packetId);
18512
+ return;
18513
+ }
18440
18514
  const ownerPacketId = this.#resolveRepairOwnerPacketId(info.packetId, ingress);
18441
18515
  if (ownerPacketId != null && this.#fecManager && hasAmbiguousCatalogTrackName(ingress, ownerPacketId)) return;
18442
18516
  const repair = this.#readRepairObject(
@@ -20863,6 +20937,9 @@ var AMTGatewayManager = class {
20863
20937
  */
20864
20938
  async subscribe(config) {
20865
20939
  const { key } = config;
20940
+ if (config.protected) {
20941
+ throw new Error("AMTGatewayManager refuses a protected join: it reports no per-datagram sender (multicast-02 7.2.7)");
20942
+ }
20866
20943
  const keyStr = this.getKeyString(key);
20867
20944
  if (this.subscriptions.has(keyStr)) {
20868
20945
  console.log(`[AMT] Reusing existing subscription to ${keyStr}`);
@@ -21100,6 +21177,10 @@ var MulticastTransport = class {
21100
21177
  #acceptedBytesByPacketId = /* @__PURE__ */ new Map();
21101
21178
  #packetIds = null;
21102
21179
  #protected = false;
21180
+ // A protected join's S, and the last sender spelling that matched it, so a
21181
+ // matching sender parses once per spelling rather than per datagram.
21182
+ #protectedSource = void 0;
21183
+ #matchedSource = void 0;
21103
21184
  // The sender S this join's accepted packets came from, once known; see
21104
21185
  // packetsDroppedForeignSender. Cleared by every join and by a silence
21105
21186
  // failback, so a replacement publisher is not locked out.
@@ -21151,6 +21232,11 @@ var MulticastTransport = class {
21151
21232
  return this.#declined(generation, "unavailable");
21152
21233
  }
21153
21234
  let failure = "invalid-request";
21235
+ const protectedSource = config.protected === true ? config.sourceAddress ?? config.senderAddress : void 0;
21236
+ if (config.protected === true && (protectedSource === void 0 || config.atsc3)) {
21237
+ console.warn("[MulticastTransport] protected join refused: the path reports no per-datagram sender to check against S");
21238
+ return this.#declined(generation, "invalid-request");
21239
+ }
21154
21240
  try {
21155
21241
  const packetIds = config.packetIds?.length ? new Set(config.packetIds) : null;
21156
21242
  console.log(
@@ -21186,7 +21272,7 @@ var MulticastTransport = class {
21186
21272
  this.#subscription = subscription;
21187
21273
  const live = () => !this.#disposed && generation === this.#joinGeneration;
21188
21274
  const anySource = !config.sourceAddress && !config.senderAddress && !config.atsc3;
21189
- const packetListener = !anySource && subscriptionDeliversPacketBatches(subscription) ? {
21275
+ const packetListener = !anySource && protectedSource === void 0 && subscriptionDeliversPacketBatches(subscription) ? {
21190
21276
  type: "packets",
21191
21277
  listener: (event) => {
21192
21278
  if (!live()) return;
@@ -21202,6 +21288,8 @@ var MulticastTransport = class {
21202
21288
  this.#packetListener = packetListener;
21203
21289
  this.#packetIds = packetIds;
21204
21290
  this.#protected = config.protected === true;
21291
+ this.#protectedSource = protectedSource;
21292
+ this.#matchedSource = void 0;
21205
21293
  this.#providerFilter = {
21206
21294
  acknowledged: packetIds,
21207
21295
  sent: 0,
@@ -21661,13 +21749,23 @@ var MulticastTransport = class {
21661
21749
  this.#delivery = void 0;
21662
21750
  this.#packetIds = null;
21663
21751
  this.#protected = false;
21752
+ this.#protectedSource = void 0;
21753
+ this.#matchedSource = void 0;
21664
21754
  this.#providerFilter = null;
21665
21755
  this.#context = void 0;
21666
21756
  this.#withdrawnPacketIds.clear();
21667
21757
  }
21668
21758
  /** The ingress filter; an accepted packet is counted here, once. */
21669
21759
  #acceptPacket(packet, sourceAddress) {
21670
- const owner = this.#lockedTo?.() ?? this.#sender;
21760
+ const source = this.#protectedSource;
21761
+ if (source !== void 0 && (sourceAddress === void 0 || sourceAddress !== this.#matchedSource)) {
21762
+ if (sourceAddress === void 0 || !sameIpAddress(sourceAddress, source)) {
21763
+ this.#stats.packetsDroppedForeignSender++;
21764
+ return false;
21765
+ }
21766
+ this.#matchedSource = sourceAddress;
21767
+ }
21768
+ const owner = source === void 0 ? this.#lockedTo?.() ?? this.#sender : void 0;
21671
21769
  if (sourceAddress !== void 0 && owner !== void 0 && sourceAddress !== owner) {
21672
21770
  this.#stats.packetsDroppedForeignSender++;
21673
21771
  return false;
@@ -22196,9 +22294,7 @@ function repairTrackNamesBySource(tracks) {
22196
22294
  }
22197
22295
  function boundRepairNames(binding) {
22198
22296
  if (binding?.status !== "ok") return [];
22199
- const names = binding.layers.map((layer) => layer.repairTrackName);
22200
- if (binding.overlay) names.push(binding.overlay.repairTrackName);
22201
- return names;
22297
+ return binding.layers.map((layer) => layer.repairTrackName);
22202
22298
  }
22203
22299
  var MulticastManager = class {
22204
22300
  #fec;
@@ -22964,7 +23060,11 @@ var MulticastManager = class {
22964
23060
  console.warn("[MulticastManager] repair group release failed", error);
22965
23061
  }
22966
23062
  };
22967
- const repairOwners = endpoints.flatMap((endpoint) => endpoint.repairOwners);
23063
+ const repairOwners = endpoints.flatMap((endpoint) => endpoint.repairOwners.map((owner) => owner.instance !== "keyframe" ? owner : {
23064
+ ...owner,
23065
+ ownerTrackName: endpoint.tracks.find((t) => t.packetId === owner.ownerPacketId)?.name,
23066
+ repairTrackName: endpoint.tracks.find((t) => t.packetId === owner.packetId)?.name
23067
+ }));
22968
23068
  this.#applyRepairOwners(repairOwners);
22969
23069
  for (const endpoint of endpoints) {
22970
23070
  const ingress = {
@@ -23012,9 +23112,17 @@ var MulticastManager = class {
23012
23112
  return release;
23013
23113
  }
23014
23114
  #applyRepairOwners(owners) {
23015
- for (const { packetId, ownerPacketId } of owners) {
23115
+ for (const { packetId, ownerPacketId, instance, ownerTrackName, repairTrackName } of owners) {
23016
23116
  this.#router.setPacketIdRole(packetId, "repair");
23017
- this.#router.setRepairPacketIdOwner(packetId, ownerPacketId);
23117
+ if (instance === "keyframe") {
23118
+ this.#router.setKeyframeOverlayLeg(packetId, {
23119
+ sourcePacketId: ownerPacketId,
23120
+ ...ownerTrackName === void 0 ? {} : { sourceCatalogTrackName: ownerTrackName },
23121
+ ...repairTrackName === void 0 ? {} : { repairTrackName }
23122
+ });
23123
+ } else {
23124
+ this.#router.setRepairPacketIdOwner(packetId, ownerPacketId);
23125
+ }
23018
23126
  }
23019
23127
  }
23020
23128
  // ---------------------------------------------------------------------------
@@ -23278,8 +23386,8 @@ var MulticastManager = class {
23278
23386
  this.#fec.setMulticastSymbolDelivery(delivery);
23279
23387
  }
23280
23388
  /** Process a repair packet from MoQ (reliable QUIC). */
23281
- processRepairFromMoQ(packet, ownerPacketId, catalogTrackName) {
23282
- this.#router.feedRepairPacket(packet, ownerPacketId, catalogTrackName);
23389
+ processRepairFromMoQ(packet, ownerPacketId, catalogTrackName, repairTrackName) {
23390
+ this.#router.feedRepairPacket(packet, ownerPacketId, catalogTrackName, repairTrackName);
23283
23391
  }
23284
23392
  /** Route a Worker-recovered FEC block through the MMTP parser + dedup pipeline. */
23285
23393
  routeRecoveredBlock(blockId, data, packetId, catalogTrackName) {
@@ -23331,7 +23439,10 @@ var MulticastManager = class {
23331
23439
  const ownedRepairNames = /* @__PURE__ */ new Set();
23332
23440
  const claimed = /* @__PURE__ */ new Map();
23333
23441
  for (const binding of bindings.values()) {
23334
- for (const name of boundRepairNames(binding)) claimed.set(name, (claimed.get(name) ?? 0) + 1);
23442
+ const overlay = binding.status === "ok" ? binding.overlay?.repairTrackName : void 0;
23443
+ for (const name of [...boundRepairNames(binding), ...overlay === void 0 ? [] : [overlay]]) {
23444
+ claimed.set(name, (claimed.get(name) ?? 0) + 1);
23445
+ }
23335
23446
  }
23336
23447
  for (const [name, count] of claimed) if (count === 1) ownedRepairNames.add(name);
23337
23448
  const repairOwnerGroup = /* @__PURE__ */ new Map();
@@ -23462,6 +23573,14 @@ var MulticastManager = class {
23462
23573
  this.#router.setRepairPacketIdOwner(repairTrack.packetId, track.packetId);
23463
23574
  }
23464
23575
  }
23576
+ const overlayName = binding.overlay?.repairTrackName;
23577
+ if (overlayName !== void 0 && ownedRepairNames.has(overlayName)) {
23578
+ this.#router.setKeyframeOverlayLeg(catalogTracksByName.get(overlayName)?.packetId, {
23579
+ sourcePacketId: track.packetId,
23580
+ sourceCatalogTrackName: track.name,
23581
+ repairTrackName: overlayName
23582
+ });
23583
+ }
23465
23584
  }
23466
23585
  const wasmDecoder = fecDecoders.get(i);
23467
23586
  if (track.packetId !== void 0 && wasmDecoder !== void 0) {