@blockcast/mmt-container 0.1.0 → 0.3.0-main.ef68de90edb3
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 +524 -0
- package/dist/.build-stamp +0 -0
- package/dist/__tests__/test-utils.d.ts +71 -0
- package/dist/__tests__/test-utils.d.ts.map +1 -0
- package/dist/align.d.ts +152 -0
- package/dist/align.d.ts.map +1 -0
- package/dist/align.js +88 -0
- package/dist/align.js.map +7 -0
- package/dist/audio-init-parser.d.ts +66 -0
- package/dist/audio-init-parser.d.ts.map +1 -0
- package/dist/audio-init-parser.js +118 -0
- package/dist/audio-init-parser.js.map +7 -0
- package/dist/audio-ring-buffer.d.ts +50 -0
- package/dist/audio-ring-buffer.d.ts.map +1 -0
- package/dist/audio-ring-buffer.js +80 -0
- package/dist/audio-ring-buffer.js.map +7 -0
- package/dist/authored-timing.d.ts +32 -0
- package/dist/authored-timing.d.ts.map +1 -0
- package/dist/authored-timing.js +32 -0
- package/dist/authored-timing.js.map +7 -0
- package/dist/block-policy.d.ts +314 -0
- package/dist/block-policy.d.ts.map +1 -0
- package/dist/block-policy.js +466 -0
- package/dist/block-policy.js.map +7 -0
- package/dist/browser-runtime.js +26549 -0
- package/dist/browser-runtime.js.map +7 -0
- package/dist/carp-catalog.d.ts +429 -0
- package/dist/carp-catalog.d.ts.map +1 -0
- package/dist/carp-catalog.js +985 -0
- package/dist/carp-catalog.js.map +7 -0
- package/dist/catalog-fec-params.d.ts +275 -0
- package/dist/catalog-fec-params.d.ts.map +1 -0
- package/dist/catalog-fec-params.js +702 -0
- package/dist/catalog-fec-params.js.map +7 -0
- package/dist/catalog-network-source.d.ts +42 -0
- package/dist/catalog-network-source.d.ts.map +1 -0
- package/dist/catalog-network-source.js +47 -0
- package/dist/catalog-network-source.js.map +7 -0
- package/dist/catalog-validator.d.ts +18 -0
- package/dist/catalog-validator.d.ts.map +1 -0
- package/dist/catalog-validator.js +7747 -0
- package/dist/catalog-validator.js.map +7 -0
- package/dist/cmaf-block-assembler.d.ts +285 -0
- package/dist/cmaf-block-assembler.d.ts.map +1 -0
- package/dist/cmaf-block-assembler.js +1966 -0
- package/dist/cmaf-block-assembler.js.map +7 -0
- package/dist/cmaf-group-batcher.d.ts +38 -0
- package/dist/cmaf-group-batcher.d.ts.map +1 -0
- package/dist/cmaf-group-batcher.js +176 -0
- package/dist/cmaf-group-batcher.js.map +7 -0
- package/dist/cmcd-producer.d.ts +104 -0
- package/dist/cmcd-producer.d.ts.map +1 -0
- package/dist/cmcd-producer.js +183 -0
- package/dist/cmcd-producer.js.map +7 -0
- package/dist/codec-utils.d.ts +384 -0
- package/dist/codec-utils.d.ts.map +1 -0
- package/dist/codec-utils.js +1546 -0
- package/dist/codec-utils.js.map +7 -0
- package/dist/conceal-timeline.d.ts +146 -0
- package/dist/conceal-timeline.d.ts.map +1 -0
- package/dist/conceal-timeline.js +137 -0
- package/dist/conceal-timeline.js.map +7 -0
- package/dist/delivery-gap.d.ts +75 -0
- package/dist/delivery-gap.d.ts.map +1 -0
- package/dist/delivery-gap.js +88 -0
- package/dist/delivery-gap.js.map +7 -0
- package/dist/duplicate-ledger.d.ts +197 -0
- package/dist/duplicate-ledger.d.ts.map +1 -0
- package/dist/duplicate-ledger.js +226 -0
- package/dist/duplicate-ledger.js.map +7 -0
- package/dist/fec-codec.d.ts +32 -0
- package/dist/fec-codec.d.ts.map +1 -0
- package/dist/fec-codec.js +47 -0
- package/dist/fec-codec.js.map +7 -0
- package/dist/fec-manager.d.ts +583 -0
- package/dist/fec-manager.d.ts.map +1 -0
- package/dist/fec-manager.js +3899 -0
- package/dist/fec-manager.js.map +7 -0
- package/dist/fec-starvation-detector.d.ts +59 -0
- package/dist/fec-starvation-detector.d.ts.map +1 -0
- package/dist/fec-starvation-detector.js +60 -0
- package/dist/fec-starvation-detector.js.map +7 -0
- package/dist/fec-state.d.ts +131 -0
- package/dist/fec-state.d.ts.map +1 -0
- package/dist/fec-state.js +87 -0
- package/dist/fec-state.js.map +7 -0
- package/dist/fec-worker-setup.d.ts +94 -0
- package/dist/fec-worker-setup.d.ts.map +1 -0
- package/dist/fec-worker-setup.js +673 -0
- package/dist/fec-worker-setup.js.map +7 -0
- package/dist/fmp4-completion.d.ts +30 -0
- package/dist/fmp4-completion.d.ts.map +1 -0
- package/dist/fmp4-completion.js +21 -0
- package/dist/fmp4-completion.js.map +7 -0
- package/dist/fmp4-reader.d.ts +37 -0
- package/dist/fmp4-reader.d.ts.map +1 -0
- package/dist/fmp4-reader.js +100 -0
- package/dist/fmp4-reader.js.map +7 -0
- package/dist/index.d.ts +44 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +460 -14
- package/dist/index.js.map +7 -1
- package/dist/iso-block-locator.d.ts +118 -0
- package/dist/iso-block-locator.d.ts.map +1 -0
- package/dist/iso-block-locator.js +289 -0
- package/dist/iso-block-locator.js.map +7 -0
- package/dist/iso-bmff-timing.d.ts +78 -0
- package/dist/iso-bmff-timing.d.ts.map +1 -0
- package/dist/iso-bmff-timing.js +593 -0
- package/dist/iso-bmff-timing.js.map +7 -0
- package/dist/loc.d.ts +70 -75
- package/dist/loc.d.ts.map +1 -1
- package/dist/loc.js +106 -192
- package/dist/loc.js.map +7 -1
- package/dist/manifest-auth-plan.d.ts +30 -0
- package/dist/manifest-auth-plan.d.ts.map +1 -0
- package/dist/manifest-auth-plan.js +1266 -0
- package/dist/manifest-auth-plan.js.map +7 -0
- package/dist/media-router.d.ts +262 -0
- package/dist/media-router.d.ts.map +1 -0
- package/dist/media-router.js +584 -0
- package/dist/media-router.js.map +7 -0
- package/dist/mfu-reassembler.d.ts +313 -9
- package/dist/mfu-reassembler.d.ts.map +1 -1
- package/dist/mfu-reassembler.js +3051 -285
- package/dist/mfu-reassembler.js.map +7 -1
- package/dist/mfu-reassembly-policy.d.ts +24 -0
- package/dist/mfu-reassembly-policy.d.ts.map +1 -0
- package/dist/mfu-reassembly-policy.js +99 -0
- package/dist/mfu-reassembly-policy.js.map +7 -0
- package/dist/mmtp-container-parser.d.ts +568 -0
- package/dist/mmtp-container-parser.d.ts.map +1 -0
- package/dist/mmtp-container-parser.js +6580 -0
- package/dist/mmtp-container-parser.js.map +7 -0
- package/dist/mmtp-container-parser.no-modules.js +9616 -0
- package/dist/mmtp-container-parser.no-modules.js.map +7 -0
- package/dist/mmtp-decode-pipeline.d.ts +138 -0
- package/dist/mmtp-decode-pipeline.d.ts.map +1 -0
- package/dist/mmtp-decode-pipeline.js +6814 -0
- package/dist/mmtp-decode-pipeline.js.map +7 -0
- package/dist/mmtp-router.d.ts +679 -0
- package/dist/mmtp-router.d.ts.map +1 -0
- package/dist/mmtp-router.js +11278 -0
- package/dist/mmtp-router.js.map +7 -0
- package/dist/mmtp-to-cmaf.d.ts +187 -0
- package/dist/mmtp-to-cmaf.d.ts.map +1 -0
- package/dist/mmtp-to-cmaf.js +716 -0
- package/dist/mmtp-to-cmaf.js.map +7 -0
- package/dist/multicast-auth-catalog.d.ts +115 -0
- package/dist/multicast-auth-catalog.d.ts.map +1 -0
- package/dist/multicast-auth-catalog.js +202 -0
- package/dist/multicast-auth-catalog.js.map +7 -0
- package/dist/multicast-input.d.ts +141 -0
- package/dist/multicast-input.d.ts.map +1 -0
- package/dist/multicast-input.js +390 -0
- package/dist/multicast-input.js.map +7 -0
- package/dist/multicast-manager.d.ts +669 -0
- package/dist/multicast-manager.d.ts.map +1 -0
- package/dist/multicast-manager.js +19101 -0
- package/dist/multicast-manager.js.map +7 -0
- package/dist/multicast-transport.d.ts +271 -0
- package/dist/multicast-transport.d.ts.map +1 -0
- package/dist/multicast-transport.js +2264 -0
- package/dist/multicast-transport.js.map +7 -0
- package/dist/multicast-unwrap.d.ts +57 -0
- package/dist/multicast-unwrap.d.ts.map +1 -0
- package/dist/multicast-unwrap.js +418 -0
- package/dist/multicast-unwrap.js.map +7 -0
- package/dist/no-modules.d.ts +10 -0
- package/dist/no-modules.d.ts.map +1 -0
- package/dist/no-modules.js +9491 -0
- package/dist/no-modules.js.map +7 -0
- package/dist/phase14-catalog-override.d.ts +126 -0
- package/dist/phase14-catalog-override.d.ts.map +1 -0
- package/dist/phase14-catalog-override.js +155 -0
- package/dist/phase14-catalog-override.js.map +7 -0
- package/dist/repair-fetch.d.ts +270 -0
- package/dist/repair-fetch.d.ts.map +1 -0
- package/dist/repair-fetch.js +381 -0
- package/dist/repair-fetch.js.map +7 -0
- package/dist/repair-layers.d.ts +158 -0
- package/dist/repair-layers.d.ts.map +1 -0
- package/dist/repair-layers.js +344 -0
- package/dist/repair-layers.js.map +7 -0
- package/dist/sample-combiner.d.ts +212 -0
- package/dist/sample-combiner.d.ts.map +1 -0
- package/dist/sample-combiner.js +595 -0
- package/dist/sample-combiner.js.map +7 -0
- package/dist/signaling.d.ts +29 -0
- package/dist/signaling.d.ts.map +1 -0
- package/dist/signaling.js +572 -0
- package/dist/signaling.js.map +7 -0
- package/dist/source-auth.d.ts +2 -0
- package/dist/source-auth.d.ts.map +1 -0
- package/dist/source-auth.js +1209 -0
- package/dist/source-auth.js.map +7 -0
- package/dist/switching-set-alignment.d.ts +61 -0
- package/dist/switching-set-alignment.d.ts.map +1 -0
- package/dist/switching-set-alignment.js +70 -0
- package/dist/switching-set-alignment.js.map +7 -0
- package/dist/timestamp-codec.d.ts +34 -0
- package/dist/timestamp-codec.d.ts.map +1 -0
- package/dist/timestamp-codec.js +473 -0
- package/dist/timestamp-codec.js.map +7 -0
- package/dist/track-pipeline-setup.d.ts +83 -0
- package/dist/track-pipeline-setup.d.ts.map +1 -0
- package/dist/track-pipeline-setup.js +291 -0
- package/dist/track-pipeline-setup.js.map +7 -0
- package/dist/track-pipeline.d.ts +121 -0
- package/dist/track-pipeline.d.ts.map +1 -0
- package/dist/track-pipeline.js +209 -0
- package/dist/track-pipeline.js.map +7 -0
- package/dist/track-session.d.ts +414 -0
- package/dist/track-session.d.ts.map +1 -0
- package/dist/track-session.js +754 -0
- package/dist/track-session.js.map +7 -0
- package/dist/transport-pool.d.ts +69 -0
- package/dist/transport-pool.d.ts.map +1 -0
- package/dist/transport-pool.js +74 -0
- package/dist/transport-pool.js.map +7 -0
- package/dist/wasm-mfu-reassembler.d.ts +97 -0
- package/dist/wasm-mfu-reassembler.d.ts.map +1 -0
- package/dist/wasm-mfu-reassembler.js +2133 -0
- package/dist/wasm-mfu-reassembler.js.map +7 -0
- package/dist/wasm-mmtp-container-parser.d.ts +10 -0
- package/dist/wasm-mmtp-container-parser.d.ts.map +1 -0
- package/dist/wasm-mmtp-container-parser.js +6834 -0
- package/dist/wasm-mmtp-container-parser.js.map +7 -0
- package/node_modules/@blockcast/fec-worker/README.md +223 -0
- package/node_modules/@blockcast/fec-worker/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts +38 -0
- package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/block-order.js +78 -0
- package/node_modules/@blockcast/fec-worker/dist/block-order.js.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts +93 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js +346 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts +380 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js +11 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts +14 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker.js +859 -0
- package/node_modules/@blockcast/fec-worker/dist/fec-worker.js.map +7 -0
- package/node_modules/@blockcast/fec-worker/dist/index.d.ts +10 -0
- package/node_modules/@blockcast/fec-worker/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/index.js +8 -0
- package/node_modules/@blockcast/fec-worker/dist/index.js.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts +20 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js +370 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js.map +7 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts +104 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js +181 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts +194 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js +62 -0
- package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts +9 -0
- package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts.map +1 -0
- package/node_modules/@blockcast/fec-worker/dist/transfer.js +13 -0
- package/node_modules/@blockcast/fec-worker/dist/transfer.js.map +1 -0
- package/node_modules/@blockcast/fec-worker/package.json +59 -0
- package/node_modules/@blockcast/fec-worker/src/block-order.ts +93 -0
- package/node_modules/@blockcast/fec-worker/src/fec-worker-client.ts +392 -0
- package/node_modules/@blockcast/fec-worker/src/fec-worker-types.ts +399 -0
- package/node_modules/@blockcast/fec-worker/src/fec-worker.ts +1502 -0
- package/node_modules/@blockcast/fec-worker/src/index.ts +35 -0
- package/node_modules/@blockcast/fec-worker/src/shred-fec-worker.ts +589 -0
- package/node_modules/@blockcast/fec-worker/src/shred-worker-client.ts +222 -0
- package/node_modules/@blockcast/fec-worker/src/shred-worker-types.ts +209 -0
- package/node_modules/@blockcast/fec-worker/src/transfer.ts +12 -0
- package/node_modules/@blockcast/mmt-alta-parse/README.md +181 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +57 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/index.js +115 -0
- package/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +1 -0
- package/node_modules/@blockcast/mmt-alta-parse/package.json +50 -0
- package/node_modules/@blockcast/mmt-alta-parse/src/index.ts +136 -0
- package/node_modules/@blockcast/mmt-base/README.md +134 -0
- package/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +55 -0
- package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +128 -0
- package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/index.d.ts +7 -0
- package/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/index.js +7 -0
- package/node_modules/@blockcast/mmt-base/dist/index.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +292 -0
- package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/mmtp.js +612 -0
- package/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +18 -0
- package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/net-constants.js +18 -0
- package/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +47 -0
- package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/ntp-short.js +54 -0
- package/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +57 -0
- package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/serial-number.js +98 -0
- package/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +312 -0
- package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-base/dist/signalling.js +637 -0
- package/node_modules/@blockcast/mmt-base/dist/signalling.js.map +1 -0
- package/node_modules/@blockcast/mmt-base/package.json +49 -0
- package/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +145 -0
- package/node_modules/@blockcast/mmt-base/src/index.ts +6 -0
- package/node_modules/@blockcast/mmt-base/src/mmtp.ts +892 -0
- package/node_modules/@blockcast/mmt-base/src/net-constants.ts +17 -0
- package/node_modules/@blockcast/mmt-base/src/ntp-short.ts +67 -0
- package/node_modules/@blockcast/mmt-base/src/serial-number.ts +107 -0
- package/node_modules/@blockcast/mmt-base/src/signalling.ts +862 -0
- package/node_modules/@blockcast/mmt-fec/README.md +271 -0
- package/node_modules/@blockcast/mmt-fec/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts +82 -0
- package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/block-manager.js +296 -0
- package/node_modules/@blockcast/mmt-fec/dist/block-manager.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts +106 -0
- package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/block-processor.js +288 -0
- package/node_modules/@blockcast/mmt-fec/dist/block-processor.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts +46 -0
- package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js +96 -0
- package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts +33 -0
- package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js +57 -0
- package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts +205 -0
- package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js +240 -0
- package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/index.d.ts +28 -0
- package/node_modules/@blockcast/mmt-fec/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/index.js +28 -0
- package/node_modules/@blockcast/mmt-fec/dist/index.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts +20 -0
- package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js +28 -0
- package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts +258 -0
- package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/oti.js +382 -0
- package/node_modules/@blockcast/mmt-fec/dist/oti.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts +41 -0
- package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js +81 -0
- package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts +82 -0
- package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/dist/repair-group.js +170 -0
- package/node_modules/@blockcast/mmt-fec/dist/repair-group.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/README.md +181 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +57 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js +115 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/package.json +50 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/src/index.ts +136 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/README.md +134 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +55 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +128 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts +7 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js +7 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +292 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js +612 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +18 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js +18 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +47 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js +54 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +57 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js +98 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +312 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js +637 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js.map +1 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/package.json +49 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +145 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/index.ts +6 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/mmtp.ts +892 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/net-constants.ts +17 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/ntp-short.ts +67 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/serial-number.ts +107 -0
- package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/signalling.ts +862 -0
- package/node_modules/@blockcast/mmt-fec/package.json +79 -0
- package/node_modules/@blockcast/mmt-fec/src/block-manager.ts +371 -0
- package/node_modules/@blockcast/mmt-fec/src/block-processor.ts +439 -0
- package/node_modules/@blockcast/mmt-fec/src/cmaf-recovery.ts +127 -0
- package/node_modules/@blockcast/mmt-fec/src/cmaf-symbols.ts +68 -0
- package/node_modules/@blockcast/mmt-fec/src/fec-block-mapper.ts +310 -0
- package/node_modules/@blockcast/mmt-fec/src/index.ts +94 -0
- package/node_modules/@blockcast/mmt-fec/src/loc-symbols.ts +34 -0
- package/node_modules/@blockcast/mmt-fec/src/oti.ts +463 -0
- package/node_modules/@blockcast/mmt-fec/src/reorder-buffer.ts +101 -0
- package/node_modules/@blockcast/mmt-fec/src/repair-group.ts +195 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/.build-stamp +0 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts +28 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js +128 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js.map +1 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts +4 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js +4 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js.map +1 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts +37 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js +179 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js.map +1 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts +99 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts.map +1 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js +492 -0
- package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js.map +1 -0
- package/node_modules/@blockcast/mmt-manifest-verify/package.json +45 -0
- package/node_modules/@blockcast/mmt-manifest-verify/src/admission.ts +171 -0
- package/node_modules/@blockcast/mmt-manifest-verify/src/index.ts +3 -0
- package/node_modules/@blockcast/mmt-manifest-verify/src/source-auth.ts +230 -0
- package/node_modules/@blockcast/mmt-manifest-verify/src/verifier.ts +669 -0
- package/node_modules/@noble/hashes/LICENSE +21 -0
- package/node_modules/@noble/hashes/README.md +521 -0
- package/node_modules/@noble/hashes/_assert.d.ts +17 -0
- package/node_modules/@noble/hashes/_assert.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_assert.js +18 -0
- package/node_modules/@noble/hashes/_assert.js.map +1 -0
- package/node_modules/@noble/hashes/_blake.d.ts +14 -0
- package/node_modules/@noble/hashes/_blake.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_blake.js +50 -0
- package/node_modules/@noble/hashes/_blake.js.map +1 -0
- package/node_modules/@noble/hashes/_md.d.ts +51 -0
- package/node_modules/@noble/hashes/_md.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_md.js +162 -0
- package/node_modules/@noble/hashes/_md.js.map +1 -0
- package/node_modules/@noble/hashes/_u64.d.ts +55 -0
- package/node_modules/@noble/hashes/_u64.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_u64.js +90 -0
- package/node_modules/@noble/hashes/_u64.js.map +1 -0
- package/node_modules/@noble/hashes/argon2.d.ts +32 -0
- package/node_modules/@noble/hashes/argon2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/argon2.js +401 -0
- package/node_modules/@noble/hashes/argon2.js.map +1 -0
- package/node_modules/@noble/hashes/blake1.d.ts +106 -0
- package/node_modules/@noble/hashes/blake1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake1.js +459 -0
- package/node_modules/@noble/hashes/blake1.js.map +1 -0
- package/node_modules/@noble/hashes/blake2.d.ts +116 -0
- package/node_modules/@noble/hashes/blake2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake2.js +420 -0
- package/node_modules/@noble/hashes/blake2.js.map +1 -0
- package/node_modules/@noble/hashes/blake2b.d.ts +11 -0
- package/node_modules/@noble/hashes/blake2b.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake2b.js +14 -0
- package/node_modules/@noble/hashes/blake2b.js.map +1 -0
- package/node_modules/@noble/hashes/blake2s.d.ts +20 -0
- package/node_modules/@noble/hashes/blake2s.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake2s.js +24 -0
- package/node_modules/@noble/hashes/blake2s.js.map +1 -0
- package/node_modules/@noble/hashes/blake3.d.ts +54 -0
- package/node_modules/@noble/hashes/blake3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake3.js +255 -0
- package/node_modules/@noble/hashes/blake3.js.map +1 -0
- package/node_modules/@noble/hashes/crypto.d.ts +2 -0
- package/node_modules/@noble/hashes/crypto.d.ts.map +1 -0
- package/node_modules/@noble/hashes/crypto.js +5 -0
- package/node_modules/@noble/hashes/crypto.js.map +1 -0
- package/node_modules/@noble/hashes/cryptoNode.d.ts +2 -0
- package/node_modules/@noble/hashes/cryptoNode.d.ts.map +1 -0
- package/node_modules/@noble/hashes/cryptoNode.js +18 -0
- package/node_modules/@noble/hashes/cryptoNode.js.map +1 -0
- package/node_modules/@noble/hashes/eskdf.d.ts +47 -0
- package/node_modules/@noble/hashes/eskdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/eskdf.js +166 -0
- package/node_modules/@noble/hashes/eskdf.js.map +1 -0
- package/node_modules/@noble/hashes/esm/_assert.d.ts +17 -0
- package/node_modules/@noble/hashes/esm/_assert.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/_assert.js +15 -0
- package/node_modules/@noble/hashes/esm/_assert.js.map +1 -0
- package/node_modules/@noble/hashes/esm/_blake.d.ts +14 -0
- package/node_modules/@noble/hashes/esm/_blake.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/_blake.js +45 -0
- package/node_modules/@noble/hashes/esm/_blake.js.map +1 -0
- package/node_modules/@noble/hashes/esm/_md.d.ts +51 -0
- package/node_modules/@noble/hashes/esm/_md.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/_md.js +155 -0
- package/node_modules/@noble/hashes/esm/_md.js.map +1 -0
- package/node_modules/@noble/hashes/esm/_u64.d.ts +55 -0
- package/node_modules/@noble/hashes/esm/_u64.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/_u64.js +67 -0
- package/node_modules/@noble/hashes/esm/_u64.js.map +1 -0
- package/node_modules/@noble/hashes/esm/argon2.d.ts +32 -0
- package/node_modules/@noble/hashes/esm/argon2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/argon2.js +392 -0
- package/node_modules/@noble/hashes/esm/argon2.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake1.d.ts +106 -0
- package/node_modules/@noble/hashes/esm/blake1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake1.js +452 -0
- package/node_modules/@noble/hashes/esm/blake1.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2.d.ts +116 -0
- package/node_modules/@noble/hashes/esm/blake2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2.js +413 -0
- package/node_modules/@noble/hashes/esm/blake2.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2b.d.ts +11 -0
- package/node_modules/@noble/hashes/esm/blake2b.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2b.js +11 -0
- package/node_modules/@noble/hashes/esm/blake2b.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2s.d.ts +20 -0
- package/node_modules/@noble/hashes/esm/blake2s.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2s.js +21 -0
- package/node_modules/@noble/hashes/esm/blake2s.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake3.d.ts +54 -0
- package/node_modules/@noble/hashes/esm/blake3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake3.js +251 -0
- package/node_modules/@noble/hashes/esm/blake3.js.map +1 -0
- package/node_modules/@noble/hashes/esm/crypto.d.ts +2 -0
- package/node_modules/@noble/hashes/esm/crypto.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/crypto.js +2 -0
- package/node_modules/@noble/hashes/esm/crypto.js.map +1 -0
- package/node_modules/@noble/hashes/esm/cryptoNode.d.ts +2 -0
- package/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/cryptoNode.js +15 -0
- package/node_modules/@noble/hashes/esm/cryptoNode.js.map +1 -0
- package/node_modules/@noble/hashes/esm/eskdf.d.ts +47 -0
- package/node_modules/@noble/hashes/esm/eskdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/eskdf.js +160 -0
- package/node_modules/@noble/hashes/esm/eskdf.js.map +1 -0
- package/node_modules/@noble/hashes/esm/hkdf.d.ts +36 -0
- package/node_modules/@noble/hashes/esm/hkdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/hkdf.js +82 -0
- package/node_modules/@noble/hashes/esm/hkdf.js.map +1 -0
- package/node_modules/@noble/hashes/esm/hmac.d.ts +35 -0
- package/node_modules/@noble/hashes/esm/hmac.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/hmac.js +86 -0
- package/node_modules/@noble/hashes/esm/hmac.js.map +1 -0
- package/node_modules/@noble/hashes/esm/index.d.ts +2 -0
- package/node_modules/@noble/hashes/esm/index.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/index.js +33 -0
- package/node_modules/@noble/hashes/esm/index.js.map +1 -0
- package/node_modules/@noble/hashes/esm/legacy.d.ts +71 -0
- package/node_modules/@noble/hashes/esm/legacy.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/legacy.js +281 -0
- package/node_modules/@noble/hashes/esm/legacy.js.map +1 -0
- package/node_modules/@noble/hashes/esm/package.json +10 -0
- package/node_modules/@noble/hashes/esm/pbkdf2.d.ts +23 -0
- package/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/pbkdf2.js +97 -0
- package/node_modules/@noble/hashes/esm/pbkdf2.js.map +1 -0
- package/node_modules/@noble/hashes/esm/ripemd160.d.ts +13 -0
- package/node_modules/@noble/hashes/esm/ripemd160.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/ripemd160.js +13 -0
- package/node_modules/@noble/hashes/esm/ripemd160.js.map +1 -0
- package/node_modules/@noble/hashes/esm/scrypt.d.ts +34 -0
- package/node_modules/@noble/hashes/esm/scrypt.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/scrypt.js +228 -0
- package/node_modules/@noble/hashes/esm/scrypt.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha1.d.ts +11 -0
- package/node_modules/@noble/hashes/esm/sha1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha1.js +11 -0
- package/node_modules/@noble/hashes/esm/sha1.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha2.d.ts +159 -0
- package/node_modules/@noble/hashes/esm/sha2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha2.js +375 -0
- package/node_modules/@noble/hashes/esm/sha2.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha256.d.ts +20 -0
- package/node_modules/@noble/hashes/esm/sha256.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha256.js +20 -0
- package/node_modules/@noble/hashes/esm/sha256.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha3-addons.d.ts +142 -0
- package/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha3-addons.js +393 -0
- package/node_modules/@noble/hashes/esm/sha3-addons.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha3.d.ts +53 -0
- package/node_modules/@noble/hashes/esm/sha3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha3.js +234 -0
- package/node_modules/@noble/hashes/esm/sha3.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha512.d.ts +26 -0
- package/node_modules/@noble/hashes/esm/sha512.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha512.js +26 -0
- package/node_modules/@noble/hashes/esm/sha512.js.map +1 -0
- package/node_modules/@noble/hashes/esm/utils.d.ts +161 -0
- package/node_modules/@noble/hashes/esm/utils.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/utils.js +281 -0
- package/node_modules/@noble/hashes/esm/utils.js.map +1 -0
- package/node_modules/@noble/hashes/hkdf.d.ts +36 -0
- package/node_modules/@noble/hashes/hkdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/hkdf.js +88 -0
- package/node_modules/@noble/hashes/hkdf.js.map +1 -0
- package/node_modules/@noble/hashes/hmac.d.ts +35 -0
- package/node_modules/@noble/hashes/hmac.d.ts.map +1 -0
- package/node_modules/@noble/hashes/hmac.js +91 -0
- package/node_modules/@noble/hashes/hmac.js.map +1 -0
- package/node_modules/@noble/hashes/index.d.ts +1 -0
- package/node_modules/@noble/hashes/index.d.ts.map +1 -0
- package/node_modules/@noble/hashes/index.js +33 -0
- package/node_modules/@noble/hashes/index.js.map +1 -0
- package/node_modules/@noble/hashes/legacy.d.ts +71 -0
- package/node_modules/@noble/hashes/legacy.d.ts.map +1 -0
- package/node_modules/@noble/hashes/legacy.js +287 -0
- package/node_modules/@noble/hashes/legacy.js.map +1 -0
- package/node_modules/@noble/hashes/package.json +266 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts +23 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/pbkdf2.js +101 -0
- package/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
- package/node_modules/@noble/hashes/ripemd160.d.ts +13 -0
- package/node_modules/@noble/hashes/ripemd160.d.ts.map +1 -0
- package/node_modules/@noble/hashes/ripemd160.js +16 -0
- package/node_modules/@noble/hashes/ripemd160.js.map +1 -0
- package/node_modules/@noble/hashes/scrypt.d.ts +34 -0
- package/node_modules/@noble/hashes/scrypt.d.ts.map +1 -0
- package/node_modules/@noble/hashes/scrypt.js +232 -0
- package/node_modules/@noble/hashes/scrypt.js.map +1 -0
- package/node_modules/@noble/hashes/sha1.d.ts +11 -0
- package/node_modules/@noble/hashes/sha1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha1.js +14 -0
- package/node_modules/@noble/hashes/sha1.js.map +1 -0
- package/node_modules/@noble/hashes/sha2.d.ts +159 -0
- package/node_modules/@noble/hashes/sha2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha2.js +384 -0
- package/node_modules/@noble/hashes/sha2.js.map +1 -0
- package/node_modules/@noble/hashes/sha256.d.ts +20 -0
- package/node_modules/@noble/hashes/sha256.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha256.js +23 -0
- package/node_modules/@noble/hashes/sha256.js.map +1 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts +142 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha3-addons.js +402 -0
- package/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
- package/node_modules/@noble/hashes/sha3.d.ts +53 -0
- package/node_modules/@noble/hashes/sha3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha3.js +239 -0
- package/node_modules/@noble/hashes/sha3.js.map +1 -0
- package/node_modules/@noble/hashes/sha512.d.ts +26 -0
- package/node_modules/@noble/hashes/sha512.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha512.js +29 -0
- package/node_modules/@noble/hashes/sha512.js.map +1 -0
- package/node_modules/@noble/hashes/src/_assert.ts +22 -0
- package/node_modules/@noble/hashes/src/_blake.ts +50 -0
- package/node_modules/@noble/hashes/src/_md.ts +176 -0
- package/node_modules/@noble/hashes/src/_u64.ts +91 -0
- package/node_modules/@noble/hashes/src/argon2.ts +497 -0
- package/node_modules/@noble/hashes/src/blake1.ts +534 -0
- package/node_modules/@noble/hashes/src/blake2.ts +486 -0
- package/node_modules/@noble/hashes/src/blake2b.ts +10 -0
- package/node_modules/@noble/hashes/src/blake2s.ts +20 -0
- package/node_modules/@noble/hashes/src/blake3.ts +272 -0
- package/node_modules/@noble/hashes/src/crypto.ts +9 -0
- package/node_modules/@noble/hashes/src/cryptoNode.ts +15 -0
- package/node_modules/@noble/hashes/src/eskdf.ts +187 -0
- package/node_modules/@noble/hashes/src/hkdf.ts +88 -0
- package/node_modules/@noble/hashes/src/hmac.ts +94 -0
- package/node_modules/@noble/hashes/src/index.ts +31 -0
- package/node_modules/@noble/hashes/src/legacy.ts +293 -0
- package/node_modules/@noble/hashes/src/pbkdf2.ts +122 -0
- package/node_modules/@noble/hashes/src/ripemd160.ts +12 -0
- package/node_modules/@noble/hashes/src/scrypt.ts +257 -0
- package/node_modules/@noble/hashes/src/sha1.ts +10 -0
- package/node_modules/@noble/hashes/src/sha2.ts +402 -0
- package/node_modules/@noble/hashes/src/sha256.ts +24 -0
- package/node_modules/@noble/hashes/src/sha3-addons.ts +499 -0
- package/node_modules/@noble/hashes/src/sha3.ts +258 -0
- package/node_modules/@noble/hashes/src/sha512.ts +34 -0
- package/node_modules/@noble/hashes/src/utils.ts +395 -0
- package/node_modules/@noble/hashes/utils.d.ts +161 -0
- package/node_modules/@noble/hashes/utils.d.ts.map +1 -0
- package/node_modules/@noble/hashes/utils.js +313 -0
- package/node_modules/@noble/hashes/utils.js.map +1 -0
- package/package.json +179 -8
- package/schemas/catalog.schema.json +357 -0
- package/src/align.ts +239 -0
- package/src/audio-init-parser.ts +189 -0
- package/src/audio-ring-buffer.ts +120 -0
- package/src/authored-timing.ts +63 -0
- package/src/block-policy.ts +903 -0
- package/src/carp-catalog.ts +1065 -0
- package/src/catalog-fec-params.ts +729 -0
- package/src/catalog-network-source.ts +74 -0
- package/src/catalog-validator.ts +34 -0
- package/src/cmaf-block-assembler.ts +1255 -0
- package/src/cmaf-group-batcher.ts +104 -0
- package/src/cmcd-producer.ts +329 -0
- package/src/codec-utils.ts +1984 -0
- package/src/conceal-timeline.ts +293 -0
- package/src/delivery-gap.ts +147 -0
- package/src/duplicate-ledger.ts +372 -0
- package/src/fec-codec.ts +61 -0
- package/src/fec-manager.ts +4298 -0
- package/src/fec-starvation-detector.ts +128 -0
- package/src/fec-state.ts +219 -0
- package/src/fec-worker-setup.ts +283 -0
- package/src/fmp4-completion.ts +47 -0
- package/src/fmp4-reader.ts +112 -0
- package/src/index.ts +590 -21
- package/src/iso-block-locator.ts +329 -0
- package/src/iso-bmff-timing.ts +813 -0
- package/src/loc.ts +128 -154
- package/src/manifest-auth-plan.ts +107 -0
- package/src/media-router.ts +841 -0
- package/src/mfu-reassembler.ts +3480 -155
- package/src/mfu-reassembly-policy.ts +134 -0
- package/src/mmtp-container-parser.ts +2380 -0
- package/src/mmtp-decode-pipeline.ts +406 -0
- package/src/mmtp-router.ts +4860 -0
- package/src/mmtp-to-cmaf.ts +977 -0
- package/src/multicast-auth-catalog.ts +340 -0
- package/src/multicast-input.ts +793 -0
- package/src/multicast-manager.ts +2783 -0
- package/src/multicast-transport.ts +1058 -0
- package/src/multicast-unwrap.ts +132 -0
- package/src/no-modules.ts +21 -0
- package/src/phase14-catalog-override.ts +336 -0
- package/src/repair-fetch.ts +772 -0
- package/src/repair-layers.ts +533 -0
- package/src/sample-combiner.ts +938 -0
- package/src/signaling.ts +78 -0
- package/src/source-auth.ts +1 -0
- package/src/switching-set-alignment.ts +109 -0
- package/src/timestamp-codec.ts +265 -0
- package/src/track-pipeline-setup.ts +205 -0
- package/src/track-pipeline.ts +332 -0
- package/src/track-session.ts +1010 -0
- package/src/transport-pool.ts +128 -0
- package/src/wasm-mfu-reassembler.ts +405 -0
- package/src/wasm-mmtp-container-parser.ts +23 -0
- package/test-vectors/align.json +199 -0
- package/test-vectors/catalog/README.md +106 -0
- package/test-vectors/catalog/negative/archive-origin-with-path.json +33 -0
- package/test-vectors/catalog/negative/archive-unknown-field.json +34 -0
- package/test-vectors/catalog/negative/fec-block-profile-missing.json +51 -0
- package/test-vectors/catalog/negative/fec-block-profile-unknown.json +52 -0
- package/test-vectors/catalog/negative/fec-enhancement-repair-removed.json +28 -0
- package/test-vectors/catalog/negative/fec-repair-layer-geometry.json +33 -0
- package/test-vectors/catalog/negative/fec-repair-layer-missing-symbols.json +31 -0
- package/test-vectors/catalog/negative/fec-repair-multiple-depends.json +32 -0
- package/test-vectors/catalog/negative/fec-repair-overlay-with-layer.json +34 -0
- package/test-vectors/catalog/negative/fec-repair-priority-out-of-band.json +24 -0
- package/test-vectors/catalog/negative/fec-repair-source-symbols-without-scope.json +33 -0
- package/test-vectors/catalog/negative/legacy-selection-params.json +15 -0
- package/test-vectors/catalog/negative/media-track-repair-layer.json +16 -0
- package/test-vectors/catalog/negative/missing-mmtp-fields.json +12 -0
- package/test-vectors/catalog/negative/multicast-auth-padded-key.json +37 -0
- package/test-vectors/catalog/negative/multicast-auth-reused-track-format.json +53 -0
- package/test-vectors/catalog/negative/multicast-auth-trailing-pad-bits.json +37 -0
- package/test-vectors/catalog/negative/multicast-endpoint-missing-protocol-and-source.json +24 -0
- package/test-vectors/catalog/negative/multicast-network-source-empty.json +44 -0
- package/test-vectors/catalog/negative/multicast-packet-id-signaling.json +26 -0
- package/test-vectors/catalog/negative/network-source-object.json +25 -0
- package/test-vectors/catalog/negative/raptorq-source-symbols-over-max.json +24 -0
- package/test-vectors/catalog/negative/raptorq-unaligned-symbol.json +27 -0
- package/test-vectors/catalog/negative/repair-track-legacy-shape.json +19 -0
- package/test-vectors/catalog/negative/track-role-empty.json +16 -0
- package/test-vectors/catalog/negative/track-role-non-string.json +16 -0
- package/test-vectors/catalog/positive/archive-origin.json +34 -0
- package/test-vectors/catalog/positive/fec-iso-ssbg1.json +52 -0
- package/test-vectors/catalog/positive/fec-layered-repair.json +106 -0
- package/test-vectors/catalog/positive/fec-multicast.json +52 -0
- package/test-vectors/catalog/positive/flat-av.json +30 -0
- package/test-vectors/catalog/positive/multicast-auth-rotation.json +55 -0
- package/test-vectors/catalog/positive/multicast-native-ssm-no-network-source.json +43 -0
- package/test-vectors/catalog/positive/ticks-and-mixed-timescales.json +39 -0
- package/test-vectors/catalog/positive/track-role.json +49 -0
- package/test-vectors/catalog/releases/moqcast-native-v16-v1/catalog.json +65 -0
- package/test-vectors/catalog/releases/moqcast-native-v16-v1.archive.sha256 +1 -0
- package/test-vectors/catalog-multicast-auth-v1.json +26 -0
- package/test-vectors/catalog-validation.json +732 -0
- package/test-vectors/catalog-validator-public-api.mjs +25 -0
- package/test-vectors/generate-source-auth-fixture.mjs +114 -0
- package/test-vectors/hevc-x265-repeat-headers-v1.json +40 -0
- package/test-vectors/source-auth-v1.json +61 -0
- package/test-vectors/source-contiguity-v1.json +131 -0
- package/test-vectors/subsample-placement-v1.json +230 -0
- package/dist/mmtp.d.ts +0 -73
- package/dist/mmtp.d.ts.map +0 -1
- package/dist/mmtp.js +0 -210
- package/dist/mmtp.js.map +0 -1
- package/src/mmtp.ts +0 -277
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
import { type MMTPHeader } from '@blockcast/mmt-base';
|
|
2
|
+
import { MfuReassemblyError, type MfuReassemblerBackend, type MmtpSourcePath, type MmtpDeliveryProvenance } from './mfu-reassembler.js';
|
|
3
|
+
import { SampleCombineError, type SampleCombinerStats } from './sample-combiner.js';
|
|
4
|
+
import { type MfuReassemblyPolicy } from './mfu-reassembly-policy.js';
|
|
5
|
+
import type { AuthoredTiming } from './authored-timing.js';
|
|
6
|
+
import type { FrameGapDecision } from './block-policy.js';
|
|
7
|
+
export interface TrackInfo {
|
|
8
|
+
type: 'video' | 'audio';
|
|
9
|
+
codec: string;
|
|
10
|
+
/** Catalog/in-band frame cadence available to downstream media stages. */
|
|
11
|
+
framerate?: number;
|
|
12
|
+
/** Catalog MMTP group duration available to downstream media stages. */
|
|
13
|
+
groupDurationMs?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface MmtpParserConfig {
|
|
16
|
+
tracks?: Map<number, TrackInfo>;
|
|
17
|
+
reorderWindow?: number;
|
|
18
|
+
/** MFU reassembly timeout (ms). Derive from FEC interleaveDepthMs or frame duration.
|
|
19
|
+
* Pass null for live clock-free operation; memory remains bounded by maxBuffered.
|
|
20
|
+
* Defaults to 1000ms if not provided. */
|
|
21
|
+
mfuTimeoutMs?: number | null;
|
|
22
|
+
/** Explicit transport policy. Reliable MoQ is clock-free; datagrams require
|
|
23
|
+
* a catalog/in-band-derived deadline. Mutually exclusive with mfuTimeoutMs. */
|
|
24
|
+
reassemblyPolicy?: MfuReassemblyPolicy;
|
|
25
|
+
/** Max concurrent active MFUs. A new first fragment is rejected at the bound. */
|
|
26
|
+
maxBufferedMfus?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Max subsample data units held for one partitioned sample (moqcast #37).
|
|
29
|
+
* A sample needs `ceil(sampleSize / (256 * maxPayload))` data units; at the
|
|
30
|
+
* ~1300-byte payloads this producer emits, one data unit spans ~327 KB, so
|
|
31
|
+
* the default admits a ~5 MB sample — beyond any 8K intra frame — while
|
|
32
|
+
* still bounding the per-insert overlap scan. Raise it only alongside a
|
|
33
|
+
* larger authored frame size, never to paper over a lost data unit.
|
|
34
|
+
*/
|
|
35
|
+
maxSubsampleSegments?: number;
|
|
36
|
+
/** Alternate backend. The TypeScript and Rust/WASM implementations enforce
|
|
37
|
+
* the same authored active-DU contract. */
|
|
38
|
+
reassembler?: MfuReassemblerBackend;
|
|
39
|
+
/** Default track info for auto-discovered packetIds.
|
|
40
|
+
* When the parser receives an MMTP packet with an unregistered packetId,
|
|
41
|
+
* it creates a new track entry using this info. Required for correct
|
|
42
|
+
* keyframe detection with HEVC/AV1/VP9 (without it, defaults to H.264). */
|
|
43
|
+
defaultTrack?: TrackInfo;
|
|
44
|
+
/** In-order release policy for FEC-protected streams (see FecReleaseGate). */
|
|
45
|
+
fecReleaseGate?: FecReleaseGate;
|
|
46
|
+
}
|
|
47
|
+
/** Structured result from parseHeader(). Used by MmtpRouter for two-phase parsing:
|
|
48
|
+
* 1. parseHeader() → get packetId + fecPayloadId for FEC feeding
|
|
49
|
+
* 2. feed() → MFU extraction, reassembly, keyframe detection, emit */
|
|
50
|
+
export interface PacketInfo {
|
|
51
|
+
packetId: number;
|
|
52
|
+
packetType: number;
|
|
53
|
+
timestamp: bigint;
|
|
54
|
+
/** MMTP timestamp converted to monotonic microseconds for pacing/sync users. */
|
|
55
|
+
timestampUs: number;
|
|
56
|
+
sequenceNumber: number;
|
|
57
|
+
rapFlag: boolean;
|
|
58
|
+
fecType: number;
|
|
59
|
+
/** FEC source symbol ID (from 4-byte FEC Payload ID at packet end). Null if no FEC. */
|
|
60
|
+
fecPayloadId: {
|
|
61
|
+
ssId: number;
|
|
62
|
+
} | null;
|
|
63
|
+
/** True if this is a repair packet (packetType=0x03). */
|
|
64
|
+
isRepair: boolean;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* One parse of an MMTP packet's header, as returned by
|
|
68
|
+
* MmtpContainerParser.parsePacket(). Hand it back to feedParsed() so the same
|
|
69
|
+
* packet's header is not parsed again (BLO-36599).
|
|
70
|
+
*/
|
|
71
|
+
export interface ParsedMmtpPacket {
|
|
72
|
+
readonly info: PacketInfo;
|
|
73
|
+
/** parseMMTPHeader() of the packet this was parsed from. */
|
|
74
|
+
readonly header: MMTPHeader;
|
|
75
|
+
/** The skipFecPayloadId option `info.fecPayloadId` was resolved under. */
|
|
76
|
+
readonly skipFecPayloadId: boolean;
|
|
77
|
+
}
|
|
78
|
+
export interface FrameMeta {
|
|
79
|
+
/** Authored ISO-BMFF presentation time converted to microseconds. */
|
|
80
|
+
timestamp: number;
|
|
81
|
+
/** Authored ISO-BMFF decode time converted to microseconds. */
|
|
82
|
+
decodeTimestamp?: number;
|
|
83
|
+
/** Authored ISO-BMFF sample duration converted to microseconds. */
|
|
84
|
+
duration?: number;
|
|
85
|
+
/** Exact authored decode time in mediaTimescale units. */
|
|
86
|
+
decodeTime?: bigint;
|
|
87
|
+
/** Exact authored presentation time in mediaTimescale units. */
|
|
88
|
+
presentationTime?: bigint;
|
|
89
|
+
/** Exact authored duration in mediaTimescale units. */
|
|
90
|
+
durationTicks?: number;
|
|
91
|
+
/** mdhd media timescale for the exact timing fields. */
|
|
92
|
+
mediaTimescale?: number;
|
|
93
|
+
/** Exact authored ISO-BMFF timing carried without narrowing to microseconds. */
|
|
94
|
+
authoredTiming?: AuthoredTiming;
|
|
95
|
+
keyframe: boolean;
|
|
96
|
+
packetId: number;
|
|
97
|
+
trackType: 'video' | 'audio' | null;
|
|
98
|
+
packetSequenceNumber?: number;
|
|
99
|
+
/** Every authoritative MMTP source-packet sequence that formed this frame. */
|
|
100
|
+
packetSequenceNumbers?: number[];
|
|
101
|
+
/** Subset of packetSequenceNumbers reconstructed by FEC. */
|
|
102
|
+
repairedPacketSequenceNumbers?: number[];
|
|
103
|
+
/** Immutable catalog identity supplied by the owning ingress subscription. */
|
|
104
|
+
catalogTrackName?: string;
|
|
105
|
+
/** Raw MMTP short-NTP timestamp retained for adapters that own the timeline. */
|
|
106
|
+
mmtpTimestamp?: bigint;
|
|
107
|
+
mpuSequenceNumber?: number;
|
|
108
|
+
movieFragmentSequenceNumber?: number;
|
|
109
|
+
sampleNumber?: number;
|
|
110
|
+
fragmentCount?: number;
|
|
111
|
+
rapFlag?: boolean;
|
|
112
|
+
priority?: number;
|
|
113
|
+
recovered?: boolean;
|
|
114
|
+
/** Starts a new publisher/source epoch for ordering and timestamp state. */
|
|
115
|
+
sourceDiscontinuity?: boolean;
|
|
116
|
+
/** Source of the accepted FI=1/FI=0 frame path. Absent for recovery. */
|
|
117
|
+
source?: MmtpSourcePath;
|
|
118
|
+
/**
|
|
119
|
+
* Strict whole-frame delivery provenance. Unlike `source`, which names the
|
|
120
|
+
* head fragment's transport for routing, this is folded over every
|
|
121
|
+
* contributing fragment (and, for FEC-recovered frames, over the transports
|
|
122
|
+
* that supplied the block's symbols). Only 'multicast' is evidence of
|
|
123
|
+
* multicast-exclusive delivery. Absent means no producer on this path
|
|
124
|
+
* recorded provenance — consumers MUST treat that as unproven, never as
|
|
125
|
+
* multicast.
|
|
126
|
+
*/
|
|
127
|
+
deliveryProvenance?: MmtpDeliveryProvenance;
|
|
128
|
+
/**
|
|
129
|
+
* FEC source block (SBN) this frame completed in, when it came from an
|
|
130
|
+
* FEC-protected packet or an FEC-recovered block. Drives in-order release
|
|
131
|
+
* on FEC-gated streams.
|
|
132
|
+
*/
|
|
133
|
+
fecSbn?: number;
|
|
134
|
+
/**
|
|
135
|
+
* Set on the first frame released after a gap: the blocks between it and
|
|
136
|
+
* the previous release resolved with lost media, or authored decode time
|
|
137
|
+
* shows a missing sample. The sink must stall or conceal exactly as decided.
|
|
138
|
+
*/
|
|
139
|
+
gapBefore?: FrameGapDecision;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Per-packet MPU and data-unit identity, read without reassembly. The router
|
|
143
|
+
* uses it as classification evidence for the FEC block the packet belongs to.
|
|
144
|
+
*/
|
|
145
|
+
export interface SourcePacketIdentity {
|
|
146
|
+
mpuSequenceNumber: number;
|
|
147
|
+
/** 1-based MFU DU-header sample_number, when this packet carries a DU header. */
|
|
148
|
+
sampleNumber?: number;
|
|
149
|
+
movieFragmentSequenceNumber?: number;
|
|
150
|
+
/** DU-header offset: the data unit's authored byte position in its sample. */
|
|
151
|
+
offset?: number;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* In-order release policy for FEC-protected streams. For such a stream a
|
|
155
|
+
* frame after a gap is released only once every FEC block that could hold
|
|
156
|
+
* the missing frames has resolved (completed or failed); the frame-count
|
|
157
|
+
* reorder window applies only to streams without FEC.
|
|
158
|
+
*/
|
|
159
|
+
export interface FecReleaseGate {
|
|
160
|
+
/** True when this physical stream's frames are FEC-gated. */
|
|
161
|
+
gates(packetId: number, catalogTrackName?: string): boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Resolution of the blocks `[fromSbn, toSbn]`: null while any of them can
|
|
164
|
+
* still complete, otherwise the SBNs whose media was lost (empty when no
|
|
165
|
+
* block failed; the release still carries a decision when authored decode
|
|
166
|
+
* time shows a missing sample). `releasedSbn` is the block of the frame
|
|
167
|
+
* released before the gap: that frame arrived, so its block is not lost
|
|
168
|
+
* merely because it has since retired.
|
|
169
|
+
*/
|
|
170
|
+
resolvedLoss(packetId: number, catalogTrackName: string | undefined, fromSbn: number, toSbn: number, releasedSbn: number): readonly number[] | null;
|
|
171
|
+
/**
|
|
172
|
+
* Longest a frame may wait behind unresolved blocks, in milliseconds from
|
|
173
|
+
* its arrival: by then every block that could hold the frames before it
|
|
174
|
+
* must have resolved. Past it the frame is released as a discontinuity.
|
|
175
|
+
* It must not exceed how long a resolved block stays readable as resolved.
|
|
176
|
+
*/
|
|
177
|
+
holdLimitMs(packetId: number, catalogTrackName?: string): number;
|
|
178
|
+
/** Decide stall/conceal for the first frame released after a gap. */
|
|
179
|
+
decide(before: {
|
|
180
|
+
data: Uint8Array;
|
|
181
|
+
meta: FrameMeta;
|
|
182
|
+
}, after: {
|
|
183
|
+
data: Uint8Array;
|
|
184
|
+
meta: FrameMeta;
|
|
185
|
+
}, lostBlocks: readonly number[], discontinuity: boolean): FrameGapDecision;
|
|
186
|
+
/** Every frame released in order from a gated stream. */
|
|
187
|
+
onReleased?(data: Uint8Array, meta: FrameMeta): void;
|
|
188
|
+
}
|
|
189
|
+
/** Typed ISO-BMFF timing-sample budget counters. See `timingBudgetStats`. */
|
|
190
|
+
export interface MmtpTimingBudgetStats {
|
|
191
|
+
/** Slots currently charged to declared-but-undelivered samples. */
|
|
192
|
+
pending: number;
|
|
193
|
+
/** Total slots available; `pending === capacity` rejects every new moof. */
|
|
194
|
+
capacity: number;
|
|
195
|
+
/** Slots returned by samples the combiner abandoned (evicted or timed out). */
|
|
196
|
+
reclaimed: number;
|
|
197
|
+
/**
|
|
198
|
+
* Slots reclaimed by window displacement — samples no component ever saw,
|
|
199
|
+
* so no abandonment event could be raised for them. Separate from
|
|
200
|
+
* `reclaimed` because the owners differ: `reclaimed` is the combiner giving
|
|
201
|
+
* up, `evicted` is loss that was never observable at all.
|
|
202
|
+
*/
|
|
203
|
+
evicted: number;
|
|
204
|
+
/** Movie fragments refused because the budget had no room for their samples. */
|
|
205
|
+
rejectedMovieFragments: number;
|
|
206
|
+
}
|
|
207
|
+
export interface MmtpReorderStats {
|
|
208
|
+
droppedBeforeStartupKeyframe: number;
|
|
209
|
+
droppedIncompleteStartupInterval: number;
|
|
210
|
+
droppedStale: number;
|
|
211
|
+
forcedWindowFlushes: number;
|
|
212
|
+
droppedOnLiveDispose: number;
|
|
213
|
+
publisherResets: number;
|
|
214
|
+
droppedOnPublisherReset: number;
|
|
215
|
+
bufferedFrames: number;
|
|
216
|
+
}
|
|
217
|
+
export interface MmtpReorderFrameDiagnostics {
|
|
218
|
+
timestampUs: number;
|
|
219
|
+
keyframe: boolean;
|
|
220
|
+
sequenceNumber: number;
|
|
221
|
+
packetSequenceNumber?: number;
|
|
222
|
+
movieFragmentSequenceNumber?: number;
|
|
223
|
+
sampleNumber?: number;
|
|
224
|
+
fragmentCount?: number;
|
|
225
|
+
}
|
|
226
|
+
export interface MmtpReorderStreamDiagnostics {
|
|
227
|
+
packetId: number;
|
|
228
|
+
bufferedFrames: number;
|
|
229
|
+
lastEmitted: MmtpReorderFrameDiagnostics | null;
|
|
230
|
+
startupKeyframe: MmtpReorderFrameDiagnostics | null;
|
|
231
|
+
head: MmtpReorderFrameDiagnostics[];
|
|
232
|
+
tail: MmtpReorderFrameDiagnostics[];
|
|
233
|
+
keyframes: MmtpReorderFrameDiagnostics[];
|
|
234
|
+
}
|
|
235
|
+
export type MmtpParserRecord = {
|
|
236
|
+
kind: 'repair' | 'non-media';
|
|
237
|
+
packet: PacketInfo;
|
|
238
|
+
byteLength: number;
|
|
239
|
+
} | {
|
|
240
|
+
kind: 'init' | 'fragment';
|
|
241
|
+
packet: PacketInfo;
|
|
242
|
+
data: Uint8Array;
|
|
243
|
+
mpuSequenceNumber: number;
|
|
244
|
+
fragmentationIndicator: number;
|
|
245
|
+
fragmentCounter: number;
|
|
246
|
+
} | {
|
|
247
|
+
kind: 'pending';
|
|
248
|
+
packet: PacketInfo;
|
|
249
|
+
mpuSequenceNumber: number;
|
|
250
|
+
fragmentationIndicator: number;
|
|
251
|
+
fragmentCounter: number;
|
|
252
|
+
} | {
|
|
253
|
+
kind: 'rejected';
|
|
254
|
+
packet: PacketInfo;
|
|
255
|
+
mpuSequenceNumber: number;
|
|
256
|
+
fragmentationIndicator: number;
|
|
257
|
+
fragmentCounter: number;
|
|
258
|
+
error: {
|
|
259
|
+
/**
|
|
260
|
+
* Either a single data unit's own fragment chain was rejected, or
|
|
261
|
+
* combining reassembled data units into a sample was (moqcast #37).
|
|
262
|
+
* Both are fail-closed drops of the same packet, so they share this
|
|
263
|
+
* record; the code says which class it came from.
|
|
264
|
+
*/
|
|
265
|
+
code: MfuReassemblyError['code'] | SampleCombineError['code'];
|
|
266
|
+
message: string;
|
|
267
|
+
};
|
|
268
|
+
} | {
|
|
269
|
+
kind: 'frame';
|
|
270
|
+
packet: PacketInfo;
|
|
271
|
+
data: Uint8Array;
|
|
272
|
+
meta: FrameMeta;
|
|
273
|
+
mpuSequenceNumber: number;
|
|
274
|
+
fragmentCount: number;
|
|
275
|
+
rapFlag: boolean;
|
|
276
|
+
priority?: number;
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* Why feed() returned no record. Every `return null` inside feed() names one
|
|
280
|
+
* of these, so a packet that produced nothing is attributable to the stage
|
|
281
|
+
* that rejected it rather than to one collapsed failure bucket.
|
|
282
|
+
*
|
|
283
|
+
* The distinction is what makes a wedged receive path readable: a media track
|
|
284
|
+
* that stops producing records looks identical from outside whether the header
|
|
285
|
+
* failed to parse, MFU extraction failed, or the timing resolver refused the
|
|
286
|
+
* sample — and those name three different components.
|
|
287
|
+
*/
|
|
288
|
+
export type MmtpFeedDropReason =
|
|
289
|
+
/** feed() after dispose(); the host is still pushing at a torn-down parser. */
|
|
290
|
+
'disposed' | 'header-parse-failed' | 'mfu-extract-failed'
|
|
291
|
+
/** MPU present but not a timed MFU, so no media payload to reassemble. */
|
|
292
|
+
| 'untimed-mpu' | 'init-unexpected-fragmentation' | 'init-normalize-failed'
|
|
293
|
+
/** No timing resolver, or it refused the initialization segment. */
|
|
294
|
+
| 'init-timing-refused' | 'fragment-unexpected-fragmentation' | 'fragment-no-resolver'
|
|
295
|
+
/** addMovieFragment refused — includes the pending-timing-sample budget. */
|
|
296
|
+
| 'fragment-timing-refused' | 'unknown-fragment-type' | 'mfu-no-resolver' | 'mfu-empty-payload' | 'mfu-du-header-missing' | 'mfu-sample-timing-missing' | 'mfu-offset-out-of-range' | 'mfu-size-mismatch' | 'assembled-identity-missing' | 'assembled-timing-missing' | 'assembled-mpu-mismatch'
|
|
297
|
+
/**
|
|
298
|
+
* Refusals inside the combined-sample delivery step, which runs after the
|
|
299
|
+
* combiner has already produced a whole sample. These are distinct from
|
|
300
|
+
* their `assembled-*` counterparts: those reject a data unit on the way in,
|
|
301
|
+
* these reject a sample that was fully reassembled and then found
|
|
302
|
+
* undeliverable, so collapsing the two would hide a combiner that completes
|
|
303
|
+
* samples nothing can present.
|
|
304
|
+
*/
|
|
305
|
+
| 'combined-timing-missing' | 'combined-size-mismatch'
|
|
306
|
+
/** Frame metadata could not be built — an fMP4 box arrived as a timed MFU
|
|
307
|
+
* payload, or the authored timing converts to a non-positive duration. */
|
|
308
|
+
| 'combined-meta-build-failed' | 'combined-timing-consume-refused'
|
|
309
|
+
/** feed() threw. Counted so the tally still sums to fedObjects; the error
|
|
310
|
+
* is rethrown, never swallowed. */
|
|
311
|
+
| 'threw';
|
|
312
|
+
/**
|
|
313
|
+
* Every key `outcomes` can carry: one per record kind, one per drop reason.
|
|
314
|
+
*
|
|
315
|
+
* Derived from the two unions rather than written out, so a new record kind or
|
|
316
|
+
* drop reason cannot be counted under a key the type does not admit, and a
|
|
317
|
+
* consumer can enumerate the vocabulary from the type instead of from prose.
|
|
318
|
+
*/
|
|
319
|
+
export type MmtpFeedOutcomeKey = MmtpParserRecord['kind'] | `drop:${MmtpFeedDropReason}`;
|
|
320
|
+
/**
|
|
321
|
+
* Feed tallies owned by the parser.
|
|
322
|
+
*
|
|
323
|
+
* These live here rather than on MmtpDecodePipeline because the two players
|
|
324
|
+
* sit at different layers of this library: hang-mmt-fec drives the pipeline,
|
|
325
|
+
* while moqtail constructs MmtpContainerParser directly and never builds the
|
|
326
|
+
* wrapper. feed() is the one chokepoint both cross, so a tally maintained here
|
|
327
|
+
* instruments both by construction.
|
|
328
|
+
*
|
|
329
|
+
* Logs are diagnostic output, not an acceptance API — this is the typed
|
|
330
|
+
* counter a harness should read instead of scraping console histograms.
|
|
331
|
+
*/
|
|
332
|
+
export interface MmtpParserFeedStats {
|
|
333
|
+
/** Every packet handed to feed(), including post-dispose calls. */
|
|
334
|
+
fedObjects: number;
|
|
335
|
+
/**
|
|
336
|
+
* Mutually exclusive outcome tally: record kinds under their own `kind`,
|
|
337
|
+
* drops under `drop:<reason>`. The values sum to exactly `fedObjects`, which
|
|
338
|
+
* is the property that makes a frozen media bucket beside a still-climbing
|
|
339
|
+
* non-media bucket a readable signal rather than two unrelated numbers.
|
|
340
|
+
*
|
|
341
|
+
* Partial because a key appears only once it has been counted; absent and
|
|
342
|
+
* zero mean the same thing to a reader.
|
|
343
|
+
*/
|
|
344
|
+
outcomes: Partial<Record<MmtpFeedOutcomeKey, number>>;
|
|
345
|
+
/**
|
|
346
|
+
* Refusals from a completed older sample delivered while registering a
|
|
347
|
+
* later packet's authored size. Kept separate because that side effect is
|
|
348
|
+
* not the packet's own feed outcome.
|
|
349
|
+
*/
|
|
350
|
+
deferredOutcomes: Partial<Record<MmtpFeedDropReason, number>>;
|
|
351
|
+
}
|
|
352
|
+
type FrameCallback = (data: Uint8Array, meta: FrameMeta) => void;
|
|
353
|
+
type InitCallback = (data: Uint8Array, packetId: number, catalogTrackName?: string) => void;
|
|
354
|
+
export declare function isMfuKeyframeMetadata(rapFlag: boolean, priority?: number): boolean;
|
|
355
|
+
/** Per-packet detached ALTA authenticator trailer (08-07 Path 2).
|
|
356
|
+
* - `auth`: the authenticator bytes (length-prefixed at packet end).
|
|
357
|
+
* - `payloadEnd`: byte offset within the source packet where signed
|
|
358
|
+
* payload ends — consumers reconstruct `payload = packet[0..payloadEnd]`
|
|
359
|
+
* for verify_detached. */
|
|
360
|
+
export interface ParsedAltaTrailer {
|
|
361
|
+
auth: Uint8Array;
|
|
362
|
+
payloadEnd: number;
|
|
363
|
+
}
|
|
364
|
+
/** Source-symbol exposure for FEC consumers.
|
|
365
|
+
*
|
|
366
|
+
* Fires from {@link MmtpContainerParser.feed} once per FEC-protected source
|
|
367
|
+
* packet — after parseHeader confirms fec_payload_id is present, before MFU
|
|
368
|
+
* extraction.
|
|
369
|
+
*
|
|
370
|
+
* Arguments:
|
|
371
|
+
* - `packetId` – MMTP header `packet_id` (track identifier)
|
|
372
|
+
* - `ssId` – flat Source Symbol ID from the 4-byte fec_payload_id trailer
|
|
373
|
+
* - `rawSymbol` – packet bytes minus the 4-byte fec_payload_id trailer.
|
|
374
|
+
* NOT zero-padded to FEC symbol size — consumer pads if needed
|
|
375
|
+
* (FEC symbol size is FEC-config, not parser-config).
|
|
376
|
+
* - `alta` – detached ALTA authenticator if present, else undefined
|
|
377
|
+
*
|
|
378
|
+
* Designed so consumers (player, Shaka shim, upstream moqtail) can wire
|
|
379
|
+
* source-symbol delivery to whatever FEC pipeline they own, without depending
|
|
380
|
+
* on libmmt's MulticastManager/MmtpRouter/FECManager stack. */
|
|
381
|
+
type SourceSymbolCallback = (packetId: number, ssId: number, rawSymbol: Uint8Array, alta: ParsedAltaTrailer | undefined) => void;
|
|
382
|
+
export interface ParseHeaderOptions {
|
|
383
|
+
/** Recovered source symbols already had the trailing Source FEC Payload ID stripped. */
|
|
384
|
+
skipFecPayloadId?: boolean;
|
|
385
|
+
/** Mark frames emitted from this packet as FEC-recovered. */
|
|
386
|
+
recovered?: boolean;
|
|
387
|
+
/** Exact catalog track bound to this packet by its ingress subscription. */
|
|
388
|
+
catalogTrackName?: string;
|
|
389
|
+
/** Source transport for parser-owned frame attribution. */
|
|
390
|
+
source?: MmtpSourcePath;
|
|
391
|
+
/**
|
|
392
|
+
* Explicit strict provenance for the fragments this packet produces.
|
|
393
|
+
* The router sets it for FEC-recovered packets, which carry no `source`
|
|
394
|
+
* but whose FEC block's symbol provenance is known.
|
|
395
|
+
*/
|
|
396
|
+
deliveryProvenance?: MmtpDeliveryProvenance;
|
|
397
|
+
/** FEC source block this packet belongs to (FEC-protected packets only). */
|
|
398
|
+
fecSbn?: number;
|
|
399
|
+
}
|
|
400
|
+
export declare class MmtpContainerParser {
|
|
401
|
+
#private;
|
|
402
|
+
constructor(config?: MmtpParserConfig);
|
|
403
|
+
/** The MFU reassembler that buffers fragmented MFUs fed via feed().
|
|
404
|
+
* Exposed so a co-operating FEC-recovery layer (MmtpRouter) feeds recovered
|
|
405
|
+
* fragments into the SAME reassembler: a frame split between source-received
|
|
406
|
+
* and FEC-recovered fragments must share one buffer to complete (BLO-8151).
|
|
407
|
+
* Before this was shared, recovered video symbols reported "0 emitted,
|
|
408
|
+
* pending-reassembly=N" because they landed in a separate instance. */
|
|
409
|
+
get reassembler(): MfuReassemblerBackend;
|
|
410
|
+
/**
|
|
411
|
+
* Subsample-combining counters (moqcast #37). `combinedSamples` counts
|
|
412
|
+
* samples reassembled from two or more data units and `passthroughSamples`
|
|
413
|
+
* those that arrived whole; the two are deliberately separate, so a
|
|
414
|
+
* producer that silently stopped partitioning cannot hide behind a single
|
|
415
|
+
* "samples delivered" total. This is the typed acceptance signal for
|
|
416
|
+
* large-frame playback — never parse the console for it.
|
|
417
|
+
*/
|
|
418
|
+
get sampleCombinerStats(): Readonly<SampleCombinerStats>;
|
|
419
|
+
/**
|
|
420
|
+
* Typed view of the ISO-BMFF timing-sample budget.
|
|
421
|
+
*
|
|
422
|
+
* This is the acceptance signal for the budget ratchet: `pending` walking
|
|
423
|
+
* to `capacity` while `rejectedMovieFragments` climbs is the stream wedging,
|
|
424
|
+
* and it is observable here rather than only as media silently stopping.
|
|
425
|
+
* Per repo policy this is a producer-owned counter -- never infer budget
|
|
426
|
+
* state by parsing logs.
|
|
427
|
+
*/
|
|
428
|
+
get timingBudgetStats(): Readonly<MmtpTimingBudgetStats>;
|
|
429
|
+
get reorderStats(): Readonly<MmtpReorderStats>;
|
|
430
|
+
/**
|
|
431
|
+
* Install (or remove) the in-order release policy for FEC-protected
|
|
432
|
+
* streams. Streams the gate claims are released by block resolution; all
|
|
433
|
+
* others keep the frame-count reorder window.
|
|
434
|
+
*/
|
|
435
|
+
setFecReleaseGate(gate: FecReleaseGate | null): void;
|
|
436
|
+
/** Re-evaluate held gaps after FEC block state changed. */
|
|
437
|
+
pokeFecRelease(packetId?: number, catalogTrackName?: string): void;
|
|
438
|
+
/**
|
|
439
|
+
* The FEC source of a stream restarted: stall the next release. Marks
|
|
440
|
+
* only; follow with `pokeFecRelease` to release frames held behind it.
|
|
441
|
+
*/
|
|
442
|
+
markFecDiscontinuity(packetId: number, catalogTrackName?: string): void;
|
|
443
|
+
/**
|
|
444
|
+
* MPU and data-unit identity of one MMTP packet, parsed in place (no copy,
|
|
445
|
+
* no reassembly). Null for non-MPU packets and packets that do not parse.
|
|
446
|
+
* `header` is the packet's already-parsed MMTP header (parsePacket()), so
|
|
447
|
+
* the header is not parsed a second time (BLO-36599).
|
|
448
|
+
*/
|
|
449
|
+
static sourcePacketIdentity(packet: Uint8Array, header: MMTPHeader): SourcePacketIdentity | null;
|
|
450
|
+
/**
|
|
451
|
+
* Feed tallies for this parser. A fresh snapshot per call, not a live view,
|
|
452
|
+
* so a caller can hold one and compare it against a later read.
|
|
453
|
+
*
|
|
454
|
+
* Survives dispose() — the counters are the parser's own state and are not
|
|
455
|
+
* cleared by teardown, because a wedged receive path is usually read after
|
|
456
|
+
* the fact.
|
|
457
|
+
*/
|
|
458
|
+
get feedStats(): Readonly<MmtpParserFeedStats>;
|
|
459
|
+
/**
|
|
460
|
+
* Outcome token of the most recent feed(), or null before the first call.
|
|
461
|
+
*
|
|
462
|
+
* Exposed alongside `lastFeedOutcomeCount` as two scalars rather than one
|
|
463
|
+
* object because a wrapper reads them on every packet, and feedStats()
|
|
464
|
+
* allocates a fresh snapshot per call.
|
|
465
|
+
*/
|
|
466
|
+
get lastFeedOutcome(): MmtpFeedOutcomeKey | null;
|
|
467
|
+
/** How many times `lastFeedOutcome` has now been seen. 1 on its first
|
|
468
|
+
* occurrence, which is what a caller logging once per novel outcome needs. */
|
|
469
|
+
get lastFeedOutcomeCount(): number;
|
|
470
|
+
/**
|
|
471
|
+
* MFU fragments feed() handed to the reassembler, including rejected ones.
|
|
472
|
+
* A plain scalar a per-packet caller can difference; reading the
|
|
473
|
+
* reassembler's own stats is a wasm crossing on the Rust backend
|
|
474
|
+
* (BLO-36599).
|
|
475
|
+
*/
|
|
476
|
+
get reassemblerFragmentsFed(): number;
|
|
477
|
+
/** Data units the reassembler returned complete to feed(). */
|
|
478
|
+
get reassemblerDataUnitsReturned(): number;
|
|
479
|
+
get reorderDiagnostics(): ReadonlyArray<MmtpReorderStreamDiagnostics>;
|
|
480
|
+
/**
|
|
481
|
+
* Reclaim samples abandoned by the sample combiner's protocol deadline.
|
|
482
|
+
*
|
|
483
|
+
* This is deliberately driven by the parser's existing packet/lifecycle
|
|
484
|
+
* cleanup path rather than by another timer. The reassembler timeout is the
|
|
485
|
+
* same catalog/FEC-derived deadline that bounds each constituent MFU.
|
|
486
|
+
*/
|
|
487
|
+
cleanupTimeouts(): void;
|
|
488
|
+
/**
|
|
489
|
+
* Phase 1 of two-phase parsing. Returns structured header info for FEC feeding.
|
|
490
|
+
* Call this before feed() when you need to extract FEC payload ID and feed
|
|
491
|
+
* symbols to FECManager before MFU extraction.
|
|
492
|
+
* Returns null for malformed packets.
|
|
493
|
+
*/
|
|
494
|
+
parseHeader(packet: Uint8Array, options?: ParseHeaderOptions): PacketInfo | null;
|
|
495
|
+
/**
|
|
496
|
+
* parseHeader() that also keeps the parsed MMTP header, so a caller that
|
|
497
|
+
* goes on to feedParsed() the same packet parses its header exactly once.
|
|
498
|
+
* The MMTP header is parsed once here and the Source FEC Payload ID is read
|
|
499
|
+
* from it; parseHeader() used to parse the header three times for an FEC
|
|
500
|
+
* source packet, and feed() repeated all of it (BLO-36599).
|
|
501
|
+
*/
|
|
502
|
+
parsePacket(packet: Uint8Array, options?: ParseHeaderOptions): ParsedMmtpPacket | null;
|
|
503
|
+
/** Feed a complete MMTP packet. For two-phase use, call parseHeader() first. */
|
|
504
|
+
feed(packet: Uint8Array, options?: ParseHeaderOptions): MmtpParserRecord | null;
|
|
505
|
+
/**
|
|
506
|
+
* feed() for a packet this caller already ran through parsePacket(): the
|
|
507
|
+
* header parse is reused instead of repeated. `parsed` must come from
|
|
508
|
+
* parsePacket() of this same, unmodified packet. If it was resolved under a
|
|
509
|
+
* different skipFecPayloadId option, the packet is parsed again.
|
|
510
|
+
*/
|
|
511
|
+
feedParsed(packet: Uint8Array, parsed: ParsedMmtpPacket, options?: ParseHeaderOptions): MmtpParserRecord | null;
|
|
512
|
+
onInit(cb: InitCallback): void;
|
|
513
|
+
onFrame(cb: FrameCallback): void;
|
|
514
|
+
/** Register a per-packet FEC source-symbol callback. Fires for each MMTP
|
|
515
|
+
* source MPU packet that carries a Source FEC Payload ID (ISO 23008-1 §C.5.2).
|
|
516
|
+
*
|
|
517
|
+
* Consumer responsibilities:
|
|
518
|
+
* - Zero-pad `rawSymbol` to the FEC `symbolSize` if shorter (FEC config is
|
|
519
|
+
* out-of-band — typically from the CMSF catalog's `fec.symbolSize`).
|
|
520
|
+
* - Decide oversized handling (rawSymbol.length > symbolSize is not FEC-
|
|
521
|
+
* decodable; consumer typically skips that block's source-feed).
|
|
522
|
+
* - Look up the right FEC consumer (e.g. FecWorkerClient) by packetId.
|
|
523
|
+
*
|
|
524
|
+
* Designed for spec-clean reuse: Shaka, upstream moqtail, or any consumer
|
|
525
|
+
* that uses MmtpContainerParser can wire FEC source delivery without
|
|
526
|
+
* pulling in MulticastManager/MmtpRouter/FECManager. */
|
|
527
|
+
onSourceSymbol(cb: SourceSymbolCallback): void;
|
|
528
|
+
onTrackFrame(packetId: number, cb: FrameCallback): void;
|
|
529
|
+
setTrack(packetId: number, info: TrackInfo): void;
|
|
530
|
+
/** Drop one physical stream's ordering and MFU state for retained replay. */
|
|
531
|
+
resetTrack(packetId: number, catalogTrackName: string): void;
|
|
532
|
+
/**
|
|
533
|
+
* Retire one packet ID, drop-only: discard every stream of it (reorder and
|
|
534
|
+
* FEC release buffers, authored timing, half-combined samples, startup
|
|
535
|
+
* gates) and its track registration, and reset the MFU reassembler for each
|
|
536
|
+
* catalog stream it carried. Nothing buffered is emitted, as on live
|
|
537
|
+
* dispose. `catalogTrackNames` names the streams the caller routed on this
|
|
538
|
+
* packet ID; the parser adds any it holds state for itself. Reassembly
|
|
539
|
+
* resets are catalog-scoped, as for resetTrack: a stream that never carried
|
|
540
|
+
* a catalog name keeps its reassembler buffers until they time out or are
|
|
541
|
+
* evicted.
|
|
542
|
+
*/
|
|
543
|
+
removeTrack(packetId: number, catalogTrackNames: Iterable<string>): void;
|
|
544
|
+
setMfuTimeoutMs(ms: number | null): void;
|
|
545
|
+
setReassemblyPolicy(policy: MfuReassemblyPolicy): void;
|
|
546
|
+
setReorderWindow(windowSize: number): void;
|
|
547
|
+
/** Route an already-assembled frame through the same reorder/callback path
|
|
548
|
+
* used by source packets. FEC recovery uses this to merge recovered frames
|
|
549
|
+
* with direct source frames before the decoder sees them. */
|
|
550
|
+
routeFrame(data: Uint8Array, meta: FrameMeta): void;
|
|
551
|
+
/**
|
|
552
|
+
* Claim and return the authored timing for a recovered sample. Recovery does
|
|
553
|
+
* not pass through the ordinary `feed()` completion path, so it must retire
|
|
554
|
+
* the same bounded resolver entry once the router accepts the recovered
|
|
555
|
+
* sample. A missing entry is a fail-closed signal: callers must not replace
|
|
556
|
+
* it with an MMTP send timestamp or cadence guess.
|
|
557
|
+
*/
|
|
558
|
+
consumeAuthoredTimingFor(packetId: number, mpuSequenceNumber: number, movieFragmentSequenceNumber: number | undefined, sampleNumber: number | undefined, catalogTrackName?: string): AuthoredTiming | null;
|
|
559
|
+
/** Emit all ordered frames currently buffered by the parser. Finite-stream
|
|
560
|
+
* consumers may call this before dispose(); live cancellation should not. */
|
|
561
|
+
flush(): void;
|
|
562
|
+
dispose(): void;
|
|
563
|
+
/** Authored presentation timestamp of the last emitted frame, in microseconds. */
|
|
564
|
+
lastFrameTimestamp: number | undefined;
|
|
565
|
+
static isKeyframe(data: Uint8Array, rapFlag: boolean, codec?: string): boolean;
|
|
566
|
+
}
|
|
567
|
+
export {};
|
|
568
|
+
//# sourceMappingURL=mmtp-container-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mmtp-container-parser.d.ts","sourceRoot":"","sources":["../src/mmtp-container-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,kBAAkB,EAElB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE5B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,kBAAkB,EAIlB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAA;AAO7B,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAA;AAMnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIzD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;8CAE0C;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;mFAC+E;IAC/E,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;IACtC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;+CAC2C;IAC3C,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC;;;gFAG4E;IAC5E,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,cAAc,CAAA;CAChC;AAED;;uEAEuE;AACvE,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACrC,yDAAyD;IACzD,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;CACnC;AAED,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,4DAA4D;IAC5D,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAA;IACxC,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,wEAAwE;IACxE,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAA;IAC3C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAA;IACzB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3D;;;;;;;OAOG;IACH,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChE,qEAAqE;IACrE,MAAM,CACJ,MAAM,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,EAC7C,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,EAC5C,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,aAAa,EAAE,OAAO,GACrB,gBAAgB,CAAA;IACnB,yDAAyD;IACzD,UAAU,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;CACrD;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B,EAAE,MAAM,CAAA;IACpC,gCAAgC,EAAE,MAAM,CAAA;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,2BAA2B,GAAG,IAAI,CAAA;IAC/C,eAAe,EAAE,2BAA2B,GAAG,IAAI,CAAA;IACnD,IAAI,EAAE,2BAA2B,EAAE,CAAA;IACnC,IAAI,EAAE,2BAA2B,EAAE,CAAA;IACnC,SAAS,EAAE,2BAA2B,EAAE,CAAA;CACzC;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAA;IAC5B,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB,GACD;IACE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;CACxB,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;CACxB,GACD;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE;QACL;;;;;WAKG;QACH,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAC7D,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAEL;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB;AAC5B,+EAA+E;AAC7E,UAAU,GACV,qBAAqB,GACrB,oBAAoB;AACtB,0EAA0E;GACxE,aAAa,GACb,+BAA+B,GAC/B,uBAAuB;AACzB,oEAAoE;GAClE,qBAAqB,GACrB,mCAAmC,GACnC,sBAAsB;AACxB,4EAA4E;GAC1E,yBAAyB,GACzB,uBAAuB,GACvB,iBAAiB,GACjB,mBAAmB,GACnB,uBAAuB,GACvB,2BAA2B,GAC3B,yBAAyB,GACzB,mBAAmB,GACnB,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB;AAC1B;;;;;;;GAOG;GACD,yBAAyB,GACzB,wBAAwB;AAC1B;2EAC2E;GACzE,4BAA4B,GAC5B,iCAAiC;AACnC;oCACoC;GAClC,OAAO,CAAA;AAEX;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,CAAC,MAAM,CAAC,GACxB,QAAQ,kBAAkB,EAAE,CAAA;AAEhC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;IACrD;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9D;AAED,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;AAChE,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAe3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAElF;AAED;;;;8BAI8B;AAC9B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;gEAgBgE;AAChE,KAAK,oBAAoB,GAAG,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,iBAAiB,GAAG,SAAS,KAChC,IAAI,CAAA;AAET,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAA;IAC3C,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAsdD,qBAAa,mBAAmB;;gBA8HlB,MAAM,CAAC,EAAE,gBAAgB;IA0ErC;;;;;4EAKwE;IACxE,IAAI,WAAW,IAAI,qBAAqB,CAEvC;IAED;;;;;;;OAOG;IACH,IAAI,mBAAmB,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAUvD;IAED;;;;;;;;OAQG;IACH,IAAI,iBAAiB,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAQvD;IAED,IAAI,YAAY,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAI7C;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAcpD,2DAA2D;IAC3D,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI;IAOlE;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvE;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,oBAAoB,GAAG,IAAI;IAkBhG;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAM7C;IAED;;;;;;OAMG;IACH,IAAI,eAAe,IAAI,kBAAkB,GAAG,IAAI,CAE/C;IAED;mFAC+E;IAC/E,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED;;;;;OAKG;IACH,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,8DAA8D;IAC9D,IAAI,4BAA4B,IAAI,MAAM,CAEzC;IA0BD,IAAI,kBAAkB,IAAI,aAAa,CAAC,4BAA4B,CAAC,CAMpE;IAED;;;;;;OAMG;IACH,eAAe,IAAI,IAAI;IAQvB;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,UAAU,GAAG,IAAI;IAIhF;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,IAAI;IA2BtF,gFAAgF;IAChF,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,IAAI;IAI/E;;;;;OAKG;IACH,UAAU,CACR,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,gBAAgB,GAAG,IAAI;IAiX1B,MAAM,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAI9B,OAAO,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI;IAIhC;;;;;;;;;;;;6DAYyD;IACzD,cAAc,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI;IAI9C,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,GAAG,IAAI;IAIvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAsBjD,6EAA6E;IAC7E,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAoB5D;;;;;;;;;;OAUG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IA4BxE,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKxC,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAStD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAW1C;;iEAE6D;IAC7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAwBnD;;;;;;OAMG;IACH,wBAAwB,CACtB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EACzB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,gBAAgB,CAAC,EAAE,MAAM,GACxB,cAAc,GAAG,IAAI;IA4CxB;iFAC6E;IAC7E,KAAK,IAAI,IAAI;IAMb,OAAO,IAAI,IAAI;IAwJf,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAY;IAWlD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,SAAK,GAAG,OAAO;CAgF3E"}
|