@blockcast/mmt-container 0.3.0 → 0.4.0-main.1e94b11199ea

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/README.md +33 -16
  2. package/dist/browser-runtime.js +14816 -14254
  3. package/dist/browser-runtime.js.map +4 -4
  4. package/dist/carp-catalog.d.ts +24 -19
  5. package/dist/carp-catalog.d.ts.map +1 -1
  6. package/dist/carp-catalog.js +32 -14
  7. package/dist/carp-catalog.js.map +4 -4
  8. package/dist/catalog-fec-params.d.ts +88 -28
  9. package/dist/catalog-fec-params.d.ts.map +1 -1
  10. package/dist/catalog-fec-params.js +60 -23
  11. package/dist/catalog-fec-params.js.map +4 -4
  12. package/dist/catalog-network-source.js +1 -7
  13. package/dist/catalog-network-source.js.map +4 -4
  14. package/dist/cmaf-block-assembler.d.ts +0 -2
  15. package/dist/cmaf-block-assembler.d.ts.map +1 -1
  16. package/dist/cmaf-block-assembler.js +0 -1
  17. package/dist/cmaf-block-assembler.js.map +2 -2
  18. package/dist/cmcd-producer.d.ts.map +1 -1
  19. package/dist/cmcd-producer.js +0 -4
  20. package/dist/cmcd-producer.js.map +2 -2
  21. package/dist/delivery-catalog.d.ts +124 -0
  22. package/dist/delivery-catalog.d.ts.map +1 -0
  23. package/dist/delivery-catalog.js +1857 -0
  24. package/dist/delivery-catalog.js.map +7 -0
  25. package/dist/delta-fallback-config.d.ts +42 -0
  26. package/dist/delta-fallback-config.d.ts.map +1 -0
  27. package/dist/delta-fallback-config.js +59 -0
  28. package/dist/delta-fallback-config.js.map +7 -0
  29. package/dist/fec-manager.d.ts +52 -30
  30. package/dist/fec-manager.d.ts.map +1 -1
  31. package/dist/fec-manager.js +338 -293
  32. package/dist/fec-manager.js.map +4 -4
  33. package/dist/fec-state.d.ts +19 -31
  34. package/dist/fec-state.d.ts.map +1 -1
  35. package/dist/fec-state.js +4 -10
  36. package/dist/fec-state.js.map +4 -4
  37. package/dist/fec-worker-setup.d.ts +18 -14
  38. package/dist/fec-worker-setup.d.ts.map +1 -1
  39. package/dist/fec-worker-setup.js +81 -96
  40. package/dist/fec-worker-setup.js.map +4 -4
  41. package/dist/index.d.ts +5 -3
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +16 -0
  44. package/dist/index.js.map +2 -2
  45. package/dist/iso-block-locator.js +1 -7
  46. package/dist/iso-block-locator.js.map +4 -4
  47. package/dist/media-router.d.ts +20 -8
  48. package/dist/media-router.d.ts.map +1 -1
  49. package/dist/media-router.js +46 -21
  50. package/dist/media-router.js.map +2 -2
  51. package/dist/mfu-reassembler.js +24 -30
  52. package/dist/mfu-reassembler.js.map +4 -4
  53. package/dist/mmtp-container-parser.d.ts +14 -11
  54. package/dist/mmtp-container-parser.d.ts.map +1 -1
  55. package/dist/mmtp-container-parser.js +126 -99
  56. package/dist/mmtp-container-parser.js.map +4 -4
  57. package/dist/mmtp-container-parser.no-modules.js +154 -108
  58. package/dist/mmtp-container-parser.no-modules.js.map +4 -4
  59. package/dist/mmtp-decode-pipeline.js +126 -99
  60. package/dist/mmtp-decode-pipeline.js.map +4 -4
  61. package/dist/mmtp-router.d.ts +51 -29
  62. package/dist/mmtp-router.d.ts.map +1 -1
  63. package/dist/mmtp-router.js +260 -326
  64. package/dist/mmtp-router.js.map +4 -4
  65. package/dist/multicast-input.js +1 -7
  66. package/dist/multicast-input.js.map +4 -4
  67. package/dist/multicast-manager.d.ts +72 -6
  68. package/dist/multicast-manager.d.ts.map +1 -1
  69. package/dist/multicast-manager.js +882 -673
  70. package/dist/multicast-manager.js.map +4 -4
  71. package/dist/multicast-transport.d.ts +1 -1
  72. package/dist/multicast-transport.d.ts.map +1 -1
  73. package/dist/multicast-transport.js +44 -26
  74. package/dist/multicast-transport.js.map +4 -4
  75. package/dist/multicast-unwrap.js +29 -35
  76. package/dist/multicast-unwrap.js.map +4 -4
  77. package/dist/no-modules.js +150 -106
  78. package/dist/no-modules.js.map +4 -4
  79. package/dist/repair-fetch.d.ts +116 -21
  80. package/dist/repair-fetch.d.ts.map +1 -1
  81. package/dist/repair-fetch.js +114 -34
  82. package/dist/repair-fetch.js.map +4 -4
  83. package/dist/repair-layers.d.ts +18 -7
  84. package/dist/repair-layers.d.ts.map +1 -1
  85. package/dist/repair-layers.js +12 -10
  86. package/dist/repair-layers.js.map +4 -4
  87. package/dist/signaling.js +2 -11
  88. package/dist/signaling.js.map +4 -4
  89. package/dist/timestamp-codec.js +24 -30
  90. package/dist/timestamp-codec.js.map +4 -4
  91. package/dist/track-session.d.ts +7 -0
  92. package/dist/track-session.d.ts.map +1 -1
  93. package/dist/track-session.js +15 -8
  94. package/dist/track-session.js.map +2 -2
  95. package/dist/wasm-mfu-reassembler.js +1 -7
  96. package/dist/wasm-mfu-reassembler.js.map +4 -4
  97. package/dist/wasm-mmtp-container-parser.js +126 -99
  98. package/dist/wasm-mmtp-container-parser.js.map +4 -4
  99. package/package.json +7 -14
  100. package/schemas/catalog.schema.json +3 -3
  101. package/src/carp-catalog.ts +51 -24
  102. package/src/catalog-fec-params.ts +173 -64
  103. package/src/cmaf-block-assembler.ts +1 -4
  104. package/src/cmcd-producer.ts +0 -6
  105. package/src/delivery-catalog.ts +498 -0
  106. package/src/delta-fallback-config.ts +72 -0
  107. package/src/fec-manager.ts +457 -334
  108. package/src/fec-state.ts +20 -32
  109. package/src/fec-worker-setup.ts +109 -90
  110. package/src/index.ts +32 -0
  111. package/src/media-router.ts +59 -21
  112. package/src/mmtp-container-parser.ts +106 -20
  113. package/src/mmtp-router.ts +189 -330
  114. package/src/multicast-manager.ts +265 -86
  115. package/src/multicast-transport.ts +16 -9
  116. package/src/repair-fetch.ts +273 -43
  117. package/src/repair-layers.ts +28 -8
  118. package/src/track-session.ts +28 -9
  119. package/test-vectors/catalog/README.md +44 -18
  120. package/test-vectors/catalog/negative/fec-block-profile-retired.json +52 -0
  121. package/test-vectors/catalog/negative/fec-enhancement-repair-removed.json +1 -1
  122. package/test-vectors/catalog/negative/fec-repair-layer-geometry.json +1 -1
  123. package/test-vectors/catalog/negative/fec-repair-layer-missing-symbols.json +1 -1
  124. package/test-vectors/catalog/negative/fec-repair-multiple-depends.json +1 -1
  125. package/test-vectors/catalog/negative/fec-repair-overlay-with-layer.json +1 -1
  126. package/test-vectors/catalog/negative/fec-repair-priority-out-of-band.json +1 -1
  127. package/test-vectors/catalog/negative/fec-repair-source-symbols-without-scope.json +1 -1
  128. package/test-vectors/catalog/negative/multicast-endpoint-relay-address.json +39 -0
  129. package/test-vectors/catalog/negative/multicast-network-source-empty.json +1 -1
  130. package/test-vectors/catalog/negative/raptorq-source-symbols-over-max.json +1 -1
  131. package/test-vectors/catalog/negative/raptorq-unaligned-symbol.json +2 -1
  132. package/test-vectors/catalog/positive/fec-layered-repair.json +2 -2
  133. package/test-vectors/catalog/positive/fec-multicast.json +2 -1
  134. package/test-vectors/catalog/positive/multicast-amt-manual-relay.json +38 -0
  135. package/test-vectors/catalog/positive/multicast-native-ssm-no-network-source.json +2 -1
  136. package/test-vectors/catalog/section-codes.json +33 -0
  137. package/test-vectors/catalog-timing.json +356 -0
  138. package/test-vectors/catalog-validation.json +40 -5
  139. package/test-vectors/delivery-catalog/README.md +11 -0
  140. package/test-vectors/delivery-catalog/negative/missing-block-profile.json +58 -0
  141. package/test-vectors/delivery-catalog/negative/packet-id-signaling.json +59 -0
  142. package/test-vectors/delivery-catalog/negative/retired-k-padded-block-profile.json +59 -0
  143. package/test-vectors/delivery-catalog/positive/dash.json +56 -0
  144. package/test-vectors/delivery-catalog/positive/mmtp-source-only.json +43 -0
  145. package/node_modules/@blockcast/fec-worker/README.md +0 -223
  146. package/node_modules/@blockcast/fec-worker/dist/.build-stamp +0 -0
  147. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts +0 -38
  148. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts.map +0 -1
  149. package/node_modules/@blockcast/fec-worker/dist/block-order.js +0 -78
  150. package/node_modules/@blockcast/fec-worker/dist/block-order.js.map +0 -1
  151. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts +0 -93
  152. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts.map +0 -1
  153. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js +0 -346
  154. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js.map +0 -1
  155. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts +0 -380
  156. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts.map +0 -1
  157. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js +0 -11
  158. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js.map +0 -1
  159. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts +0 -14
  160. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts.map +0 -1
  161. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js +0 -859
  162. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js.map +0 -7
  163. package/node_modules/@blockcast/fec-worker/dist/index.d.ts +0 -10
  164. package/node_modules/@blockcast/fec-worker/dist/index.d.ts.map +0 -1
  165. package/node_modules/@blockcast/fec-worker/dist/index.js +0 -8
  166. package/node_modules/@blockcast/fec-worker/dist/index.js.map +0 -1
  167. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts +0 -20
  168. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts.map +0 -1
  169. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js +0 -370
  170. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js.map +0 -7
  171. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts +0 -104
  172. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts.map +0 -1
  173. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js +0 -181
  174. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js.map +0 -1
  175. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts +0 -194
  176. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts.map +0 -1
  177. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js +0 -62
  178. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js.map +0 -1
  179. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts +0 -9
  180. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts.map +0 -1
  181. package/node_modules/@blockcast/fec-worker/dist/transfer.js +0 -13
  182. package/node_modules/@blockcast/fec-worker/dist/transfer.js.map +0 -1
  183. package/node_modules/@blockcast/fec-worker/package.json +0 -59
  184. package/node_modules/@blockcast/fec-worker/src/block-order.ts +0 -93
  185. package/node_modules/@blockcast/fec-worker/src/fec-worker-client.ts +0 -392
  186. package/node_modules/@blockcast/fec-worker/src/fec-worker-types.ts +0 -399
  187. package/node_modules/@blockcast/fec-worker/src/fec-worker.ts +0 -1502
  188. package/node_modules/@blockcast/fec-worker/src/index.ts +0 -35
  189. package/node_modules/@blockcast/fec-worker/src/shred-fec-worker.ts +0 -589
  190. package/node_modules/@blockcast/fec-worker/src/shred-worker-client.ts +0 -222
  191. package/node_modules/@blockcast/fec-worker/src/shred-worker-types.ts +0 -209
  192. package/node_modules/@blockcast/fec-worker/src/transfer.ts +0 -12
  193. package/node_modules/@blockcast/mmt-alta-parse/README.md +0 -181
  194. package/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  195. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +0 -57
  196. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +0 -1
  197. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js +0 -115
  198. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +0 -1
  199. package/node_modules/@blockcast/mmt-alta-parse/package.json +0 -50
  200. package/node_modules/@blockcast/mmt-alta-parse/src/index.ts +0 -136
  201. package/node_modules/@blockcast/mmt-base/README.md +0 -134
  202. package/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  203. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +0 -55
  204. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +0 -1
  205. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +0 -128
  206. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +0 -1
  207. package/node_modules/@blockcast/mmt-base/dist/index.d.ts +0 -7
  208. package/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +0 -1
  209. package/node_modules/@blockcast/mmt-base/dist/index.js +0 -7
  210. package/node_modules/@blockcast/mmt-base/dist/index.js.map +0 -1
  211. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +0 -292
  212. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +0 -1
  213. package/node_modules/@blockcast/mmt-base/dist/mmtp.js +0 -612
  214. package/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +0 -1
  215. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +0 -18
  216. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +0 -1
  217. package/node_modules/@blockcast/mmt-base/dist/net-constants.js +0 -18
  218. package/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +0 -1
  219. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +0 -47
  220. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +0 -1
  221. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js +0 -54
  222. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +0 -1
  223. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +0 -57
  224. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +0 -1
  225. package/node_modules/@blockcast/mmt-base/dist/serial-number.js +0 -98
  226. package/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +0 -1
  227. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +0 -312
  228. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +0 -1
  229. package/node_modules/@blockcast/mmt-base/dist/signalling.js +0 -637
  230. package/node_modules/@blockcast/mmt-base/dist/signalling.js.map +0 -1
  231. package/node_modules/@blockcast/mmt-base/package.json +0 -49
  232. package/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +0 -145
  233. package/node_modules/@blockcast/mmt-base/src/index.ts +0 -6
  234. package/node_modules/@blockcast/mmt-base/src/mmtp.ts +0 -892
  235. package/node_modules/@blockcast/mmt-base/src/net-constants.ts +0 -17
  236. package/node_modules/@blockcast/mmt-base/src/ntp-short.ts +0 -67
  237. package/node_modules/@blockcast/mmt-base/src/serial-number.ts +0 -107
  238. package/node_modules/@blockcast/mmt-base/src/signalling.ts +0 -862
  239. package/node_modules/@blockcast/mmt-fec/README.md +0 -271
  240. package/node_modules/@blockcast/mmt-fec/dist/.build-stamp +0 -0
  241. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts +0 -82
  242. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts.map +0 -1
  243. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js +0 -296
  244. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js.map +0 -1
  245. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts +0 -106
  246. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts.map +0 -1
  247. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js +0 -288
  248. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js.map +0 -1
  249. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts +0 -46
  250. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts.map +0 -1
  251. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js +0 -96
  252. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js.map +0 -1
  253. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts +0 -33
  254. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts.map +0 -1
  255. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js +0 -57
  256. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js.map +0 -1
  257. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts +0 -205
  258. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts.map +0 -1
  259. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js +0 -240
  260. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js.map +0 -1
  261. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts +0 -28
  262. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts.map +0 -1
  263. package/node_modules/@blockcast/mmt-fec/dist/index.js +0 -28
  264. package/node_modules/@blockcast/mmt-fec/dist/index.js.map +0 -1
  265. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts +0 -20
  266. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts.map +0 -1
  267. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js +0 -28
  268. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js.map +0 -1
  269. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts +0 -258
  270. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts.map +0 -1
  271. package/node_modules/@blockcast/mmt-fec/dist/oti.js +0 -382
  272. package/node_modules/@blockcast/mmt-fec/dist/oti.js.map +0 -1
  273. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts +0 -41
  274. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts.map +0 -1
  275. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js +0 -81
  276. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js.map +0 -1
  277. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts +0 -82
  278. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts.map +0 -1
  279. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js +0 -170
  280. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js.map +0 -1
  281. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/README.md +0 -181
  282. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  283. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +0 -57
  284. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +0 -1
  285. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js +0 -115
  286. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +0 -1
  287. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/package.json +0 -50
  288. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/src/index.ts +0 -136
  289. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/README.md +0 -134
  290. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  291. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +0 -55
  292. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +0 -1
  293. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +0 -128
  294. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +0 -1
  295. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts +0 -7
  296. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +0 -1
  297. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js +0 -7
  298. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js.map +0 -1
  299. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +0 -292
  300. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +0 -1
  301. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js +0 -612
  302. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +0 -1
  303. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +0 -18
  304. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +0 -1
  305. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js +0 -18
  306. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +0 -1
  307. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +0 -47
  308. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +0 -1
  309. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js +0 -54
  310. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +0 -1
  311. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +0 -57
  312. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +0 -1
  313. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js +0 -98
  314. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +0 -1
  315. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +0 -312
  316. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +0 -1
  317. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js +0 -637
  318. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js.map +0 -1
  319. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/package.json +0 -49
  320. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +0 -145
  321. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/index.ts +0 -6
  322. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/mmtp.ts +0 -892
  323. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/net-constants.ts +0 -17
  324. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/ntp-short.ts +0 -67
  325. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/serial-number.ts +0 -107
  326. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/signalling.ts +0 -862
  327. package/node_modules/@blockcast/mmt-fec/package.json +0 -79
  328. package/node_modules/@blockcast/mmt-fec/src/block-manager.ts +0 -371
  329. package/node_modules/@blockcast/mmt-fec/src/block-processor.ts +0 -439
  330. package/node_modules/@blockcast/mmt-fec/src/cmaf-recovery.ts +0 -127
  331. package/node_modules/@blockcast/mmt-fec/src/cmaf-symbols.ts +0 -68
  332. package/node_modules/@blockcast/mmt-fec/src/fec-block-mapper.ts +0 -310
  333. package/node_modules/@blockcast/mmt-fec/src/index.ts +0 -94
  334. package/node_modules/@blockcast/mmt-fec/src/loc-symbols.ts +0 -34
  335. package/node_modules/@blockcast/mmt-fec/src/oti.ts +0 -463
  336. package/node_modules/@blockcast/mmt-fec/src/reorder-buffer.ts +0 -101
  337. package/node_modules/@blockcast/mmt-fec/src/repair-group.ts +0 -195
  338. package/node_modules/@blockcast/mmt-manifest-verify/dist/.build-stamp +0 -0
  339. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts +0 -28
  340. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts.map +0 -1
  341. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js +0 -128
  342. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js.map +0 -1
  343. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts +0 -4
  344. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts.map +0 -1
  345. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js +0 -4
  346. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js.map +0 -1
  347. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts +0 -37
  348. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts.map +0 -1
  349. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js +0 -179
  350. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js.map +0 -1
  351. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts +0 -99
  352. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts.map +0 -1
  353. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js +0 -492
  354. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js.map +0 -1
  355. package/node_modules/@blockcast/mmt-manifest-verify/package.json +0 -45
  356. package/node_modules/@blockcast/mmt-manifest-verify/src/admission.ts +0 -171
  357. package/node_modules/@blockcast/mmt-manifest-verify/src/index.ts +0 -3
  358. package/node_modules/@blockcast/mmt-manifest-verify/src/source-auth.ts +0 -230
  359. package/node_modules/@blockcast/mmt-manifest-verify/src/verifier.ts +0 -669
  360. package/node_modules/@noble/hashes/LICENSE +0 -21
  361. package/node_modules/@noble/hashes/README.md +0 -521
  362. package/node_modules/@noble/hashes/_assert.d.ts +0 -17
  363. package/node_modules/@noble/hashes/_assert.d.ts.map +0 -1
  364. package/node_modules/@noble/hashes/_assert.js +0 -18
  365. package/node_modules/@noble/hashes/_assert.js.map +0 -1
  366. package/node_modules/@noble/hashes/_blake.d.ts +0 -14
  367. package/node_modules/@noble/hashes/_blake.d.ts.map +0 -1
  368. package/node_modules/@noble/hashes/_blake.js +0 -50
  369. package/node_modules/@noble/hashes/_blake.js.map +0 -1
  370. package/node_modules/@noble/hashes/_md.d.ts +0 -51
  371. package/node_modules/@noble/hashes/_md.d.ts.map +0 -1
  372. package/node_modules/@noble/hashes/_md.js +0 -162
  373. package/node_modules/@noble/hashes/_md.js.map +0 -1
  374. package/node_modules/@noble/hashes/_u64.d.ts +0 -55
  375. package/node_modules/@noble/hashes/_u64.d.ts.map +0 -1
  376. package/node_modules/@noble/hashes/_u64.js +0 -90
  377. package/node_modules/@noble/hashes/_u64.js.map +0 -1
  378. package/node_modules/@noble/hashes/argon2.d.ts +0 -32
  379. package/node_modules/@noble/hashes/argon2.d.ts.map +0 -1
  380. package/node_modules/@noble/hashes/argon2.js +0 -401
  381. package/node_modules/@noble/hashes/argon2.js.map +0 -1
  382. package/node_modules/@noble/hashes/blake1.d.ts +0 -106
  383. package/node_modules/@noble/hashes/blake1.d.ts.map +0 -1
  384. package/node_modules/@noble/hashes/blake1.js +0 -459
  385. package/node_modules/@noble/hashes/blake1.js.map +0 -1
  386. package/node_modules/@noble/hashes/blake2.d.ts +0 -116
  387. package/node_modules/@noble/hashes/blake2.d.ts.map +0 -1
  388. package/node_modules/@noble/hashes/blake2.js +0 -420
  389. package/node_modules/@noble/hashes/blake2.js.map +0 -1
  390. package/node_modules/@noble/hashes/blake2b.d.ts +0 -11
  391. package/node_modules/@noble/hashes/blake2b.d.ts.map +0 -1
  392. package/node_modules/@noble/hashes/blake2b.js +0 -14
  393. package/node_modules/@noble/hashes/blake2b.js.map +0 -1
  394. package/node_modules/@noble/hashes/blake2s.d.ts +0 -20
  395. package/node_modules/@noble/hashes/blake2s.d.ts.map +0 -1
  396. package/node_modules/@noble/hashes/blake2s.js +0 -24
  397. package/node_modules/@noble/hashes/blake2s.js.map +0 -1
  398. package/node_modules/@noble/hashes/blake3.d.ts +0 -54
  399. package/node_modules/@noble/hashes/blake3.d.ts.map +0 -1
  400. package/node_modules/@noble/hashes/blake3.js +0 -255
  401. package/node_modules/@noble/hashes/blake3.js.map +0 -1
  402. package/node_modules/@noble/hashes/crypto.d.ts +0 -2
  403. package/node_modules/@noble/hashes/crypto.d.ts.map +0 -1
  404. package/node_modules/@noble/hashes/crypto.js +0 -5
  405. package/node_modules/@noble/hashes/crypto.js.map +0 -1
  406. package/node_modules/@noble/hashes/cryptoNode.d.ts +0 -2
  407. package/node_modules/@noble/hashes/cryptoNode.d.ts.map +0 -1
  408. package/node_modules/@noble/hashes/cryptoNode.js +0 -18
  409. package/node_modules/@noble/hashes/cryptoNode.js.map +0 -1
  410. package/node_modules/@noble/hashes/eskdf.d.ts +0 -47
  411. package/node_modules/@noble/hashes/eskdf.d.ts.map +0 -1
  412. package/node_modules/@noble/hashes/eskdf.js +0 -166
  413. package/node_modules/@noble/hashes/eskdf.js.map +0 -1
  414. package/node_modules/@noble/hashes/esm/_assert.d.ts +0 -17
  415. package/node_modules/@noble/hashes/esm/_assert.d.ts.map +0 -1
  416. package/node_modules/@noble/hashes/esm/_assert.js +0 -15
  417. package/node_modules/@noble/hashes/esm/_assert.js.map +0 -1
  418. package/node_modules/@noble/hashes/esm/_blake.d.ts +0 -14
  419. package/node_modules/@noble/hashes/esm/_blake.d.ts.map +0 -1
  420. package/node_modules/@noble/hashes/esm/_blake.js +0 -45
  421. package/node_modules/@noble/hashes/esm/_blake.js.map +0 -1
  422. package/node_modules/@noble/hashes/esm/_md.d.ts +0 -51
  423. package/node_modules/@noble/hashes/esm/_md.d.ts.map +0 -1
  424. package/node_modules/@noble/hashes/esm/_md.js +0 -155
  425. package/node_modules/@noble/hashes/esm/_md.js.map +0 -1
  426. package/node_modules/@noble/hashes/esm/_u64.d.ts +0 -55
  427. package/node_modules/@noble/hashes/esm/_u64.d.ts.map +0 -1
  428. package/node_modules/@noble/hashes/esm/_u64.js +0 -67
  429. package/node_modules/@noble/hashes/esm/_u64.js.map +0 -1
  430. package/node_modules/@noble/hashes/esm/argon2.d.ts +0 -32
  431. package/node_modules/@noble/hashes/esm/argon2.d.ts.map +0 -1
  432. package/node_modules/@noble/hashes/esm/argon2.js +0 -392
  433. package/node_modules/@noble/hashes/esm/argon2.js.map +0 -1
  434. package/node_modules/@noble/hashes/esm/blake1.d.ts +0 -106
  435. package/node_modules/@noble/hashes/esm/blake1.d.ts.map +0 -1
  436. package/node_modules/@noble/hashes/esm/blake1.js +0 -452
  437. package/node_modules/@noble/hashes/esm/blake1.js.map +0 -1
  438. package/node_modules/@noble/hashes/esm/blake2.d.ts +0 -116
  439. package/node_modules/@noble/hashes/esm/blake2.d.ts.map +0 -1
  440. package/node_modules/@noble/hashes/esm/blake2.js +0 -413
  441. package/node_modules/@noble/hashes/esm/blake2.js.map +0 -1
  442. package/node_modules/@noble/hashes/esm/blake2b.d.ts +0 -11
  443. package/node_modules/@noble/hashes/esm/blake2b.d.ts.map +0 -1
  444. package/node_modules/@noble/hashes/esm/blake2b.js +0 -11
  445. package/node_modules/@noble/hashes/esm/blake2b.js.map +0 -1
  446. package/node_modules/@noble/hashes/esm/blake2s.d.ts +0 -20
  447. package/node_modules/@noble/hashes/esm/blake2s.d.ts.map +0 -1
  448. package/node_modules/@noble/hashes/esm/blake2s.js +0 -21
  449. package/node_modules/@noble/hashes/esm/blake2s.js.map +0 -1
  450. package/node_modules/@noble/hashes/esm/blake3.d.ts +0 -54
  451. package/node_modules/@noble/hashes/esm/blake3.d.ts.map +0 -1
  452. package/node_modules/@noble/hashes/esm/blake3.js +0 -251
  453. package/node_modules/@noble/hashes/esm/blake3.js.map +0 -1
  454. package/node_modules/@noble/hashes/esm/crypto.d.ts +0 -2
  455. package/node_modules/@noble/hashes/esm/crypto.d.ts.map +0 -1
  456. package/node_modules/@noble/hashes/esm/crypto.js +0 -2
  457. package/node_modules/@noble/hashes/esm/crypto.js.map +0 -1
  458. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts +0 -2
  459. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map +0 -1
  460. package/node_modules/@noble/hashes/esm/cryptoNode.js +0 -15
  461. package/node_modules/@noble/hashes/esm/cryptoNode.js.map +0 -1
  462. package/node_modules/@noble/hashes/esm/eskdf.d.ts +0 -47
  463. package/node_modules/@noble/hashes/esm/eskdf.d.ts.map +0 -1
  464. package/node_modules/@noble/hashes/esm/eskdf.js +0 -160
  465. package/node_modules/@noble/hashes/esm/eskdf.js.map +0 -1
  466. package/node_modules/@noble/hashes/esm/hkdf.d.ts +0 -36
  467. package/node_modules/@noble/hashes/esm/hkdf.d.ts.map +0 -1
  468. package/node_modules/@noble/hashes/esm/hkdf.js +0 -82
  469. package/node_modules/@noble/hashes/esm/hkdf.js.map +0 -1
  470. package/node_modules/@noble/hashes/esm/hmac.d.ts +0 -35
  471. package/node_modules/@noble/hashes/esm/hmac.d.ts.map +0 -1
  472. package/node_modules/@noble/hashes/esm/hmac.js +0 -86
  473. package/node_modules/@noble/hashes/esm/hmac.js.map +0 -1
  474. package/node_modules/@noble/hashes/esm/index.d.ts +0 -2
  475. package/node_modules/@noble/hashes/esm/index.d.ts.map +0 -1
  476. package/node_modules/@noble/hashes/esm/index.js +0 -33
  477. package/node_modules/@noble/hashes/esm/index.js.map +0 -1
  478. package/node_modules/@noble/hashes/esm/legacy.d.ts +0 -71
  479. package/node_modules/@noble/hashes/esm/legacy.d.ts.map +0 -1
  480. package/node_modules/@noble/hashes/esm/legacy.js +0 -281
  481. package/node_modules/@noble/hashes/esm/legacy.js.map +0 -1
  482. package/node_modules/@noble/hashes/esm/package.json +0 -10
  483. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts +0 -23
  484. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map +0 -1
  485. package/node_modules/@noble/hashes/esm/pbkdf2.js +0 -97
  486. package/node_modules/@noble/hashes/esm/pbkdf2.js.map +0 -1
  487. package/node_modules/@noble/hashes/esm/ripemd160.d.ts +0 -13
  488. package/node_modules/@noble/hashes/esm/ripemd160.d.ts.map +0 -1
  489. package/node_modules/@noble/hashes/esm/ripemd160.js +0 -13
  490. package/node_modules/@noble/hashes/esm/ripemd160.js.map +0 -1
  491. package/node_modules/@noble/hashes/esm/scrypt.d.ts +0 -34
  492. package/node_modules/@noble/hashes/esm/scrypt.d.ts.map +0 -1
  493. package/node_modules/@noble/hashes/esm/scrypt.js +0 -228
  494. package/node_modules/@noble/hashes/esm/scrypt.js.map +0 -1
  495. package/node_modules/@noble/hashes/esm/sha1.d.ts +0 -11
  496. package/node_modules/@noble/hashes/esm/sha1.d.ts.map +0 -1
  497. package/node_modules/@noble/hashes/esm/sha1.js +0 -11
  498. package/node_modules/@noble/hashes/esm/sha1.js.map +0 -1
  499. package/node_modules/@noble/hashes/esm/sha2.d.ts +0 -159
  500. package/node_modules/@noble/hashes/esm/sha2.d.ts.map +0 -1
  501. package/node_modules/@noble/hashes/esm/sha2.js +0 -375
  502. package/node_modules/@noble/hashes/esm/sha2.js.map +0 -1
  503. package/node_modules/@noble/hashes/esm/sha256.d.ts +0 -20
  504. package/node_modules/@noble/hashes/esm/sha256.d.ts.map +0 -1
  505. package/node_modules/@noble/hashes/esm/sha256.js +0 -20
  506. package/node_modules/@noble/hashes/esm/sha256.js.map +0 -1
  507. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts +0 -142
  508. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map +0 -1
  509. package/node_modules/@noble/hashes/esm/sha3-addons.js +0 -393
  510. package/node_modules/@noble/hashes/esm/sha3-addons.js.map +0 -1
  511. package/node_modules/@noble/hashes/esm/sha3.d.ts +0 -53
  512. package/node_modules/@noble/hashes/esm/sha3.d.ts.map +0 -1
  513. package/node_modules/@noble/hashes/esm/sha3.js +0 -234
  514. package/node_modules/@noble/hashes/esm/sha3.js.map +0 -1
  515. package/node_modules/@noble/hashes/esm/sha512.d.ts +0 -26
  516. package/node_modules/@noble/hashes/esm/sha512.d.ts.map +0 -1
  517. package/node_modules/@noble/hashes/esm/sha512.js +0 -26
  518. package/node_modules/@noble/hashes/esm/sha512.js.map +0 -1
  519. package/node_modules/@noble/hashes/esm/utils.d.ts +0 -161
  520. package/node_modules/@noble/hashes/esm/utils.d.ts.map +0 -1
  521. package/node_modules/@noble/hashes/esm/utils.js +0 -281
  522. package/node_modules/@noble/hashes/esm/utils.js.map +0 -1
  523. package/node_modules/@noble/hashes/hkdf.d.ts +0 -36
  524. package/node_modules/@noble/hashes/hkdf.d.ts.map +0 -1
  525. package/node_modules/@noble/hashes/hkdf.js +0 -88
  526. package/node_modules/@noble/hashes/hkdf.js.map +0 -1
  527. package/node_modules/@noble/hashes/hmac.d.ts +0 -35
  528. package/node_modules/@noble/hashes/hmac.d.ts.map +0 -1
  529. package/node_modules/@noble/hashes/hmac.js +0 -91
  530. package/node_modules/@noble/hashes/hmac.js.map +0 -1
  531. package/node_modules/@noble/hashes/index.d.ts +0 -1
  532. package/node_modules/@noble/hashes/index.d.ts.map +0 -1
  533. package/node_modules/@noble/hashes/index.js +0 -33
  534. package/node_modules/@noble/hashes/index.js.map +0 -1
  535. package/node_modules/@noble/hashes/legacy.d.ts +0 -71
  536. package/node_modules/@noble/hashes/legacy.d.ts.map +0 -1
  537. package/node_modules/@noble/hashes/legacy.js +0 -287
  538. package/node_modules/@noble/hashes/legacy.js.map +0 -1
  539. package/node_modules/@noble/hashes/package.json +0 -266
  540. package/node_modules/@noble/hashes/pbkdf2.d.ts +0 -23
  541. package/node_modules/@noble/hashes/pbkdf2.d.ts.map +0 -1
  542. package/node_modules/@noble/hashes/pbkdf2.js +0 -101
  543. package/node_modules/@noble/hashes/pbkdf2.js.map +0 -1
  544. package/node_modules/@noble/hashes/ripemd160.d.ts +0 -13
  545. package/node_modules/@noble/hashes/ripemd160.d.ts.map +0 -1
  546. package/node_modules/@noble/hashes/ripemd160.js +0 -16
  547. package/node_modules/@noble/hashes/ripemd160.js.map +0 -1
  548. package/node_modules/@noble/hashes/scrypt.d.ts +0 -34
  549. package/node_modules/@noble/hashes/scrypt.d.ts.map +0 -1
  550. package/node_modules/@noble/hashes/scrypt.js +0 -232
  551. package/node_modules/@noble/hashes/scrypt.js.map +0 -1
  552. package/node_modules/@noble/hashes/sha1.d.ts +0 -11
  553. package/node_modules/@noble/hashes/sha1.d.ts.map +0 -1
  554. package/node_modules/@noble/hashes/sha1.js +0 -14
  555. package/node_modules/@noble/hashes/sha1.js.map +0 -1
  556. package/node_modules/@noble/hashes/sha2.d.ts +0 -159
  557. package/node_modules/@noble/hashes/sha2.d.ts.map +0 -1
  558. package/node_modules/@noble/hashes/sha2.js +0 -384
  559. package/node_modules/@noble/hashes/sha2.js.map +0 -1
  560. package/node_modules/@noble/hashes/sha256.d.ts +0 -20
  561. package/node_modules/@noble/hashes/sha256.d.ts.map +0 -1
  562. package/node_modules/@noble/hashes/sha256.js +0 -23
  563. package/node_modules/@noble/hashes/sha256.js.map +0 -1
  564. package/node_modules/@noble/hashes/sha3-addons.d.ts +0 -142
  565. package/node_modules/@noble/hashes/sha3-addons.d.ts.map +0 -1
  566. package/node_modules/@noble/hashes/sha3-addons.js +0 -402
  567. package/node_modules/@noble/hashes/sha3-addons.js.map +0 -1
  568. package/node_modules/@noble/hashes/sha3.d.ts +0 -53
  569. package/node_modules/@noble/hashes/sha3.d.ts.map +0 -1
  570. package/node_modules/@noble/hashes/sha3.js +0 -239
  571. package/node_modules/@noble/hashes/sha3.js.map +0 -1
  572. package/node_modules/@noble/hashes/sha512.d.ts +0 -26
  573. package/node_modules/@noble/hashes/sha512.d.ts.map +0 -1
  574. package/node_modules/@noble/hashes/sha512.js +0 -29
  575. package/node_modules/@noble/hashes/sha512.js.map +0 -1
  576. package/node_modules/@noble/hashes/src/_assert.ts +0 -22
  577. package/node_modules/@noble/hashes/src/_blake.ts +0 -50
  578. package/node_modules/@noble/hashes/src/_md.ts +0 -176
  579. package/node_modules/@noble/hashes/src/_u64.ts +0 -91
  580. package/node_modules/@noble/hashes/src/argon2.ts +0 -497
  581. package/node_modules/@noble/hashes/src/blake1.ts +0 -534
  582. package/node_modules/@noble/hashes/src/blake2.ts +0 -486
  583. package/node_modules/@noble/hashes/src/blake2b.ts +0 -10
  584. package/node_modules/@noble/hashes/src/blake2s.ts +0 -20
  585. package/node_modules/@noble/hashes/src/blake3.ts +0 -272
  586. package/node_modules/@noble/hashes/src/crypto.ts +0 -9
  587. package/node_modules/@noble/hashes/src/cryptoNode.ts +0 -15
  588. package/node_modules/@noble/hashes/src/eskdf.ts +0 -187
  589. package/node_modules/@noble/hashes/src/hkdf.ts +0 -88
  590. package/node_modules/@noble/hashes/src/hmac.ts +0 -94
  591. package/node_modules/@noble/hashes/src/index.ts +0 -31
  592. package/node_modules/@noble/hashes/src/legacy.ts +0 -293
  593. package/node_modules/@noble/hashes/src/pbkdf2.ts +0 -122
  594. package/node_modules/@noble/hashes/src/ripemd160.ts +0 -12
  595. package/node_modules/@noble/hashes/src/scrypt.ts +0 -257
  596. package/node_modules/@noble/hashes/src/sha1.ts +0 -10
  597. package/node_modules/@noble/hashes/src/sha2.ts +0 -402
  598. package/node_modules/@noble/hashes/src/sha256.ts +0 -24
  599. package/node_modules/@noble/hashes/src/sha3-addons.ts +0 -499
  600. package/node_modules/@noble/hashes/src/sha3.ts +0 -258
  601. package/node_modules/@noble/hashes/src/sha512.ts +0 -34
  602. package/node_modules/@noble/hashes/src/utils.ts +0 -395
  603. package/node_modules/@noble/hashes/utils.d.ts +0 -161
  604. package/node_modules/@noble/hashes/utils.d.ts.map +0 -1
  605. package/node_modules/@noble/hashes/utils.js +0 -313
  606. package/node_modules/@noble/hashes/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"cmaf-symbols.js","sourceRoot":"","sources":["../src/cmaf-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC7B,IAAgB,EAChB,MAAyC;IAEzC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CACjC,OAAqB,EACrB,MAAkC;IAElC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC;QAC9D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;QACrB,IAAI,MAAM,IAAI,cAAc;YAAE,MAAM;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,UAAkB;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,205 +0,0 @@
1
- /**
2
- * FEC Block Mapper — catalog block geometry for one FEC stream.
3
- *
4
- * Carries the catalog FEC geometry every consumer shares (K, the block span
5
- * `interleaveDepthMs`, the media-unit duration, and the derived media units per
6
- * block D) together with the stream's `fec.blockProfile` (BLO-35597).
7
- *
8
- * It deliberately does NOT map MoQ media groups to FEC blocks. A recovered
9
- * packet's media group is read from its own MMTP/MPU header
10
- * ({@link recoveredPacketMediaGroup}), never from SBN arithmetic, and a source
11
- * symbol's block comes from the wire:
12
- *
13
- * - `k-padded-v1`: `SBN = floor(SS_ID / K)`, `ESI = SS_ID mod K`
14
- * ({@link FecBlockMapper.fromSsId}).
15
- * - `iso-ssbg1-v1`: a block is the SS_ID range `[SS_Start, SS_Start +
16
- * SSB_length)` its Repair FEC Payload ID states (ISO/IEC 23008-1 C.5.3), so
17
- * SS_ID alone locates nothing and `fromSsId` throws.
18
- *
19
- * Object FEC (draft-ramadan-moq-fec §9.1) is the one exception: there each MoQ
20
- * group IS its own FEC block, so {@link ObjectBlockMapper} keeps its identity
21
- * `derive`.
22
- */
23
- import { type FecBlockProfile } from "@blockcast/mmt-base";
24
- /** Configuration from catalog FEC parameters. */
25
- export interface FecBlockConfig {
26
- /** Block time span from catalog fec.interleaveDepthMs (milliseconds). */
27
- interleaveDepthMs: number;
28
- /** GOP/frame duration (milliseconds). Measured from actual MMTP timestamps. */
29
- gopDurationMs: number;
30
- /**
31
- * K from catalog fec.sourceSymbols: the source symbols per block under
32
- * `k-padded-v1`, the maximum SSB_length under `iso-ssbg1-v1`.
33
- */
34
- k: number;
35
- /**
36
- * The catalog `fec.blockProfile`. Required and validated with
37
- * `parseFecBlockProfile`: there is no default and nothing is inferred.
38
- */
39
- blockProfile: FecBlockProfile;
40
- }
41
- /** FEC coordinates of one MoQ object, for the mappers whose groups are blocks. */
42
- export interface FecCoordinates {
43
- /** Source Block Number */
44
- sbn: number;
45
- /** Encoding Symbol ID within block (0..K-1 for source symbols) */
46
- esi: number;
47
- /** Flat source symbol ID */
48
- ssId: number;
49
- }
50
- /**
51
- * The media group (MPU sequence number) of a recovered MMTP packet, read from
52
- * the packet's own MMTP header and MPU payload header. The media group of a
53
- * recovered packet is a field the wire states; it is never derived from the
54
- * FEC block it was recovered in.
55
- *
56
- * @param packet - One protected MMTP packet (as recovered from a source symbol)
57
- * @returns The packet's `MPU_sequence_number`
58
- * @throws when the packet is not a parseable MMTP MPU packet
59
- */
60
- export declare function recoveredPacketMediaGroup(packet: Uint8Array): number;
61
- /**
62
- * Module-private marker for the one mapper without an FEC instance. A stream
63
- * with no FEC has no block profile, and only {@link NullBlockMapper} can say
64
- * so: this symbol is not exported, so every other construction must name a
65
- * profile.
66
- */
67
- declare const NO_FEC_INSTANCE: unique symbol;
68
- /** The geometry NullBlockMapper hands the base class: no block profile. */
69
- interface NoFecInstanceConfig {
70
- readonly interleaveDepthMs: number;
71
- readonly gopDurationMs: number;
72
- readonly k: number;
73
- readonly blockProfile: typeof NO_FEC_INSTANCE;
74
- }
75
- /** Catalog FEC geometry and block profile for one FEC stream. */
76
- export declare class FecBlockMapper {
77
- /** Media units (GOPs/frames) per FEC block, recovered with positive round-half-up semantics. */
78
- readonly d: number;
79
- /** K: source symbols per block (`k-padded-v1`) or the maximum SSB_length (`iso-ssbg1-v1`). */
80
- readonly k: number;
81
- /** Block time span (ms) — used as pacing threshold */
82
- readonly interleaveDepthMs: number;
83
- /** GOP/frame duration (ms) */
84
- readonly gopDurationMs: number;
85
- /**
86
- * The stream's `fec.blockProfile`. `null` only for {@link NullBlockMapper}:
87
- * a stream without an FEC instance has no block profile.
88
- */
89
- readonly blockProfile: FecBlockProfile | null;
90
- /**
91
- * @param config - Catalog FEC geometry and block profile
92
- * @throws when `k` is not positive, the block profile is absent or unknown,
93
- * or the timing cannot define D
94
- */
95
- constructor(config: FecBlockConfig | NoFecInstanceConfig);
96
- /**
97
- * The `k-padded-v1` locator: SS_ID → (SBN, ESI) with `SBN = floor(SS_ID / K)`
98
- * and `ESI = SS_ID mod K`, for MMTP over multicast UDP where the Source FEC
99
- * Payload ID carries SS_ID directly.
100
- *
101
- * @throws under `iso-ssbg1-v1`, where a block is located by
102
- * `(SS_Start, SSB_length)` range membership and never from SS_ID alone
103
- */
104
- fromSsId(ssId: number): {
105
- sbn: number;
106
- esi: number;
107
- };
108
- /**
109
- * Pacing threshold: one full block duration = interleaveDepthMs.
110
- * The minimum buffer needed before FEC recovery can start.
111
- */
112
- get pacingThresholdMs(): number;
113
- /**
114
- * The media group of a recovered packet, from its own header; see
115
- * {@link recoveredPacketMediaGroup}. Identical under every block profile.
116
- */
117
- mediaGroupOf(packet: Uint8Array): number;
118
- }
119
- /**
120
- * Null/raw mode: no FEC. Every group is its own "block".
121
- * Used when catalog has no FEC config (ATSC raw, DVB dongles, no-FEC MMTP).
122
- * IWA uses this for passthrough visualization.
123
- *
124
- * A stream without an FEC instance names no `fec.blockProfile`, so this
125
- * mapper carries none (`blockProfile === null`) and needs none to construct.
126
- */
127
- export declare class NullBlockMapper extends FecBlockMapper {
128
- /** @param gopDurationMs - GOP/frame duration (ms), from catalog framerate or sampleRate */
129
- constructor(gopDurationMs: number);
130
- /** Every group is its own single-symbol block: SBN = group, ESI = object, SS_ID = group. */
131
- derive(groupId: number, objectId: number): FecCoordinates;
132
- /** The inverse of {@link NullBlockMapper.derive}: every SS_ID is its own one-symbol block. */
133
- fromSsId(ssId: number): {
134
- sbn: number;
135
- esi: number;
136
- };
137
- /** No FEC: nothing to wait for, so pacing never sleeps. */
138
- get pacingThresholdMs(): number;
139
- }
140
- /**
141
- * Object-level FEC (§9.1): each MoQ group (frame) is its own FEC block.
142
- * K_actual = ceil(frame_bytes / symbolSize) — varies per block.
143
- *
144
- * SBN = group_id, ESI = object_id.
145
- * SS_ID = Group_ID * sourceSymbols + Object_ID (§9.1.2).
146
- *
147
- * That SS_ID is the K-stride numbering of `k-padded-v1`; `iso-ssbg1-v1`
148
- * numbers SS_IDs consecutively per source packet (ISO/IEC 23008-1 C.5.2), so
149
- * §9.1 object FEC is defined only under `k-padded-v1` and the constructor
150
- * refuses any other profile.
151
- *
152
- * The stride of that numbering is the catalog `sourceSymbols`, never a
153
- * block's own K: a short block (K_actual < sourceSymbols) still starts at
154
- * `Group_ID * sourceSymbols` (its repair's SS_Start) and leaves the rest of
155
- * its stride unused, which is exactly `k-padded-v1` with `SSB_length =
156
- * K_actual`. So the SS_ID locator is the inherited
157
- * {@link FecBlockMapper.fromSsId} over `k = sourceSymbols`, the exact inverse
158
- * of {@link ObjectBlockMapper.derive}; it needs no per-block K and infers
159
- * nothing.
160
- *
161
- * This mapper does NOT carry per-block K. Each block discovers its own K from:
162
- * 1. Clean reception: counting source objects per group
163
- * 2. Repair packets: SSB_length in the Repair FEC Payload ID (ISO 23008-1 C.5.3)
164
- *
165
- * Callers MUST pass per-block K to FecBlockManager.addSourcePacket/addRepairPacket.
166
- * Created once per stream, GC'd on stream close (Effect cleanup).
167
- */
168
- export declare class ObjectBlockMapper extends FecBlockMapper {
169
- /** Catalog sourceSymbols (max K) — used ONLY for SS_ID encoding (§9.1.2).
170
- * Actual per-block K varies: K_actual = ceil(frame_bytes / symbolSize). */
171
- readonly sourceSymbolsMax: number;
172
- /**
173
- * @param gopDurationMs - GOP/frame duration (ms)
174
- * @param sourceSymbolsMax - Catalog `fec.sourceSymbols`
175
- * @param blockProfile - Catalog `fec.blockProfile`; must be `k-padded-v1`
176
- */
177
- constructor(gopDurationMs: number, sourceSymbolsMax: number, blockProfile: FecBlockProfile);
178
- /**
179
- * SBN = group_id, ESI = object_id. SS_ID per §9.1.2. Its inverse is the
180
- * inherited `fromSsId` (SBN = floor(SS_ID / sourceSymbols), ESI = SS_ID mod
181
- * sourceSymbols).
182
- */
183
- derive(groupId: number, objectId: number): FecCoordinates;
184
- /** One frame of latency: each frame is its own block. */
185
- get pacingThresholdMs(): number;
186
- }
187
- /**
188
- * Create a FecBlockMapper from catalog FEC config + measured GOP duration.
189
- *
190
- * - No FEC instance (`fecConfig` absent or no `sourceSymbols`) →
191
- * {@link NullBlockMapper}; `fec.blockProfile` is not read, since a stream
192
- * without FEC names none.
193
- * - Otherwise `fec.blockProfile` is required (validated with
194
- * `parseFecBlockProfile`, throwing when absent or unknown), and
195
- * `mode: 'object'` → {@link ObjectBlockMapper}, else {@link FecBlockMapper}.
196
- */
197
- export declare function createMapper(fecConfig: {
198
- interleaveDepthMs?: number;
199
- sourceSymbols?: number;
200
- mode?: string;
201
- /** Catalog `fec.blockProfile`; required whenever `sourceSymbols` is declared. */
202
- blockProfile?: unknown;
203
- } | undefined, gopDurationMs: number): FecBlockMapper;
204
- export {};
205
- //# sourceMappingURL=fec-block-mapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fec-block-mapper.d.ts","sourceRoot":"","sources":["../src/fec-block-mapper.ts"],"names":[],"mappings":"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"}
@@ -1,240 +0,0 @@
1
- /**
2
- * FEC Block Mapper — catalog block geometry for one FEC stream.
3
- *
4
- * Carries the catalog FEC geometry every consumer shares (K, the block span
5
- * `interleaveDepthMs`, the media-unit duration, and the derived media units per
6
- * block D) together with the stream's `fec.blockProfile` (BLO-35597).
7
- *
8
- * It deliberately does NOT map MoQ media groups to FEC blocks. A recovered
9
- * packet's media group is read from its own MMTP/MPU header
10
- * ({@link recoveredPacketMediaGroup}), never from SBN arithmetic, and a source
11
- * symbol's block comes from the wire:
12
- *
13
- * - `k-padded-v1`: `SBN = floor(SS_ID / K)`, `ESI = SS_ID mod K`
14
- * ({@link FecBlockMapper.fromSsId}).
15
- * - `iso-ssbg1-v1`: a block is the SS_ID range `[SS_Start, SS_Start +
16
- * SSB_length)` its Repair FEC Payload ID states (ISO/IEC 23008-1 C.5.3), so
17
- * SS_ID alone locates nothing and `fromSsId` throws.
18
- *
19
- * Object FEC (draft-ramadan-moq-fec §9.1) is the one exception: there each MoQ
20
- * group IS its own FEC block, so {@link ObjectBlockMapper} keeps its identity
21
- * `derive`.
22
- */
23
- import { PACKET_TYPE_MPU, parseFecBlockProfile, parseMMTPHeader, parseMPUHeader, } from "@blockcast/mmt-base";
24
- import { deriveFecInterleaveDepth } from "./oti.js";
25
- /**
26
- * The media group (MPU sequence number) of a recovered MMTP packet, read from
27
- * the packet's own MMTP header and MPU payload header. The media group of a
28
- * recovered packet is a field the wire states; it is never derived from the
29
- * FEC block it was recovered in.
30
- *
31
- * @param packet - One protected MMTP packet (as recovered from a source symbol)
32
- * @returns The packet's `MPU_sequence_number`
33
- * @throws when the packet is not a parseable MMTP MPU packet
34
- */
35
- export function recoveredPacketMediaGroup(packet) {
36
- const header = parseMMTPHeader(packet);
37
- if (header.packetType !== PACKET_TYPE_MPU) {
38
- throw new Error(`recovered packet is not an MPU packet (packet_type 0x${header.packetType.toString(16).padStart(2, "0")}); it has no media group`);
39
- }
40
- return parseMPUHeader(packet.subarray(header.headerLength)).mpuSequenceNumber;
41
- }
42
- /**
43
- * Module-private marker for the one mapper without an FEC instance. A stream
44
- * with no FEC has no block profile, and only {@link NullBlockMapper} can say
45
- * so: this symbol is not exported, so every other construction must name a
46
- * profile.
47
- */
48
- const NO_FEC_INSTANCE = Symbol("no FEC instance");
49
- /** Catalog FEC geometry and block profile for one FEC stream. */
50
- export class FecBlockMapper {
51
- /** Media units (GOPs/frames) per FEC block, recovered with positive round-half-up semantics. */
52
- d;
53
- /** K: source symbols per block (`k-padded-v1`) or the maximum SSB_length (`iso-ssbg1-v1`). */
54
- k;
55
- /** Block time span (ms) — used as pacing threshold */
56
- interleaveDepthMs;
57
- /** GOP/frame duration (ms) */
58
- gopDurationMs;
59
- /**
60
- * The stream's `fec.blockProfile`. `null` only for {@link NullBlockMapper}:
61
- * a stream without an FEC instance has no block profile.
62
- */
63
- blockProfile;
64
- /**
65
- * @param config - Catalog FEC geometry and block profile
66
- * @throws when `k` is not positive, the block profile is absent or unknown,
67
- * or the timing cannot define D
68
- */
69
- constructor(config) {
70
- if (config.k <= 0)
71
- throw new Error('k must be > 0');
72
- this.blockProfile = config.blockProfile === NO_FEC_INSTANCE
73
- ? null
74
- : parseFecBlockProfile(config.blockProfile, 'FecBlockConfig.blockProfile');
75
- this.k = config.k;
76
- this.interleaveDepthMs = config.interleaveDepthMs;
77
- this.gopDurationMs = config.gopDurationMs;
78
- this.d = deriveFecInterleaveDepth(config.interleaveDepthMs, config.gopDurationMs);
79
- }
80
- /**
81
- * The `k-padded-v1` locator: SS_ID → (SBN, ESI) with `SBN = floor(SS_ID / K)`
82
- * and `ESI = SS_ID mod K`, for MMTP over multicast UDP where the Source FEC
83
- * Payload ID carries SS_ID directly.
84
- *
85
- * @throws under `iso-ssbg1-v1`, where a block is located by
86
- * `(SS_Start, SSB_length)` range membership and never from SS_ID alone
87
- */
88
- fromSsId(ssId) {
89
- if (this.blockProfile !== 'k-padded-v1') {
90
- throw new Error(`fromSsId is the k-padded-v1 locator; a ${this.blockProfile ?? 'non-FEC'} stream locates a block by ` +
91
- '(SS_Start, SSB_length) range membership, never from SS_ID alone');
92
- }
93
- return {
94
- sbn: Math.floor(ssId / this.k),
95
- esi: ssId % this.k,
96
- };
97
- }
98
- /**
99
- * Pacing threshold: one full block duration = interleaveDepthMs.
100
- * The minimum buffer needed before FEC recovery can start.
101
- */
102
- get pacingThresholdMs() {
103
- return this.interleaveDepthMs;
104
- }
105
- /**
106
- * The media group of a recovered packet, from its own header; see
107
- * {@link recoveredPacketMediaGroup}. Identical under every block profile.
108
- */
109
- mediaGroupOf(packet) {
110
- return recoveredPacketMediaGroup(packet);
111
- }
112
- }
113
- /**
114
- * Null/raw mode: no FEC. Every group is its own "block".
115
- * Used when catalog has no FEC config (ATSC raw, DVB dongles, no-FEC MMTP).
116
- * IWA uses this for passthrough visualization.
117
- *
118
- * A stream without an FEC instance names no `fec.blockProfile`, so this
119
- * mapper carries none (`blockProfile === null`) and needs none to construct.
120
- */
121
- export class NullBlockMapper extends FecBlockMapper {
122
- /** @param gopDurationMs - GOP/frame duration (ms), from catalog framerate or sampleRate */
123
- constructor(gopDurationMs) {
124
- if (gopDurationMs <= 0)
125
- throw new Error('NullBlockMapper: gopDurationMs must be > 0 (derive from catalog framerate or sampleRate)');
126
- // D=1, K=1: each group is a single-symbol block
127
- super({ interleaveDepthMs: gopDurationMs, gopDurationMs, k: 1, blockProfile: NO_FEC_INSTANCE });
128
- }
129
- /** Every group is its own single-symbol block: SBN = group, ESI = object, SS_ID = group. */
130
- derive(groupId, objectId) {
131
- return {
132
- sbn: groupId,
133
- esi: objectId,
134
- ssId: groupId,
135
- };
136
- }
137
- /** The inverse of {@link NullBlockMapper.derive}: every SS_ID is its own one-symbol block. */
138
- fromSsId(ssId) {
139
- return { sbn: ssId, esi: 0 };
140
- }
141
- /** No FEC: nothing to wait for, so pacing never sleeps. */
142
- get pacingThresholdMs() {
143
- return 0;
144
- }
145
- }
146
- /**
147
- * Object-level FEC (§9.1): each MoQ group (frame) is its own FEC block.
148
- * K_actual = ceil(frame_bytes / symbolSize) — varies per block.
149
- *
150
- * SBN = group_id, ESI = object_id.
151
- * SS_ID = Group_ID * sourceSymbols + Object_ID (§9.1.2).
152
- *
153
- * That SS_ID is the K-stride numbering of `k-padded-v1`; `iso-ssbg1-v1`
154
- * numbers SS_IDs consecutively per source packet (ISO/IEC 23008-1 C.5.2), so
155
- * §9.1 object FEC is defined only under `k-padded-v1` and the constructor
156
- * refuses any other profile.
157
- *
158
- * The stride of that numbering is the catalog `sourceSymbols`, never a
159
- * block's own K: a short block (K_actual < sourceSymbols) still starts at
160
- * `Group_ID * sourceSymbols` (its repair's SS_Start) and leaves the rest of
161
- * its stride unused, which is exactly `k-padded-v1` with `SSB_length =
162
- * K_actual`. So the SS_ID locator is the inherited
163
- * {@link FecBlockMapper.fromSsId} over `k = sourceSymbols`, the exact inverse
164
- * of {@link ObjectBlockMapper.derive}; it needs no per-block K and infers
165
- * nothing.
166
- *
167
- * This mapper does NOT carry per-block K. Each block discovers its own K from:
168
- * 1. Clean reception: counting source objects per group
169
- * 2. Repair packets: SSB_length in the Repair FEC Payload ID (ISO 23008-1 C.5.3)
170
- *
171
- * Callers MUST pass per-block K to FecBlockManager.addSourcePacket/addRepairPacket.
172
- * Created once per stream, GC'd on stream close (Effect cleanup).
173
- */
174
- export class ObjectBlockMapper extends FecBlockMapper {
175
- /** Catalog sourceSymbols (max K) — used ONLY for SS_ID encoding (§9.1.2).
176
- * Actual per-block K varies: K_actual = ceil(frame_bytes / symbolSize). */
177
- sourceSymbolsMax;
178
- /**
179
- * @param gopDurationMs - GOP/frame duration (ms)
180
- * @param sourceSymbolsMax - Catalog `fec.sourceSymbols`
181
- * @param blockProfile - Catalog `fec.blockProfile`; must be `k-padded-v1`
182
- */
183
- constructor(gopDurationMs, sourceSymbolsMax, blockProfile) {
184
- if (sourceSymbolsMax <= 0)
185
- throw new Error('ObjectBlockMapper: sourceSymbolsMax must be > 0 (from catalog)');
186
- const profile = parseFecBlockProfile(blockProfile, 'ObjectBlockMapper fec.blockProfile');
187
- if (profile !== 'k-padded-v1') {
188
- throw new Error(`ObjectBlockMapper: §9.1 object FEC numbers SS_ID = Group_ID * K + Object_ID, the k-padded-v1 stride; ` +
189
- `it is not defined under ${profile}`);
190
- }
191
- // D=1, K=sourceSymbolsMax for SS_ID math only — actual block K varies
192
- super({ interleaveDepthMs: gopDurationMs, gopDurationMs, k: sourceSymbolsMax, blockProfile: profile });
193
- this.sourceSymbolsMax = sourceSymbolsMax;
194
- }
195
- /**
196
- * SBN = group_id, ESI = object_id. SS_ID per §9.1.2. Its inverse is the
197
- * inherited `fromSsId` (SBN = floor(SS_ID / sourceSymbols), ESI = SS_ID mod
198
- * sourceSymbols).
199
- */
200
- derive(groupId, objectId) {
201
- return {
202
- sbn: groupId,
203
- esi: objectId,
204
- ssId: groupId * this.sourceSymbolsMax + objectId,
205
- };
206
- }
207
- /** One frame of latency: each frame is its own block. */
208
- get pacingThresholdMs() {
209
- return this.gopDurationMs; // one frame latency
210
- }
211
- }
212
- /**
213
- * Create a FecBlockMapper from catalog FEC config + measured GOP duration.
214
- *
215
- * - No FEC instance (`fecConfig` absent or no `sourceSymbols`) →
216
- * {@link NullBlockMapper}; `fec.blockProfile` is not read, since a stream
217
- * without FEC names none.
218
- * - Otherwise `fec.blockProfile` is required (validated with
219
- * `parseFecBlockProfile`, throwing when absent or unknown), and
220
- * `mode: 'object'` → {@link ObjectBlockMapper}, else {@link FecBlockMapper}.
221
- */
222
- export function createMapper(fecConfig, gopDurationMs) {
223
- if (!fecConfig || !fecConfig.sourceSymbols) {
224
- return new NullBlockMapper(gopDurationMs);
225
- }
226
- const blockProfile = parseFecBlockProfile(fecConfig.blockProfile, 'fec.blockProfile');
227
- // extensions feature — see moqcast-draft docs/fec-extensions-material.md, not in public -00
228
- if (fecConfig.mode === 'object') {
229
- return new ObjectBlockMapper(gopDurationMs, fecConfig.sourceSymbols, blockProfile);
230
- }
231
- return new FecBlockMapper({
232
- interleaveDepthMs: fecConfig.interleaveDepthMs && fecConfig.interleaveDepthMs > 0
233
- ? fecConfig.interleaveDepthMs
234
- : gopDurationMs,
235
- gopDurationMs,
236
- k: fecConfig.sourceSymbols,
237
- blockProfile,
238
- });
239
- }
240
- //# sourceMappingURL=fec-block-mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fec-block-mapper.js","sourceRoot":"","sources":["../src/fec-block-mapper.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * @mmt/fec - Container-agnostic FEC client for RaptorQ (RFC 6330)
3
- *
4
- * This package provides a TypeScript wrapper around the mmt-wasm WASM bindings
5
- * for Forward Error Correction using RaptorQ (RFC 6330).
6
- *
7
- * Usage:
8
- * ```typescript
9
- * The stateful WASM decoder is owned by @blockcast/mmt-container's FecManager
10
- * or @blockcast/fec-worker. This package supplies container-independent FEC
11
- * geometry, OTI, mapping, and recovery primitives.
12
- * ```
13
- */
14
- export { FecBlockManager, FEC_STATE, type FecState, type FecBlockManagerOptions, type FecBlockStats, } from "./block-manager.js";
15
- export { processFecBlock, processFecSymbol, type ParsedFecSymbol, type ProcessFecBlockOptions, type ProcessFecBlockResult, type ProcessFecSymbolOptions, } from "./block-processor.js";
16
- export { ReorderBuffer, type ReorderBufferConfig, } from "./reorder-buffer.js";
17
- export { splitToSymbols, recoverFromSymbols, computeK, } from "./cmaf-symbols.js";
18
- export { splitFrameToSymbol, recoverFrameFromSymbol, } from "./loc-symbols.js";
19
- export { CmafFecRecovery, type CmafFecRecoveryConfig, type FecDecoder, } from "./cmaf-recovery.js";
20
- export { buildOTI, buildOTIFromCatalog, parseOTI, computeFecTimeout, deriveFecInterleaveDepth, catalogFecInterleaveMs, type FecInterleaveCatalog, parseRepairPacket, type OTIParams, fecBlockDeadlineMs, fecBlockBudgetMs, deriveFecRetentionBlocks, tryDeriveFecRetentionBlocks, MAX_FEC_RETENTION_BLOCKS, playbackLatencyMs, } from "./oti.js";
21
- export { FecBlockMapper, NullBlockMapper, ObjectBlockMapper, createMapper, recoveredPacketMediaGroup, type FecBlockConfig, type FecCoordinates, } from "./fec-block-mapper.js";
22
- /**
23
- * MoQ repair group ids for `iso-ssbg1-v1` blocks: the 62-bit
24
- * wrap-epoch-extended SS_Start, the repair FETCH range for a lost SS_ID, and
25
- * the check a received repair object's Group ID must pass.
26
- */
27
- export { extSsStart, extendSsId, repairFetchRange, repairGroupIdMatches, type RepairFetchAnchor, type RepairFetchRange, } from "./repair-group.js";
28
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACN,eAAe,EACf,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,aAAa,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACN,aAAa,EACb,KAAK,mBAAmB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,cAAc,EACd,kBAAkB,EAClB,QAAQ,GACR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,UAAU,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,QAAQ,EACR,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,KAAK,SAAS,EACd,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,GACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EACN,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,KAAK,cAAc,EACnB,KAAK,cAAc,GACnB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,OAAO,EACN,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACrB,MAAM,mBAAmB,CAAC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * @mmt/fec - Container-agnostic FEC client for RaptorQ (RFC 6330)
3
- *
4
- * This package provides a TypeScript wrapper around the mmt-wasm WASM bindings
5
- * for Forward Error Correction using RaptorQ (RFC 6330).
6
- *
7
- * Usage:
8
- * ```typescript
9
- * The stateful WASM decoder is owned by @blockcast/mmt-container's FecManager
10
- * or @blockcast/fec-worker. This package supplies container-independent FEC
11
- * geometry, OTI, mapping, and recovery primitives.
12
- * ```
13
- */
14
- export { FecBlockManager, FEC_STATE, } from "./block-manager.js";
15
- export { processFecBlock, processFecSymbol, } from "./block-processor.js";
16
- export { ReorderBuffer, } from "./reorder-buffer.js";
17
- export { splitToSymbols, recoverFromSymbols, computeK, } from "./cmaf-symbols.js";
18
- export { splitFrameToSymbol, recoverFrameFromSymbol, } from "./loc-symbols.js";
19
- export { CmafFecRecovery, } from "./cmaf-recovery.js";
20
- export { buildOTI, buildOTIFromCatalog, parseOTI, computeFecTimeout, deriveFecInterleaveDepth, catalogFecInterleaveMs, parseRepairPacket, fecBlockDeadlineMs, fecBlockBudgetMs, deriveFecRetentionBlocks, tryDeriveFecRetentionBlocks, MAX_FEC_RETENTION_BLOCKS, playbackLatencyMs, } from "./oti.js";
21
- export { FecBlockMapper, NullBlockMapper, ObjectBlockMapper, createMapper, recoveredPacketMediaGroup, } from "./fec-block-mapper.js";
22
- /**
23
- * MoQ repair group ids for `iso-ssbg1-v1` blocks: the 62-bit
24
- * wrap-epoch-extended SS_Start, the repair FETCH range for a lost SS_ID, and
25
- * the check a received repair object's Group ID must pass.
26
- */
27
- export { extSsStart, extendSsId, repairFetchRange, repairGroupIdMatches, } from "./repair-group.js";
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACN,eAAe,EACf,SAAS,GAIT,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,eAAe,EACf,gBAAgB,GAKhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACN,aAAa,GAEb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,cAAc,EACd,kBAAkB,EAClB,QAAQ,GACR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,eAAe,GAGf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,QAAQ,EACR,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EAEtB,iBAAiB,EAEjB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,GACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EACN,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,GAGzB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,OAAO,EACN,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,oBAAoB,GAGpB,MAAM,mBAAmB,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * LOC Frame Symbol Splitter — per-frame FEC symbol operations for LOC
3
- * (Low Overhead Container) raw codec bitstream frames.
4
- *
5
- * Unlike CMAF chunks which may span multiple symbols (K > 1), LOC frames
6
- * map 1:1 to a single FEC symbol: pad to symbolSize or truncate.
7
- *
8
- * Pure functions — no side effects, no state.
9
- */
10
- /**
11
- * Pad a LOC frame (raw codec bitstream) to FEC symbol size.
12
- * If the frame is already >= symbolSize, truncate to symbolSize.
13
- */
14
- export declare function splitFrameToSymbol(frame: Uint8Array, symbolSize: number): Uint8Array;
15
- /**
16
- * Strip padding from a recovered FEC symbol to get the original frame.
17
- * Uses the known original length to trim zero-padding.
18
- */
19
- export declare function recoverFrameFromSymbol(symbol: Uint8Array, originalLength: number): Uint8Array;
20
- //# sourceMappingURL=loc-symbols.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loc-symbols.d.ts","sourceRoot":"","sources":["../src/loc-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,GAChB,UAAU,CAKZ;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,GACpB,UAAU,CAEZ"}
@@ -1,28 +0,0 @@
1
- /**
2
- * LOC Frame Symbol Splitter — per-frame FEC symbol operations for LOC
3
- * (Low Overhead Container) raw codec bitstream frames.
4
- *
5
- * Unlike CMAF chunks which may span multiple symbols (K > 1), LOC frames
6
- * map 1:1 to a single FEC symbol: pad to symbolSize or truncate.
7
- *
8
- * Pure functions — no side effects, no state.
9
- */
10
- /**
11
- * Pad a LOC frame (raw codec bitstream) to FEC symbol size.
12
- * If the frame is already >= symbolSize, truncate to symbolSize.
13
- */
14
- export function splitFrameToSymbol(frame, symbolSize) {
15
- if (frame.length >= symbolSize)
16
- return frame.subarray(0, symbolSize);
17
- const padded = new Uint8Array(symbolSize); // zero-initialized
18
- padded.set(frame);
19
- return padded;
20
- }
21
- /**
22
- * Strip padding from a recovered FEC symbol to get the original frame.
23
- * Uses the known original length to trim zero-padding.
24
- */
25
- export function recoverFrameFromSymbol(symbol, originalLength) {
26
- return symbol.subarray(0, originalLength);
27
- }
28
- //# sourceMappingURL=loc-symbols.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loc-symbols.js","sourceRoot":"","sources":["../src/loc-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CACjC,KAAiB,EACjB,UAAkB;IAElB,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB;IAC9D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACrC,MAAkB,EAClB,cAAsB;IAEtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AAC3C,CAAC"}