@blockcast/mmt-container 2.2.0-main.da2e7cd1dd5d → 2.2.0-main.e75bbd7576a6

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 (46) hide show
  1. package/dist/browser-runtime.js +472 -36
  2. package/dist/browser-runtime.js.map +2 -2
  3. package/dist/delivery-catalog.js +2 -1
  4. package/dist/delivery-catalog.js.map +2 -2
  5. package/dist/fec-manager.d.ts +30 -0
  6. package/dist/fec-manager.d.ts.map +1 -1
  7. package/dist/fec-manager.js +196 -2
  8. package/dist/fec-manager.js.map +2 -2
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +2 -2
  12. package/dist/iso-block-locator.d.ts +9 -0
  13. package/dist/iso-block-locator.d.ts.map +1 -1
  14. package/dist/iso-block-locator.js +17 -0
  15. package/dist/iso-block-locator.js.map +2 -2
  16. package/dist/iso-bmff-timing.d.ts +10 -1
  17. package/dist/iso-bmff-timing.d.ts.map +1 -1
  18. package/dist/iso-bmff-timing.js +36 -2
  19. package/dist/iso-bmff-timing.js.map +2 -2
  20. package/dist/mmtp-container-parser.d.ts +35 -2
  21. package/dist/mmtp-container-parser.d.ts.map +1 -1
  22. package/dist/mmtp-container-parser.js +82 -9
  23. package/dist/mmtp-container-parser.js.map +2 -2
  24. package/dist/mmtp-container-parser.no-modules.js +85 -11
  25. package/dist/mmtp-container-parser.no-modules.js.map +2 -2
  26. package/dist/mmtp-decode-pipeline.js +81 -9
  27. package/dist/mmtp-decode-pipeline.js.map +2 -2
  28. package/dist/mmtp-router.d.ts +18 -1
  29. package/dist/mmtp-router.d.ts.map +1 -1
  30. package/dist/mmtp-router.js +276 -34
  31. package/dist/mmtp-router.js.map +2 -2
  32. package/dist/multicast-manager.js +472 -36
  33. package/dist/multicast-manager.js.map +2 -2
  34. package/dist/multicast-transport.js +2 -1
  35. package/dist/multicast-transport.js.map +2 -2
  36. package/dist/no-modules.js +81 -9
  37. package/dist/no-modules.js.map +2 -2
  38. package/dist/wasm-mmtp-container-parser.js +81 -9
  39. package/dist/wasm-mmtp-container-parser.js.map +2 -2
  40. package/package.json +5 -5
  41. package/src/fec-manager.ts +251 -2
  42. package/src/index.ts +1 -0
  43. package/src/iso-block-locator.ts +19 -0
  44. package/src/iso-bmff-timing.ts +40 -1
  45. package/src/mmtp-container-parser.ts +84 -8
  46. package/src/mmtp-router.ts +346 -30
@@ -102,6 +102,14 @@ export interface FecPacketStats {
102
102
  packetLossRate: number;
103
103
  }
104
104
  export type FecSymbolSource = 'multicast' | 'moq';
105
+ /**
106
+ * What feedRebuiltSourceSymbol did with a rebuilt source: whether its block
107
+ * took it, and the block the synchronous decoder recovered with it, if any.
108
+ */
109
+ export interface RebuiltSourceFeed {
110
+ readonly taken: boolean;
111
+ readonly recovered: Uint8Array | null;
112
+ }
105
113
  /**
106
114
  * One iso-ssbg1-v1 first-arrival source symbol MmtpRouter holds until a repair
107
115
  * symbol states its block: the exact protected packet (no SS_ID, unpadded),
@@ -639,6 +647,28 @@ export declare class FECManager {
639
647
  * block completion state via `markBlockCompleted()`.
640
648
  */
641
649
  feedSourceSymbol(packetId: number, ssId: number, symbolData: Uint8Array, catalogTrackName?: string): Uint8Array | null;
650
+ /**
651
+ * Feed a source symbol of this stream that another FEC instance over the
652
+ * same packets rebuilt: a keyframe overlay recovery whose base SS_ID the
653
+ * caller determined (draft-ramadan-moq-mmt-02 7.1, 7.4.4; joint decoding,
654
+ * BLO-52085). It joins its block's decoder as a received source would, so
655
+ * it reduces the erasures the block still has to solve, but it is not a
656
+ * network arrival: no transport accounting, no classification evidence,
657
+ * no deadline refresh, and it never makes a block clean.
658
+ *
659
+ * Only a block a repair stated takes one (a repair-less span has no
660
+ * decoder block). A block that is terminal, or already holds that source,
661
+ * does not. The symbol is the exact protected packet, unpadded, as
662
+ * feedSourceSymbol takes it.
663
+ *
664
+ * `recovered` is the block the synchronous decoder completed with it; the
665
+ * caller routes it and completes the block, as for any recovery. When
666
+ * every source of the block is then present, received or rebuilt, and no
667
+ * decoder returned it (a Worker answers asynchronously, and reports such a
668
+ * block as clean on its own side), the block is completed here as
669
+ * recovered, with nothing left to route.
670
+ */
671
+ feedRebuiltSourceSymbol(packetId: number, ssId: number, symbolData: Uint8Array, catalogTrackName?: string): RebuiltSourceFeed;
642
672
  /**
643
673
  * fec-01 4.5: a reed-solomon repair packet whose SSB_length + RSB_length
644
674
  * exceeds 255, or whose RS_ID is not below RSB_length, is discarded with the
@@ -1 +1 @@
1
- {"version":3,"file":"fec-manager.d.ts","sourceRoot":"","sources":["../src/fec-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fec-manager.d.ts","sourceRoot":"","sources":["../src/fec-manager.ts"],"names":[],"mappings":"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"}
@@ -348,6 +348,7 @@ var IsoBlockLocator = class _IsoBlockLocator {
348
348
  #retentionBlocks;
349
349
  #heldEvicted;
350
350
  #newest;
351
+ #newestSource;
351
352
  #holes;
352
353
  static #checkedRetention(retentionBlocks) {
353
354
  if (!Number.isSafeInteger(retentionBlocks) || retentionBlocks <= 0) {
@@ -385,6 +386,21 @@ var IsoBlockLocator = class _IsoBlockLocator {
385
386
  observe(position) {
386
387
  if (this.#newest === void 0 || serial32Precedes(this.#newest, position)) this.#newest = position;
387
388
  }
389
+ /**
390
+ * The newest source SS_ID noted with `noteSource` (RFC 1982 order). Unlike
391
+ * `newest`, a repair never moves it: a repair can run ahead of its sources,
392
+ * a source cannot run ahead of the sources sent before it except by
393
+ * reordering.
394
+ */
395
+ get newestSource() {
396
+ return this.#newestSource;
397
+ }
398
+ /** Note a received source's SS_ID; true when it is the newest one yet. */
399
+ noteSource(ssId) {
400
+ if (this.#newestSource !== void 0 && !serial32Precedes(this.#newestSource, ssId)) return false;
401
+ this.#newestSource = ssId;
402
+ return true;
403
+ }
388
404
  /** Held sources evicted by `heldCapacity` (never by the horizon itself). */
389
405
  get heldEvicted() {
390
406
  return this.#heldEvicted;
@@ -617,6 +633,7 @@ var IsoBlockLocator = class _IsoBlockLocator {
617
633
  this.#held.clear();
618
634
  this.#coverageEnd = void 0;
619
635
  this.#newest = void 0;
636
+ this.#newestSource = void 0;
620
637
  }
621
638
  #claim(block) {
622
639
  const placed = [];
@@ -1081,6 +1098,7 @@ var WORKER_ERROR_LOG_CAP = 5;
1081
1098
  var WORKER_ERROR_KIND_CAP = 32;
1082
1099
  var WORKER_ERROR_OVERFLOW_KIND = "other";
1083
1100
  var STARTUP_REPAIR_WAIT_SOURCE_BOUNDARIES = 2;
1101
+ var NOT_TAKEN = Object.freeze({ taken: false, recovered: null });
1084
1102
  function isMulticastSymbolDelivery(value) {
1085
1103
  return value === "datagram" || value === "ordered-relay";
1086
1104
  }
@@ -1178,6 +1196,10 @@ var FECManager = class _FECManager {
1178
1196
  // Source symbol count per track-scoped block — marks complete when K symbols arrive.
1179
1197
  this.#blockSourceCounts = /* @__PURE__ */ new Map();
1180
1198
  this.#blockSourceEsis = /* @__PURE__ */ new Map();
1199
+ // Source ESIs per block that another FEC instance rebuilt and fed in
1200
+ // (feedRebuiltSourceSymbol). Kept apart from #blockSourceEsis: they are
1201
+ // not network arrivals and never make a block clean.
1202
+ this.#blockRebuiltEsis = /* @__PURE__ */ new Map();
1181
1203
  // Authored SSB_length per block (ISO/IEC 23008-1 §C.5.3), learned from the
1182
1204
  // first repair symbol. The FFmpeg moq_mmt publisher closes a block every D
1183
1205
  // media units, usually before it holds K symbols; under iso-ssbg1-v1
@@ -1467,6 +1489,7 @@ var FECManager = class _FECManager {
1467
1489
  #pendingWorkerCleanupBounds;
1468
1490
  #blockSourceCounts;
1469
1491
  #blockSourceEsis;
1492
+ #blockRebuiltEsis;
1470
1493
  #blockAuthoredLengths;
1471
1494
  #ssbLengthConflictCount;
1472
1495
  #blockRepairRsIds;
@@ -2789,6 +2812,7 @@ var FECManager = class _FECManager {
2789
2812
  }
2790
2813
  resetMap(this.#blockSourceCounts);
2791
2814
  resetMap(this.#blockSourceEsis);
2815
+ resetMap(this.#blockRebuiltEsis);
2792
2816
  resetMap(this.#blockAuthoredLengths);
2793
2817
  resetMap(this.#blockRepairRsIds);
2794
2818
  resetMap(this.#blockRsbLengths);
@@ -2913,6 +2937,7 @@ var FECManager = class _FECManager {
2913
2937
  dropMap(this.#pendingWorkerCleanupClients);
2914
2938
  dropMap(this.#blockSourceCounts);
2915
2939
  dropMap(this.#blockSourceEsis);
2940
+ dropMap(this.#blockRebuiltEsis);
2916
2941
  dropMap(this.#blockAuthoredLengths);
2917
2942
  dropMap(this.#blockRepairRsIds);
2918
2943
  dropMap(this.#blockRsbLengths);
@@ -3075,6 +3100,9 @@ var FECManager = class _FECManager {
3075
3100
  this.#unindexBlockKey(key);
3076
3101
  }
3077
3102
  }
3103
+ if (isSourceSymbol && source === "multicast") {
3104
+ this.#noteMulticastSource(this.#isoLocatorFor(packetId, catalogTrackName), sbn + esi >>> 0, packetId, catalogTrackName);
3105
+ }
3078
3106
  return true;
3079
3107
  }
3080
3108
  #observeBlockCatalogTrackName(blockKey, sbn, packetId, catalogTrackName) {
@@ -3392,6 +3420,7 @@ var FECManager = class _FECManager {
3392
3420
  const locator = this.#growingIsoLocatorFor(packetId, catalogTrackName);
3393
3421
  const evictedBefore = locator.heldEvicted;
3394
3422
  const held = locator.hold(ssId, source);
3423
+ if (held && source.source === "multicast") this.#noteMulticastSource(locator, ssId, packetId, catalogTrackName);
3395
3424
  const evicted = locator.heldEvicted - evictedBefore;
3396
3425
  if (evicted > 0) {
3397
3426
  const before = this.#isoHeldEvictedCount;
@@ -3987,7 +4016,15 @@ var FECManager = class _FECManager {
3987
4016
  this.#isoSourceOversizeCount++;
3988
4017
  return null;
3989
4018
  }
3990
- const sbn = located.block.start;
4019
+ return this.#feedDecoderSource(packetId, ssId, symbolData, catalogTrackName, located.block.start);
4020
+ }
4021
+ /**
4022
+ * Hand one placed source symbol to the stream's decoder: its Worker, which
4023
+ * answers through onFrame (null here), or its synchronous decoder, whose
4024
+ * recovered block is returned. `sbn` is the SS_Start of the block a repair
4025
+ * stated for `ssId`.
4026
+ */
4027
+ #feedDecoderSource(packetId, ssId, symbolData, catalogTrackName, sbn) {
3991
4028
  const blockKey = this.#blockKey(sbn, packetId, catalogTrackName);
3992
4029
  const syncBlockOwner = this.#syncDecoderBlockOwners.get(blockKey);
3993
4030
  const workerClient = this.#routableWorkerForPacket(packetId, catalogTrackName);
@@ -4016,6 +4053,74 @@ var FECManager = class _FECManager {
4016
4053
  }
4017
4054
  return recovered;
4018
4055
  }
4056
+ /**
4057
+ * Feed a source symbol of this stream that another FEC instance over the
4058
+ * same packets rebuilt: a keyframe overlay recovery whose base SS_ID the
4059
+ * caller determined (draft-ramadan-moq-mmt-02 7.1, 7.4.4; joint decoding,
4060
+ * BLO-52085). It joins its block's decoder as a received source would, so
4061
+ * it reduces the erasures the block still has to solve, but it is not a
4062
+ * network arrival: no transport accounting, no classification evidence,
4063
+ * no deadline refresh, and it never makes a block clean.
4064
+ *
4065
+ * Only a block a repair stated takes one (a repair-less span has no
4066
+ * decoder block). A block that is terminal, or already holds that source,
4067
+ * does not. The symbol is the exact protected packet, unpadded, as
4068
+ * feedSourceSymbol takes it.
4069
+ *
4070
+ * `recovered` is the block the synchronous decoder completed with it; the
4071
+ * caller routes it and completes the block, as for any recovery. When
4072
+ * every source of the block is then present, received or rebuilt, and no
4073
+ * decoder returned it (a Worker answers asynchronously, and reports such a
4074
+ * block as clean on its own side), the block is completed here as
4075
+ * recovered, with nothing left to route.
4076
+ */
4077
+ feedRebuiltSourceSymbol(packetId, ssId, symbolData, catalogTrackName) {
4078
+ if (!this.#hasBlockProfile(packetId)) return NOT_TAKEN;
4079
+ const located = this.#isoLocatorFor(packetId, catalogTrackName).locate(ssId);
4080
+ if (located === null || located.block.span) return NOT_TAKEN;
4081
+ if (!ssbg1FitsSymbol(symbolData.byteLength, this.#trackConfig(packetId).symbolSize)) return NOT_TAKEN;
4082
+ const sbn = located.block.start;
4083
+ const key = this.#blockKey(sbn, packetId, catalogTrackName);
4084
+ if (this.#completedBlocks.has(key) || this.#blockSourceEsis.get(key)?.has(located.esi)) return NOT_TAKEN;
4085
+ let rebuilt = this.#blockRebuiltEsis.get(key);
4086
+ if (rebuilt?.has(located.esi)) return NOT_TAKEN;
4087
+ if (rebuilt === void 0) {
4088
+ rebuilt = /* @__PURE__ */ new Set();
4089
+ this.#blockRebuiltEsis.set(key, rebuilt);
4090
+ }
4091
+ const config = this.#trackConfigs.get(packetId);
4092
+ const wasShort = config !== void 0 && this.#lateSourceWaitMs(key, sbn, packetId, catalogTrackName, config) !== void 0;
4093
+ rebuilt.add(located.esi);
4094
+ const recovered = this.#feedDecoderSource(packetId, ssId, symbolData, catalogTrackName, sbn);
4095
+ if (recovered === null && !this.#completeWhenSourcesPresent(key, sbn, located.block.length, packetId, catalogTrackName)) {
4096
+ if (wasShort && this.#activeBlocks.has(key) && this.#lateSourceWaitMs(key, sbn, packetId, catalogTrackName, config) === void 0) {
4097
+ this.#armBlockTimeout(sbn, packetId, catalogTrackName, this.#multicastWaitMs(config));
4098
+ }
4099
+ }
4100
+ return { taken: true, recovered };
4101
+ }
4102
+ /**
4103
+ * A block that holds every one of its `length` sources, received or
4104
+ * rebuilt by another instance, with at least one rebuilt, is recovered:
4105
+ * every packet of it was delivered, by its own arrival or by the instance
4106
+ * that rebuilt it, so nothing is routed. Returns whether it completed it.
4107
+ */
4108
+ #completeWhenSourcesPresent(key, sbn, length, packetId, catalogTrackName) {
4109
+ const rebuilt = this.#blockRebuiltEsis.get(key);
4110
+ if (rebuilt === void 0 || this.#completedBlocks.has(key)) return false;
4111
+ let present = rebuilt.size;
4112
+ for (const esi of this.#blockSourceEsis.get(key) ?? []) if (!rebuilt.has(esi)) present++;
4113
+ if (present < length) return false;
4114
+ this.#traceLifecycle("recovered", sbn, packetId, catalogTrackName);
4115
+ this.countRecovery(packetId, sbn, catalogTrackName);
4116
+ this.cancelBlockTimeout(sbn, packetId, catalogTrackName);
4117
+ if (catalogTrackName === void 0) {
4118
+ this.onBlockComplete?.(sbn, packetId);
4119
+ } else {
4120
+ this.onBlockComplete?.(sbn, packetId, catalogTrackName);
4121
+ }
4122
+ return true;
4123
+ }
4019
4124
  /**
4020
4125
  * fec-01 4.5: a reed-solomon repair packet whose SSB_length + RSB_length
4021
4126
  * exceeds 255, or whose RS_ID is not below RSB_length, is discarded with the
@@ -4218,8 +4323,75 @@ var FECManager = class _FECManager {
4218
4323
  this.#completeCleanBlock(blockKey, sbn, packetId, catalogTrackName);
4219
4324
  return null;
4220
4325
  }
4326
+ if (recovered === null) this.#shortenUnrecoverableWait(blockKey, sbn, packetId, catalogTrackName);
4221
4327
  return recovered;
4222
4328
  }
4329
+ /**
4330
+ * A first-arrival multicast source, held or placed. A datagram flow keeps
4331
+ * its sources in send order, so one that moves the stream's newest source
4332
+ * position past a block leaves the sources that block still misses
4333
+ * reordered behind it at best: it shortens the wait of every block it
4334
+ * passed that only a late source can complete. MoQ is left out: its streams
4335
+ * can overtake one another, so a MoQ source shows nothing about the sources
4336
+ * sent before it.
4337
+ */
4338
+ #noteMulticastSource(locator, ssId, packetId, catalogTrackName) {
4339
+ const previous = locator.newestSource;
4340
+ if (!locator.noteSource(ssId) || previous === void 0) return;
4341
+ for (const block of locator.blocksBetween(previous - 1 >>> 0, ssId)) {
4342
+ if (block.span || !serial32Precedes(serial32Add(block.start, block.length - 1), ssId)) continue;
4343
+ this.#shortenUnrecoverableWait(
4344
+ this.#blockKey(block.start, packetId, catalogTrackName),
4345
+ block.start,
4346
+ packetId,
4347
+ catalogTrackName
4348
+ );
4349
+ }
4350
+ }
4351
+ /**
4352
+ * The wait of a block that only a late source can complete (BLO-52085): a
4353
+ * repair stated it, its received sources plus every symbol its repair group
4354
+ * carries (RSB_length) are short of K' (the repair scheduler's
4355
+ * group-cannot-complete), and a later source of the stream has arrived, so
4356
+ * a source it misses is lost or reordered behind that one. The span, which
4357
+ * covers repair symbols paced after its sources, buys it nothing: it waits
4358
+ * the late-symbol allowance alone, the multicast wait less the span (the
4359
+ * catalog tolerance or the measured delivery gap). Undefined for any other
4360
+ * block.
4361
+ */
4362
+ #lateSourceWaitMs(key, sbn, packetId, catalogTrackName, config) {
4363
+ const authoredLength = this.#blockAuthoredLengths.get(key);
4364
+ const rsbLength = this.#blockRsbLengths.get(key);
4365
+ if (authoredLength === void 0 || rsbLength === void 0) return void 0;
4366
+ let present = this.#blockSourceCounts.get(key) ?? 0;
4367
+ const received = this.#blockSourceEsis.get(key);
4368
+ for (const esi of this.#blockRebuiltEsis.get(key) ?? []) if (!received?.has(esi)) present++;
4369
+ if (present + rsbLength >= authoredLength) return void 0;
4370
+ const newestSource = this.#isoLocators.get(this.#streamKey(packetId, catalogTrackName))?.newestSource;
4371
+ if (newestSource === void 0 || !serial32Precedes(serial32Add(sbn, authoredLength - 1), newestSource)) {
4372
+ return void 0;
4373
+ }
4374
+ return this.#multicastWaitMs(config) - config.interleaveDepthMs;
4375
+ }
4376
+ /**
4377
+ * Bring an open block's wait in to its late-source wait, when it has one.
4378
+ * Never later than it is armed: only a source can complete such a block,
4379
+ * so a repair of its group (paced across the span) must not keep it open.
4380
+ */
4381
+ #shortenUnrecoverableWait(key, sbn, packetId, catalogTrackName) {
4382
+ if (!this.#activeBlocks.has(key)) return;
4383
+ const config = this.#trackConfigs.get(packetId);
4384
+ if (config === void 0) return;
4385
+ const waitMs = this.#lateSourceWaitMs(key, sbn, packetId, catalogTrackName, config);
4386
+ if (waitMs === void 0) return;
4387
+ const armedAtMs = this.#blockWaitDeadlinesMs.get(key);
4388
+ this.#armBlockTimeout(
4389
+ sbn,
4390
+ packetId,
4391
+ catalogTrackName,
4392
+ armedAtMs === void 0 ? waitMs : Math.min(waitMs, armedAtMs - this.#receiptNow())
4393
+ );
4394
+ }
4223
4395
  /**
4224
4396
  * Record a block's authored SSB_length from a repair symbol. Returns false,
4225
4397
  * leaving the block unchanged, when the symbol contradicts the block: a
@@ -4374,6 +4546,15 @@ var FECManager = class _FECManager {
4374
4546
  this.#completeCleanBlock(key, sbn, packetId, catalogTrackName);
4375
4547
  return;
4376
4548
  }
4549
+ if (this.#blockRebuiltEsis.has(key) && this.#completeWhenSourcesPresent(
4550
+ key,
4551
+ sbn,
4552
+ this.#isoLocatorFor(packetId, catalogTrackName).blockAt(sbn)?.length ?? authoredLength,
4553
+ packetId,
4554
+ catalogTrackName
4555
+ )) {
4556
+ return;
4557
+ }
4377
4558
  this.noteBlockActivity(sbn, packetId, catalogTrackName, true);
4378
4559
  }
4379
4560
  #completeCleanBlock(key, sbn, packetId, catalogTrackName) {
@@ -4382,6 +4563,7 @@ var FECManager = class _FECManager {
4382
4563
  this.cancelBlockTimeout(sbn, packetId, catalogTrackName);
4383
4564
  this.#blockSourceCounts.delete(key);
4384
4565
  this.#blockSourceEsis.delete(key);
4566
+ this.#blockRebuiltEsis.delete(key);
4385
4567
  this.#blockAuthoredLengths.delete(key);
4386
4568
  this.#blockRepairRsIds.delete(key);
4387
4569
  this.#blockRsbLengths.delete(key);
@@ -4448,7 +4630,16 @@ var FECManager = class _FECManager {
4448
4630
  this.#repairDeadlineMs(trackConfig)
4449
4631
  );
4450
4632
  }
4451
- this.#armBlockTimeout(sbn, packetId, catalogTrackName, timeoutMs);
4633
+ if (!sourceProgress && this.#lateSourceWaitMs(key, sbn, packetId, catalogTrackName, trackConfig) !== void 0) {
4634
+ this.#shortenUnrecoverableWait(key, sbn, packetId, catalogTrackName);
4635
+ return;
4636
+ }
4637
+ this.#armBlockTimeout(
4638
+ sbn,
4639
+ packetId,
4640
+ catalogTrackName,
4641
+ this.#lateSourceWaitMs(key, sbn, packetId, catalogTrackName, trackConfig) ?? timeoutMs
4642
+ );
4452
4643
  }
4453
4644
  #failBlock(sbn, packetId, catalogTrackName) {
4454
4645
  const key = this.#blockKey(sbn, packetId, catalogTrackName);
@@ -4461,6 +4652,7 @@ var FECManager = class _FECManager {
4461
4652
  }
4462
4653
  this.#blockSourceCounts.delete(key);
4463
4654
  this.#blockSourceEsis.delete(key);
4655
+ this.#blockRebuiltEsis.delete(key);
4464
4656
  this.#blockAuthoredLengths.delete(key);
4465
4657
  this.#blockRepairRsIds.delete(key);
4466
4658
  this.#blockRsbLengths.delete(key);
@@ -4499,6 +4691,7 @@ var FECManager = class _FECManager {
4499
4691
  this.#retireBlockClass(key, block.sbn, block.packetId, block.catalogTrackName);
4500
4692
  this.#blockSourceCounts.delete(key);
4501
4693
  this.#blockSourceEsis.delete(key);
4694
+ this.#blockRebuiltEsis.delete(key);
4502
4695
  this.#blockAuthoredLengths.delete(key);
4503
4696
  this.#blockRepairRsIds.delete(key);
4504
4697
  this.#blockRsbLengths.delete(key);
@@ -4590,6 +4783,7 @@ var FECManager = class _FECManager {
4590
4783
  this.#blockKeysBySbn.clear();
4591
4784
  this.#blockSourceCounts.clear();
4592
4785
  this.#blockSourceEsis.clear();
4786
+ this.#blockRebuiltEsis.clear();
4593
4787
  this.#blockAuthoredLengths.clear();
4594
4788
  this.#blockRepairRsIds.clear();
4595
4789
  this.#blockRsbLengths.clear();