@blockcast/mmt-container 1.0.0 → 1.0.1-main.9b9e6c5b9a9d
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 +12 -4
- package/dist/browser-runtime.js.map +2 -2
- package/dist/mmtp-container-parser.no-modules.js +2 -2
- package/dist/mmtp-container-parser.no-modules.js.map +2 -2
- package/dist/multicast-auth-catalog.d.ts.map +1 -1
- package/dist/multicast-auth-catalog.js +24 -18
- package/dist/multicast-auth-catalog.js.map +2 -2
- package/dist/multicast-manager.d.ts.map +1 -1
- package/dist/multicast-manager.js +2 -3
- package/dist/multicast-manager.js.map +2 -2
- package/dist/no-modules.js +2 -2
- package/dist/no-modules.js.map +2 -2
- package/dist/repair-fetch.d.ts +3 -1
- package/dist/repair-fetch.d.ts.map +1 -1
- package/dist/repair-fetch.js +10 -1
- package/dist/repair-fetch.js.map +2 -2
- package/package.json +5 -5
- package/src/multicast-auth-catalog.ts +22 -19
- package/src/multicast-manager.ts +0 -1
- package/src/repair-fetch.ts +27 -3
- package/test-vectors/bc-provenance-v2.json +614 -175
- package/test-vectors/generate-bc-provenance-v2.mjs +94 -14
package/README.md
CHANGED
|
@@ -275,7 +275,7 @@ per-commit `0.1.0-main.<sha>` prerelease from `stamp-prerelease.mjs`), and a
|
|
|
275
275
|
> Superseded by BLO-40665. Every package is now bumped in lockstep by a `v*`
|
|
276
276
|
> tag and the sibling ranges move with it, so the objection above no longer
|
|
277
277
|
> applies -- it was an argument against bumping *one* package. The set is at
|
|
278
|
-
> `1.0.
|
|
278
|
+
> `1.0.1`; see `RELEASES.md`.
|
|
279
279
|
|
|
280
280
|
#### Track-role convention (Phase 14)
|
|
281
281
|
|
package/dist/browser-runtime.js
CHANGED
|
@@ -24512,7 +24512,7 @@ function parseBcProvenanceV2Address(address) {
|
|
|
24512
24512
|
return parseIpv4(address);
|
|
24513
24513
|
}
|
|
24514
24514
|
function endpointBytes(endpoint) {
|
|
24515
|
-
if (!validPort(endpoint.port) || !
|
|
24515
|
+
if (!validPort(endpoint.port) || !validU32(endpoint.streamId)) {
|
|
24516
24516
|
throw new Error("invalid BCPV2 endpoint");
|
|
24517
24517
|
}
|
|
24518
24518
|
const source = parseBcProvenanceV2Address(endpoint.sourceAddress);
|
|
@@ -24572,7 +24572,7 @@ function bcProvenanceV2SignedMessage(record, endpoint) {
|
|
|
24572
24572
|
offset += source.byteLength;
|
|
24573
24573
|
prefix.set(group, offset);
|
|
24574
24574
|
offset += group.byteLength;
|
|
24575
|
-
prefix.set(u16(endpoint.
|
|
24575
|
+
prefix.set(u16(endpoint.port), offset);
|
|
24576
24576
|
const message = new Uint8Array(prefix.byteLength + record.body.byteLength);
|
|
24577
24577
|
message.set(prefix);
|
|
24578
24578
|
message.set(record.body, prefix.byteLength);
|
|
@@ -27646,7 +27646,6 @@ var MulticastManager = class {
|
|
|
27646
27646
|
sourceAddress: flow.source,
|
|
27647
27647
|
groupAddress: flow.groupAddress,
|
|
27648
27648
|
port: flow.port,
|
|
27649
|
-
manifestPort: flow.manifestPort,
|
|
27650
27649
|
streamId: flow.streamId
|
|
27651
27650
|
},
|
|
27652
27651
|
keys: auth.keys,
|
|
@@ -30982,6 +30981,9 @@ function wireRepairFetch(mc, opts) {
|
|
|
30982
30981
|
};
|
|
30983
30982
|
const moot = (entry) => {
|
|
30984
30983
|
if (entry.priority !== 0) return false;
|
|
30984
|
+
const rttMs = readRtt();
|
|
30985
|
+
const sentAt = entry.running?.sentAt ?? performance.now();
|
|
30986
|
+
if (rttMs !== null && sentAt + rttMs < entry.playoutDeadlineAt) return false;
|
|
30985
30987
|
const last = lastSsId(entry);
|
|
30986
30988
|
if (last === void 0) return false;
|
|
30987
30989
|
try {
|
|
@@ -31076,7 +31078,7 @@ function wireRepairFetch(mc, opts) {
|
|
|
31076
31078
|
bound: entry.bound,
|
|
31077
31079
|
...entry.range ? { range: true } : {}
|
|
31078
31080
|
});
|
|
31079
|
-
const run = { controller: new AbortController(), stopped: null };
|
|
31081
|
+
const run = { controller: new AbortController(), sentAt: now, stopped: null };
|
|
31080
31082
|
entry.running = run;
|
|
31081
31083
|
if (!entry.range) {
|
|
31082
31084
|
mc.fecManager.holdBlockForRepair(
|
|
@@ -31235,6 +31237,10 @@ function wireRepairFetch(mc, opts) {
|
|
|
31235
31237
|
);
|
|
31236
31238
|
if (promotedDeadline !== null && promotedDeadline.deadlineAt > entry2.deadlineAt) {
|
|
31237
31239
|
entry2.deadlineAt = promotedDeadline.deadlineAt;
|
|
31240
|
+
entry2.playoutDeadlineAt = Math.max(
|
|
31241
|
+
entry2.playoutDeadlineAt,
|
|
31242
|
+
promotedDeadline.deadlineAt - promotedDeadline.extensionMs
|
|
31243
|
+
);
|
|
31238
31244
|
entry2.anchorAt = promotedDeadline.anchorAt;
|
|
31239
31245
|
entry2.delayMs = promotedDeadline.delayMs;
|
|
31240
31246
|
entry2.bound = promotedDeadline.bound;
|
|
@@ -31366,6 +31372,7 @@ function wireRepairFetch(mc, opts) {
|
|
|
31366
31372
|
priority,
|
|
31367
31373
|
subscriberPriority: wire.subscriberPriority,
|
|
31368
31374
|
deadlineAt: deadline.deadlineAt,
|
|
31375
|
+
playoutDeadlineAt: deadline.deadlineAt - deadline.extensionMs,
|
|
31369
31376
|
anchorAt: deadline.anchorAt,
|
|
31370
31377
|
delayMs: deadline.delayMs,
|
|
31371
31378
|
bound: deadline.bound,
|
|
@@ -31435,6 +31442,7 @@ function wireRepairFetch(mc, opts) {
|
|
|
31435
31442
|
priority,
|
|
31436
31443
|
subscriberPriority: wire.subscriberPriority,
|
|
31437
31444
|
deadlineAt: deadline.deadlineAt,
|
|
31445
|
+
playoutDeadlineAt: deadline.deadlineAt - deadline.extensionMs,
|
|
31438
31446
|
anchorAt: deadline.anchorAt,
|
|
31439
31447
|
delayMs: deadline.delayMs,
|
|
31440
31448
|
bound: deadline.bound,
|