@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.
- package/README.md +1 -1
- package/dist/browser-runtime.js +141 -22
- package/dist/browser-runtime.js.map +2 -2
- package/dist/delivery-catalog.js +3 -0
- package/dist/delivery-catalog.js.map +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +2 -2
- package/dist/mmtp-container-parser.no-modules.js +19 -10
- package/dist/mmtp-container-parser.no-modules.js.map +2 -2
- package/dist/mmtp-router.d.ts +26 -1
- package/dist/mmtp-router.d.ts.map +1 -1
- package/dist/mmtp-router.js +66 -1
- package/dist/mmtp-router.js.map +2 -2
- package/dist/multicast-manager.d.ts +4 -1
- package/dist/multicast-manager.d.ts.map +1 -1
- package/dist/multicast-manager.js +141 -22
- package/dist/multicast-manager.js.map +2 -2
- package/dist/multicast-transport.d.ts +8 -1
- package/dist/multicast-transport.d.ts.map +1 -1
- package/dist/multicast-transport.js +93 -2
- package/dist/multicast-transport.js.map +4 -4
- package/dist/no-modules.js +19 -10
- package/dist/no-modules.js.map +2 -2
- package/package.json +5 -5
- package/src/index.ts +1 -0
- package/src/mmtp-router.ts +80 -1
- package/src/multicast-manager.ts +52 -16
- package/src/multicast-transport.ts +43 -4
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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) *
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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) {
|