@blockcast/mmt-container 0.3.0 → 0.4.0-main.d6f2737828fc

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 (588) hide show
  1. package/README.md +22 -8
  2. package/dist/browser-runtime.js +1185 -1049
  3. package/dist/browser-runtime.js.map +4 -4
  4. package/dist/carp-catalog.d.ts +24 -8
  5. package/dist/carp-catalog.d.ts.map +1 -1
  6. package/dist/carp-catalog.js +21 -8
  7. package/dist/carp-catalog.js.map +2 -2
  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 +59 -17
  11. package/dist/catalog-fec-params.js.map +3 -3
  12. package/dist/catalog-network-source.js +0 -1
  13. package/dist/catalog-network-source.js.map +2 -2
  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/delta-fallback-config.d.ts +42 -0
  19. package/dist/delta-fallback-config.d.ts.map +1 -0
  20. package/dist/delta-fallback-config.js +59 -0
  21. package/dist/delta-fallback-config.js.map +7 -0
  22. package/dist/fec-manager.d.ts +35 -26
  23. package/dist/fec-manager.d.ts.map +1 -1
  24. package/dist/fec-manager.js +300 -273
  25. package/dist/fec-manager.js.map +2 -2
  26. package/dist/fec-state.d.ts +19 -31
  27. package/dist/fec-state.d.ts.map +1 -1
  28. package/dist/fec-state.js +3 -4
  29. package/dist/fec-state.js.map +2 -2
  30. package/dist/fec-worker-setup.d.ts +16 -6
  31. package/dist/fec-worker-setup.d.ts.map +1 -1
  32. package/dist/fec-worker-setup.js +72 -34
  33. package/dist/fec-worker-setup.js.map +2 -2
  34. package/dist/index.d.ts +4 -3
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +12 -0
  37. package/dist/index.js.map +2 -2
  38. package/dist/iso-block-locator.js +0 -1
  39. package/dist/iso-block-locator.js.map +2 -2
  40. package/dist/media-router.d.ts +20 -8
  41. package/dist/media-router.d.ts.map +1 -1
  42. package/dist/media-router.js +46 -21
  43. package/dist/media-router.js.map +2 -2
  44. package/dist/mfu-reassembler.js +0 -1
  45. package/dist/mfu-reassembler.js.map +2 -2
  46. package/dist/mmtp-container-parser.d.ts +5 -0
  47. package/dist/mmtp-container-parser.d.ts.map +1 -1
  48. package/dist/mmtp-container-parser.js +22 -1
  49. package/dist/mmtp-container-parser.js.map +2 -2
  50. package/dist/mmtp-container-parser.no-modules.js +37 -9
  51. package/dist/mmtp-container-parser.no-modules.js.map +2 -2
  52. package/dist/mmtp-decode-pipeline.js +22 -1
  53. package/dist/mmtp-decode-pipeline.js.map +2 -2
  54. package/dist/mmtp-router.d.ts +36 -16
  55. package/dist/mmtp-router.d.ts.map +1 -1
  56. package/dist/mmtp-router.js +126 -213
  57. package/dist/mmtp-router.js.map +2 -2
  58. package/dist/multicast-input.js +0 -1
  59. package/dist/multicast-input.js.map +2 -2
  60. package/dist/multicast-manager.d.ts +33 -3
  61. package/dist/multicast-manager.d.ts.map +1 -1
  62. package/dist/multicast-manager.js +660 -529
  63. package/dist/multicast-manager.js.map +4 -4
  64. package/dist/multicast-transport.d.ts +1 -1
  65. package/dist/multicast-transport.d.ts.map +1 -1
  66. package/dist/multicast-transport.js +42 -14
  67. package/dist/multicast-transport.js.map +3 -3
  68. package/dist/multicast-unwrap.js +0 -1
  69. package/dist/multicast-unwrap.js.map +2 -2
  70. package/dist/no-modules.js +36 -8
  71. package/dist/no-modules.js.map +2 -2
  72. package/dist/repair-fetch.d.ts +30 -19
  73. package/dist/repair-fetch.d.ts.map +1 -1
  74. package/dist/repair-fetch.js +32 -18
  75. package/dist/repair-fetch.js.map +3 -3
  76. package/dist/repair-layers.d.ts +18 -7
  77. package/dist/repair-layers.d.ts.map +1 -1
  78. package/dist/repair-layers.js +11 -4
  79. package/dist/repair-layers.js.map +2 -2
  80. package/dist/signaling.js +0 -4
  81. package/dist/signaling.js.map +2 -2
  82. package/dist/timestamp-codec.js +0 -1
  83. package/dist/timestamp-codec.js.map +2 -2
  84. package/dist/track-session.d.ts +7 -0
  85. package/dist/track-session.d.ts.map +1 -1
  86. package/dist/track-session.js +15 -8
  87. package/dist/track-session.js.map +2 -2
  88. package/dist/wasm-mfu-reassembler.js +0 -1
  89. package/dist/wasm-mfu-reassembler.js.map +2 -2
  90. package/dist/wasm-mmtp-container-parser.js +22 -1
  91. package/dist/wasm-mmtp-container-parser.js.map +2 -2
  92. package/package.json +8 -14
  93. package/schemas/catalog.schema.json +3 -3
  94. package/src/carp-catalog.ts +35 -13
  95. package/src/catalog-fec-params.ts +173 -64
  96. package/src/cmaf-block-assembler.ts +1 -4
  97. package/src/delta-fallback-config.ts +72 -0
  98. package/src/fec-manager.ts +413 -317
  99. package/src/fec-state.ts +20 -32
  100. package/src/fec-worker-setup.ts +105 -55
  101. package/src/index.ts +10 -0
  102. package/src/media-router.ts +59 -21
  103. package/src/mmtp-container-parser.ts +26 -0
  104. package/src/mmtp-router.ts +145 -303
  105. package/src/multicast-manager.ts +172 -60
  106. package/src/multicast-transport.ts +16 -9
  107. package/src/repair-fetch.ts +46 -27
  108. package/src/repair-layers.ts +28 -8
  109. package/src/track-session.ts +28 -9
  110. package/test-vectors/catalog/README.md +34 -17
  111. package/test-vectors/catalog/negative/fec-block-profile-retired.json +52 -0
  112. package/test-vectors/catalog/negative/fec-enhancement-repair-removed.json +1 -1
  113. package/test-vectors/catalog/negative/fec-repair-layer-geometry.json +1 -1
  114. package/test-vectors/catalog/negative/fec-repair-layer-missing-symbols.json +1 -1
  115. package/test-vectors/catalog/negative/fec-repair-multiple-depends.json +1 -1
  116. package/test-vectors/catalog/negative/fec-repair-overlay-with-layer.json +1 -1
  117. package/test-vectors/catalog/negative/fec-repair-priority-out-of-band.json +1 -1
  118. package/test-vectors/catalog/negative/fec-repair-source-symbols-without-scope.json +1 -1
  119. package/test-vectors/catalog/negative/multicast-network-source-empty.json +1 -1
  120. package/test-vectors/catalog/negative/raptorq-source-symbols-over-max.json +1 -1
  121. package/test-vectors/catalog/negative/raptorq-unaligned-symbol.json +1 -1
  122. package/test-vectors/catalog/positive/fec-layered-repair.json +2 -2
  123. package/test-vectors/catalog/positive/fec-multicast.json +2 -1
  124. package/test-vectors/catalog/positive/multicast-native-ssm-no-network-source.json +2 -1
  125. package/test-vectors/catalog-timing.json +356 -0
  126. package/test-vectors/catalog-validation.json +40 -5
  127. package/node_modules/@blockcast/fec-worker/README.md +0 -223
  128. package/node_modules/@blockcast/fec-worker/dist/.build-stamp +0 -0
  129. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts +0 -38
  130. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts.map +0 -1
  131. package/node_modules/@blockcast/fec-worker/dist/block-order.js +0 -78
  132. package/node_modules/@blockcast/fec-worker/dist/block-order.js.map +0 -1
  133. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts +0 -93
  134. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts.map +0 -1
  135. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js +0 -346
  136. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js.map +0 -1
  137. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts +0 -380
  138. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts.map +0 -1
  139. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js +0 -11
  140. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js.map +0 -1
  141. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts +0 -14
  142. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts.map +0 -1
  143. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js +0 -859
  144. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js.map +0 -7
  145. package/node_modules/@blockcast/fec-worker/dist/index.d.ts +0 -10
  146. package/node_modules/@blockcast/fec-worker/dist/index.d.ts.map +0 -1
  147. package/node_modules/@blockcast/fec-worker/dist/index.js +0 -8
  148. package/node_modules/@blockcast/fec-worker/dist/index.js.map +0 -1
  149. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts +0 -20
  150. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts.map +0 -1
  151. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js +0 -370
  152. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js.map +0 -7
  153. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts +0 -104
  154. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts.map +0 -1
  155. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js +0 -181
  156. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js.map +0 -1
  157. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts +0 -194
  158. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts.map +0 -1
  159. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js +0 -62
  160. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js.map +0 -1
  161. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts +0 -9
  162. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts.map +0 -1
  163. package/node_modules/@blockcast/fec-worker/dist/transfer.js +0 -13
  164. package/node_modules/@blockcast/fec-worker/dist/transfer.js.map +0 -1
  165. package/node_modules/@blockcast/fec-worker/package.json +0 -59
  166. package/node_modules/@blockcast/fec-worker/src/block-order.ts +0 -93
  167. package/node_modules/@blockcast/fec-worker/src/fec-worker-client.ts +0 -392
  168. package/node_modules/@blockcast/fec-worker/src/fec-worker-types.ts +0 -399
  169. package/node_modules/@blockcast/fec-worker/src/fec-worker.ts +0 -1502
  170. package/node_modules/@blockcast/fec-worker/src/index.ts +0 -35
  171. package/node_modules/@blockcast/fec-worker/src/shred-fec-worker.ts +0 -589
  172. package/node_modules/@blockcast/fec-worker/src/shred-worker-client.ts +0 -222
  173. package/node_modules/@blockcast/fec-worker/src/shred-worker-types.ts +0 -209
  174. package/node_modules/@blockcast/fec-worker/src/transfer.ts +0 -12
  175. package/node_modules/@blockcast/mmt-alta-parse/README.md +0 -181
  176. package/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  177. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +0 -57
  178. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +0 -1
  179. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js +0 -115
  180. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +0 -1
  181. package/node_modules/@blockcast/mmt-alta-parse/package.json +0 -50
  182. package/node_modules/@blockcast/mmt-alta-parse/src/index.ts +0 -136
  183. package/node_modules/@blockcast/mmt-base/README.md +0 -134
  184. package/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  185. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +0 -55
  186. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +0 -1
  187. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +0 -128
  188. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +0 -1
  189. package/node_modules/@blockcast/mmt-base/dist/index.d.ts +0 -7
  190. package/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +0 -1
  191. package/node_modules/@blockcast/mmt-base/dist/index.js +0 -7
  192. package/node_modules/@blockcast/mmt-base/dist/index.js.map +0 -1
  193. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +0 -292
  194. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +0 -1
  195. package/node_modules/@blockcast/mmt-base/dist/mmtp.js +0 -612
  196. package/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +0 -1
  197. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +0 -18
  198. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +0 -1
  199. package/node_modules/@blockcast/mmt-base/dist/net-constants.js +0 -18
  200. package/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +0 -1
  201. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +0 -47
  202. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +0 -1
  203. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js +0 -54
  204. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +0 -1
  205. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +0 -57
  206. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +0 -1
  207. package/node_modules/@blockcast/mmt-base/dist/serial-number.js +0 -98
  208. package/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +0 -1
  209. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +0 -312
  210. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +0 -1
  211. package/node_modules/@blockcast/mmt-base/dist/signalling.js +0 -637
  212. package/node_modules/@blockcast/mmt-base/dist/signalling.js.map +0 -1
  213. package/node_modules/@blockcast/mmt-base/package.json +0 -49
  214. package/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +0 -145
  215. package/node_modules/@blockcast/mmt-base/src/index.ts +0 -6
  216. package/node_modules/@blockcast/mmt-base/src/mmtp.ts +0 -892
  217. package/node_modules/@blockcast/mmt-base/src/net-constants.ts +0 -17
  218. package/node_modules/@blockcast/mmt-base/src/ntp-short.ts +0 -67
  219. package/node_modules/@blockcast/mmt-base/src/serial-number.ts +0 -107
  220. package/node_modules/@blockcast/mmt-base/src/signalling.ts +0 -862
  221. package/node_modules/@blockcast/mmt-fec/README.md +0 -271
  222. package/node_modules/@blockcast/mmt-fec/dist/.build-stamp +0 -0
  223. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts +0 -82
  224. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts.map +0 -1
  225. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js +0 -296
  226. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js.map +0 -1
  227. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts +0 -106
  228. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts.map +0 -1
  229. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js +0 -288
  230. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js.map +0 -1
  231. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts +0 -46
  232. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts.map +0 -1
  233. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js +0 -96
  234. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js.map +0 -1
  235. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts +0 -33
  236. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts.map +0 -1
  237. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js +0 -57
  238. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js.map +0 -1
  239. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts +0 -205
  240. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts.map +0 -1
  241. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js +0 -240
  242. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js.map +0 -1
  243. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts +0 -28
  244. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts.map +0 -1
  245. package/node_modules/@blockcast/mmt-fec/dist/index.js +0 -28
  246. package/node_modules/@blockcast/mmt-fec/dist/index.js.map +0 -1
  247. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts +0 -20
  248. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts.map +0 -1
  249. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js +0 -28
  250. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js.map +0 -1
  251. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts +0 -258
  252. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts.map +0 -1
  253. package/node_modules/@blockcast/mmt-fec/dist/oti.js +0 -382
  254. package/node_modules/@blockcast/mmt-fec/dist/oti.js.map +0 -1
  255. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts +0 -41
  256. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts.map +0 -1
  257. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js +0 -81
  258. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js.map +0 -1
  259. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts +0 -82
  260. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts.map +0 -1
  261. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js +0 -170
  262. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js.map +0 -1
  263. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/README.md +0 -181
  264. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  265. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +0 -57
  266. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +0 -1
  267. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js +0 -115
  268. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +0 -1
  269. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/package.json +0 -50
  270. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/src/index.ts +0 -136
  271. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/README.md +0 -134
  272. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  273. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +0 -55
  274. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +0 -1
  275. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +0 -128
  276. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +0 -1
  277. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts +0 -7
  278. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +0 -1
  279. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js +0 -7
  280. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js.map +0 -1
  281. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +0 -292
  282. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +0 -1
  283. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js +0 -612
  284. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +0 -1
  285. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +0 -18
  286. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +0 -1
  287. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js +0 -18
  288. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +0 -1
  289. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +0 -47
  290. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +0 -1
  291. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js +0 -54
  292. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +0 -1
  293. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +0 -57
  294. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +0 -1
  295. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js +0 -98
  296. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +0 -1
  297. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +0 -312
  298. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +0 -1
  299. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js +0 -637
  300. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js.map +0 -1
  301. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/package.json +0 -49
  302. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +0 -145
  303. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/index.ts +0 -6
  304. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/mmtp.ts +0 -892
  305. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/net-constants.ts +0 -17
  306. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/ntp-short.ts +0 -67
  307. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/serial-number.ts +0 -107
  308. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/signalling.ts +0 -862
  309. package/node_modules/@blockcast/mmt-fec/package.json +0 -79
  310. package/node_modules/@blockcast/mmt-fec/src/block-manager.ts +0 -371
  311. package/node_modules/@blockcast/mmt-fec/src/block-processor.ts +0 -439
  312. package/node_modules/@blockcast/mmt-fec/src/cmaf-recovery.ts +0 -127
  313. package/node_modules/@blockcast/mmt-fec/src/cmaf-symbols.ts +0 -68
  314. package/node_modules/@blockcast/mmt-fec/src/fec-block-mapper.ts +0 -310
  315. package/node_modules/@blockcast/mmt-fec/src/index.ts +0 -94
  316. package/node_modules/@blockcast/mmt-fec/src/loc-symbols.ts +0 -34
  317. package/node_modules/@blockcast/mmt-fec/src/oti.ts +0 -463
  318. package/node_modules/@blockcast/mmt-fec/src/reorder-buffer.ts +0 -101
  319. package/node_modules/@blockcast/mmt-fec/src/repair-group.ts +0 -195
  320. package/node_modules/@blockcast/mmt-manifest-verify/dist/.build-stamp +0 -0
  321. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts +0 -28
  322. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts.map +0 -1
  323. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js +0 -128
  324. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js.map +0 -1
  325. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts +0 -4
  326. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts.map +0 -1
  327. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js +0 -4
  328. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js.map +0 -1
  329. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts +0 -37
  330. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts.map +0 -1
  331. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js +0 -179
  332. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js.map +0 -1
  333. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts +0 -99
  334. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts.map +0 -1
  335. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js +0 -492
  336. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js.map +0 -1
  337. package/node_modules/@blockcast/mmt-manifest-verify/package.json +0 -45
  338. package/node_modules/@blockcast/mmt-manifest-verify/src/admission.ts +0 -171
  339. package/node_modules/@blockcast/mmt-manifest-verify/src/index.ts +0 -3
  340. package/node_modules/@blockcast/mmt-manifest-verify/src/source-auth.ts +0 -230
  341. package/node_modules/@blockcast/mmt-manifest-verify/src/verifier.ts +0 -669
  342. package/node_modules/@noble/hashes/LICENSE +0 -21
  343. package/node_modules/@noble/hashes/README.md +0 -521
  344. package/node_modules/@noble/hashes/_assert.d.ts +0 -17
  345. package/node_modules/@noble/hashes/_assert.d.ts.map +0 -1
  346. package/node_modules/@noble/hashes/_assert.js +0 -18
  347. package/node_modules/@noble/hashes/_assert.js.map +0 -1
  348. package/node_modules/@noble/hashes/_blake.d.ts +0 -14
  349. package/node_modules/@noble/hashes/_blake.d.ts.map +0 -1
  350. package/node_modules/@noble/hashes/_blake.js +0 -50
  351. package/node_modules/@noble/hashes/_blake.js.map +0 -1
  352. package/node_modules/@noble/hashes/_md.d.ts +0 -51
  353. package/node_modules/@noble/hashes/_md.d.ts.map +0 -1
  354. package/node_modules/@noble/hashes/_md.js +0 -162
  355. package/node_modules/@noble/hashes/_md.js.map +0 -1
  356. package/node_modules/@noble/hashes/_u64.d.ts +0 -55
  357. package/node_modules/@noble/hashes/_u64.d.ts.map +0 -1
  358. package/node_modules/@noble/hashes/_u64.js +0 -90
  359. package/node_modules/@noble/hashes/_u64.js.map +0 -1
  360. package/node_modules/@noble/hashes/argon2.d.ts +0 -32
  361. package/node_modules/@noble/hashes/argon2.d.ts.map +0 -1
  362. package/node_modules/@noble/hashes/argon2.js +0 -401
  363. package/node_modules/@noble/hashes/argon2.js.map +0 -1
  364. package/node_modules/@noble/hashes/blake1.d.ts +0 -106
  365. package/node_modules/@noble/hashes/blake1.d.ts.map +0 -1
  366. package/node_modules/@noble/hashes/blake1.js +0 -459
  367. package/node_modules/@noble/hashes/blake1.js.map +0 -1
  368. package/node_modules/@noble/hashes/blake2.d.ts +0 -116
  369. package/node_modules/@noble/hashes/blake2.d.ts.map +0 -1
  370. package/node_modules/@noble/hashes/blake2.js +0 -420
  371. package/node_modules/@noble/hashes/blake2.js.map +0 -1
  372. package/node_modules/@noble/hashes/blake2b.d.ts +0 -11
  373. package/node_modules/@noble/hashes/blake2b.d.ts.map +0 -1
  374. package/node_modules/@noble/hashes/blake2b.js +0 -14
  375. package/node_modules/@noble/hashes/blake2b.js.map +0 -1
  376. package/node_modules/@noble/hashes/blake2s.d.ts +0 -20
  377. package/node_modules/@noble/hashes/blake2s.d.ts.map +0 -1
  378. package/node_modules/@noble/hashes/blake2s.js +0 -24
  379. package/node_modules/@noble/hashes/blake2s.js.map +0 -1
  380. package/node_modules/@noble/hashes/blake3.d.ts +0 -54
  381. package/node_modules/@noble/hashes/blake3.d.ts.map +0 -1
  382. package/node_modules/@noble/hashes/blake3.js +0 -255
  383. package/node_modules/@noble/hashes/blake3.js.map +0 -1
  384. package/node_modules/@noble/hashes/crypto.d.ts +0 -2
  385. package/node_modules/@noble/hashes/crypto.d.ts.map +0 -1
  386. package/node_modules/@noble/hashes/crypto.js +0 -5
  387. package/node_modules/@noble/hashes/crypto.js.map +0 -1
  388. package/node_modules/@noble/hashes/cryptoNode.d.ts +0 -2
  389. package/node_modules/@noble/hashes/cryptoNode.d.ts.map +0 -1
  390. package/node_modules/@noble/hashes/cryptoNode.js +0 -18
  391. package/node_modules/@noble/hashes/cryptoNode.js.map +0 -1
  392. package/node_modules/@noble/hashes/eskdf.d.ts +0 -47
  393. package/node_modules/@noble/hashes/eskdf.d.ts.map +0 -1
  394. package/node_modules/@noble/hashes/eskdf.js +0 -166
  395. package/node_modules/@noble/hashes/eskdf.js.map +0 -1
  396. package/node_modules/@noble/hashes/esm/_assert.d.ts +0 -17
  397. package/node_modules/@noble/hashes/esm/_assert.d.ts.map +0 -1
  398. package/node_modules/@noble/hashes/esm/_assert.js +0 -15
  399. package/node_modules/@noble/hashes/esm/_assert.js.map +0 -1
  400. package/node_modules/@noble/hashes/esm/_blake.d.ts +0 -14
  401. package/node_modules/@noble/hashes/esm/_blake.d.ts.map +0 -1
  402. package/node_modules/@noble/hashes/esm/_blake.js +0 -45
  403. package/node_modules/@noble/hashes/esm/_blake.js.map +0 -1
  404. package/node_modules/@noble/hashes/esm/_md.d.ts +0 -51
  405. package/node_modules/@noble/hashes/esm/_md.d.ts.map +0 -1
  406. package/node_modules/@noble/hashes/esm/_md.js +0 -155
  407. package/node_modules/@noble/hashes/esm/_md.js.map +0 -1
  408. package/node_modules/@noble/hashes/esm/_u64.d.ts +0 -55
  409. package/node_modules/@noble/hashes/esm/_u64.d.ts.map +0 -1
  410. package/node_modules/@noble/hashes/esm/_u64.js +0 -67
  411. package/node_modules/@noble/hashes/esm/_u64.js.map +0 -1
  412. package/node_modules/@noble/hashes/esm/argon2.d.ts +0 -32
  413. package/node_modules/@noble/hashes/esm/argon2.d.ts.map +0 -1
  414. package/node_modules/@noble/hashes/esm/argon2.js +0 -392
  415. package/node_modules/@noble/hashes/esm/argon2.js.map +0 -1
  416. package/node_modules/@noble/hashes/esm/blake1.d.ts +0 -106
  417. package/node_modules/@noble/hashes/esm/blake1.d.ts.map +0 -1
  418. package/node_modules/@noble/hashes/esm/blake1.js +0 -452
  419. package/node_modules/@noble/hashes/esm/blake1.js.map +0 -1
  420. package/node_modules/@noble/hashes/esm/blake2.d.ts +0 -116
  421. package/node_modules/@noble/hashes/esm/blake2.d.ts.map +0 -1
  422. package/node_modules/@noble/hashes/esm/blake2.js +0 -413
  423. package/node_modules/@noble/hashes/esm/blake2.js.map +0 -1
  424. package/node_modules/@noble/hashes/esm/blake2b.d.ts +0 -11
  425. package/node_modules/@noble/hashes/esm/blake2b.d.ts.map +0 -1
  426. package/node_modules/@noble/hashes/esm/blake2b.js +0 -11
  427. package/node_modules/@noble/hashes/esm/blake2b.js.map +0 -1
  428. package/node_modules/@noble/hashes/esm/blake2s.d.ts +0 -20
  429. package/node_modules/@noble/hashes/esm/blake2s.d.ts.map +0 -1
  430. package/node_modules/@noble/hashes/esm/blake2s.js +0 -21
  431. package/node_modules/@noble/hashes/esm/blake2s.js.map +0 -1
  432. package/node_modules/@noble/hashes/esm/blake3.d.ts +0 -54
  433. package/node_modules/@noble/hashes/esm/blake3.d.ts.map +0 -1
  434. package/node_modules/@noble/hashes/esm/blake3.js +0 -251
  435. package/node_modules/@noble/hashes/esm/blake3.js.map +0 -1
  436. package/node_modules/@noble/hashes/esm/crypto.d.ts +0 -2
  437. package/node_modules/@noble/hashes/esm/crypto.d.ts.map +0 -1
  438. package/node_modules/@noble/hashes/esm/crypto.js +0 -2
  439. package/node_modules/@noble/hashes/esm/crypto.js.map +0 -1
  440. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts +0 -2
  441. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map +0 -1
  442. package/node_modules/@noble/hashes/esm/cryptoNode.js +0 -15
  443. package/node_modules/@noble/hashes/esm/cryptoNode.js.map +0 -1
  444. package/node_modules/@noble/hashes/esm/eskdf.d.ts +0 -47
  445. package/node_modules/@noble/hashes/esm/eskdf.d.ts.map +0 -1
  446. package/node_modules/@noble/hashes/esm/eskdf.js +0 -160
  447. package/node_modules/@noble/hashes/esm/eskdf.js.map +0 -1
  448. package/node_modules/@noble/hashes/esm/hkdf.d.ts +0 -36
  449. package/node_modules/@noble/hashes/esm/hkdf.d.ts.map +0 -1
  450. package/node_modules/@noble/hashes/esm/hkdf.js +0 -82
  451. package/node_modules/@noble/hashes/esm/hkdf.js.map +0 -1
  452. package/node_modules/@noble/hashes/esm/hmac.d.ts +0 -35
  453. package/node_modules/@noble/hashes/esm/hmac.d.ts.map +0 -1
  454. package/node_modules/@noble/hashes/esm/hmac.js +0 -86
  455. package/node_modules/@noble/hashes/esm/hmac.js.map +0 -1
  456. package/node_modules/@noble/hashes/esm/index.d.ts +0 -2
  457. package/node_modules/@noble/hashes/esm/index.d.ts.map +0 -1
  458. package/node_modules/@noble/hashes/esm/index.js +0 -33
  459. package/node_modules/@noble/hashes/esm/index.js.map +0 -1
  460. package/node_modules/@noble/hashes/esm/legacy.d.ts +0 -71
  461. package/node_modules/@noble/hashes/esm/legacy.d.ts.map +0 -1
  462. package/node_modules/@noble/hashes/esm/legacy.js +0 -281
  463. package/node_modules/@noble/hashes/esm/legacy.js.map +0 -1
  464. package/node_modules/@noble/hashes/esm/package.json +0 -10
  465. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts +0 -23
  466. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map +0 -1
  467. package/node_modules/@noble/hashes/esm/pbkdf2.js +0 -97
  468. package/node_modules/@noble/hashes/esm/pbkdf2.js.map +0 -1
  469. package/node_modules/@noble/hashes/esm/ripemd160.d.ts +0 -13
  470. package/node_modules/@noble/hashes/esm/ripemd160.d.ts.map +0 -1
  471. package/node_modules/@noble/hashes/esm/ripemd160.js +0 -13
  472. package/node_modules/@noble/hashes/esm/ripemd160.js.map +0 -1
  473. package/node_modules/@noble/hashes/esm/scrypt.d.ts +0 -34
  474. package/node_modules/@noble/hashes/esm/scrypt.d.ts.map +0 -1
  475. package/node_modules/@noble/hashes/esm/scrypt.js +0 -228
  476. package/node_modules/@noble/hashes/esm/scrypt.js.map +0 -1
  477. package/node_modules/@noble/hashes/esm/sha1.d.ts +0 -11
  478. package/node_modules/@noble/hashes/esm/sha1.d.ts.map +0 -1
  479. package/node_modules/@noble/hashes/esm/sha1.js +0 -11
  480. package/node_modules/@noble/hashes/esm/sha1.js.map +0 -1
  481. package/node_modules/@noble/hashes/esm/sha2.d.ts +0 -159
  482. package/node_modules/@noble/hashes/esm/sha2.d.ts.map +0 -1
  483. package/node_modules/@noble/hashes/esm/sha2.js +0 -375
  484. package/node_modules/@noble/hashes/esm/sha2.js.map +0 -1
  485. package/node_modules/@noble/hashes/esm/sha256.d.ts +0 -20
  486. package/node_modules/@noble/hashes/esm/sha256.d.ts.map +0 -1
  487. package/node_modules/@noble/hashes/esm/sha256.js +0 -20
  488. package/node_modules/@noble/hashes/esm/sha256.js.map +0 -1
  489. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts +0 -142
  490. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map +0 -1
  491. package/node_modules/@noble/hashes/esm/sha3-addons.js +0 -393
  492. package/node_modules/@noble/hashes/esm/sha3-addons.js.map +0 -1
  493. package/node_modules/@noble/hashes/esm/sha3.d.ts +0 -53
  494. package/node_modules/@noble/hashes/esm/sha3.d.ts.map +0 -1
  495. package/node_modules/@noble/hashes/esm/sha3.js +0 -234
  496. package/node_modules/@noble/hashes/esm/sha3.js.map +0 -1
  497. package/node_modules/@noble/hashes/esm/sha512.d.ts +0 -26
  498. package/node_modules/@noble/hashes/esm/sha512.d.ts.map +0 -1
  499. package/node_modules/@noble/hashes/esm/sha512.js +0 -26
  500. package/node_modules/@noble/hashes/esm/sha512.js.map +0 -1
  501. package/node_modules/@noble/hashes/esm/utils.d.ts +0 -161
  502. package/node_modules/@noble/hashes/esm/utils.d.ts.map +0 -1
  503. package/node_modules/@noble/hashes/esm/utils.js +0 -281
  504. package/node_modules/@noble/hashes/esm/utils.js.map +0 -1
  505. package/node_modules/@noble/hashes/hkdf.d.ts +0 -36
  506. package/node_modules/@noble/hashes/hkdf.d.ts.map +0 -1
  507. package/node_modules/@noble/hashes/hkdf.js +0 -88
  508. package/node_modules/@noble/hashes/hkdf.js.map +0 -1
  509. package/node_modules/@noble/hashes/hmac.d.ts +0 -35
  510. package/node_modules/@noble/hashes/hmac.d.ts.map +0 -1
  511. package/node_modules/@noble/hashes/hmac.js +0 -91
  512. package/node_modules/@noble/hashes/hmac.js.map +0 -1
  513. package/node_modules/@noble/hashes/index.d.ts +0 -1
  514. package/node_modules/@noble/hashes/index.d.ts.map +0 -1
  515. package/node_modules/@noble/hashes/index.js +0 -33
  516. package/node_modules/@noble/hashes/index.js.map +0 -1
  517. package/node_modules/@noble/hashes/legacy.d.ts +0 -71
  518. package/node_modules/@noble/hashes/legacy.d.ts.map +0 -1
  519. package/node_modules/@noble/hashes/legacy.js +0 -287
  520. package/node_modules/@noble/hashes/legacy.js.map +0 -1
  521. package/node_modules/@noble/hashes/package.json +0 -266
  522. package/node_modules/@noble/hashes/pbkdf2.d.ts +0 -23
  523. package/node_modules/@noble/hashes/pbkdf2.d.ts.map +0 -1
  524. package/node_modules/@noble/hashes/pbkdf2.js +0 -101
  525. package/node_modules/@noble/hashes/pbkdf2.js.map +0 -1
  526. package/node_modules/@noble/hashes/ripemd160.d.ts +0 -13
  527. package/node_modules/@noble/hashes/ripemd160.d.ts.map +0 -1
  528. package/node_modules/@noble/hashes/ripemd160.js +0 -16
  529. package/node_modules/@noble/hashes/ripemd160.js.map +0 -1
  530. package/node_modules/@noble/hashes/scrypt.d.ts +0 -34
  531. package/node_modules/@noble/hashes/scrypt.d.ts.map +0 -1
  532. package/node_modules/@noble/hashes/scrypt.js +0 -232
  533. package/node_modules/@noble/hashes/scrypt.js.map +0 -1
  534. package/node_modules/@noble/hashes/sha1.d.ts +0 -11
  535. package/node_modules/@noble/hashes/sha1.d.ts.map +0 -1
  536. package/node_modules/@noble/hashes/sha1.js +0 -14
  537. package/node_modules/@noble/hashes/sha1.js.map +0 -1
  538. package/node_modules/@noble/hashes/sha2.d.ts +0 -159
  539. package/node_modules/@noble/hashes/sha2.d.ts.map +0 -1
  540. package/node_modules/@noble/hashes/sha2.js +0 -384
  541. package/node_modules/@noble/hashes/sha2.js.map +0 -1
  542. package/node_modules/@noble/hashes/sha256.d.ts +0 -20
  543. package/node_modules/@noble/hashes/sha256.d.ts.map +0 -1
  544. package/node_modules/@noble/hashes/sha256.js +0 -23
  545. package/node_modules/@noble/hashes/sha256.js.map +0 -1
  546. package/node_modules/@noble/hashes/sha3-addons.d.ts +0 -142
  547. package/node_modules/@noble/hashes/sha3-addons.d.ts.map +0 -1
  548. package/node_modules/@noble/hashes/sha3-addons.js +0 -402
  549. package/node_modules/@noble/hashes/sha3-addons.js.map +0 -1
  550. package/node_modules/@noble/hashes/sha3.d.ts +0 -53
  551. package/node_modules/@noble/hashes/sha3.d.ts.map +0 -1
  552. package/node_modules/@noble/hashes/sha3.js +0 -239
  553. package/node_modules/@noble/hashes/sha3.js.map +0 -1
  554. package/node_modules/@noble/hashes/sha512.d.ts +0 -26
  555. package/node_modules/@noble/hashes/sha512.d.ts.map +0 -1
  556. package/node_modules/@noble/hashes/sha512.js +0 -29
  557. package/node_modules/@noble/hashes/sha512.js.map +0 -1
  558. package/node_modules/@noble/hashes/src/_assert.ts +0 -22
  559. package/node_modules/@noble/hashes/src/_blake.ts +0 -50
  560. package/node_modules/@noble/hashes/src/_md.ts +0 -176
  561. package/node_modules/@noble/hashes/src/_u64.ts +0 -91
  562. package/node_modules/@noble/hashes/src/argon2.ts +0 -497
  563. package/node_modules/@noble/hashes/src/blake1.ts +0 -534
  564. package/node_modules/@noble/hashes/src/blake2.ts +0 -486
  565. package/node_modules/@noble/hashes/src/blake2b.ts +0 -10
  566. package/node_modules/@noble/hashes/src/blake2s.ts +0 -20
  567. package/node_modules/@noble/hashes/src/blake3.ts +0 -272
  568. package/node_modules/@noble/hashes/src/crypto.ts +0 -9
  569. package/node_modules/@noble/hashes/src/cryptoNode.ts +0 -15
  570. package/node_modules/@noble/hashes/src/eskdf.ts +0 -187
  571. package/node_modules/@noble/hashes/src/hkdf.ts +0 -88
  572. package/node_modules/@noble/hashes/src/hmac.ts +0 -94
  573. package/node_modules/@noble/hashes/src/index.ts +0 -31
  574. package/node_modules/@noble/hashes/src/legacy.ts +0 -293
  575. package/node_modules/@noble/hashes/src/pbkdf2.ts +0 -122
  576. package/node_modules/@noble/hashes/src/ripemd160.ts +0 -12
  577. package/node_modules/@noble/hashes/src/scrypt.ts +0 -257
  578. package/node_modules/@noble/hashes/src/sha1.ts +0 -10
  579. package/node_modules/@noble/hashes/src/sha2.ts +0 -402
  580. package/node_modules/@noble/hashes/src/sha256.ts +0 -24
  581. package/node_modules/@noble/hashes/src/sha3-addons.ts +0 -499
  582. package/node_modules/@noble/hashes/src/sha3.ts +0 -258
  583. package/node_modules/@noble/hashes/src/sha512.ts +0 -34
  584. package/node_modules/@noble/hashes/src/utils.ts +0 -395
  585. package/node_modules/@noble/hashes/utils.d.ts +0 -161
  586. package/node_modules/@noble/hashes/utils.d.ts.map +0 -1
  587. package/node_modules/@noble/hashes/utils.js +0 -313
  588. package/node_modules/@noble/hashes/utils.js.map +0 -1
@@ -419,7 +419,6 @@ function serial32Precedes(a, b) {
419
419
 
420
420
  // ../mmt-base/dist/fec-block-profile.js
421
421
  var FEC_BLOCK_PROFILES = Object.freeze([
422
- "k-padded-v1",
423
422
  "iso-ssbg1-v1"
424
423
  ]);
425
424
 
@@ -4526,7 +4525,6 @@ var CmafBlockAssembler = class {
4526
4525
  failedBlocks: 0
4527
4526
  };
4528
4527
  this.#config = {
4529
- k: config.k,
4530
4528
  timescale: config.timescale ?? 1e6,
4531
4529
  trackId: config.trackId ?? 1,
4532
4530
  trackType: config.trackType,
@@ -6712,6 +6710,21 @@ var FecReleaseSequencer = class {
6712
6710
  this.#streams.delete(key);
6713
6711
  }
6714
6712
  }
6713
+ /**
6714
+ * The packet's FEC ended, so no block will resolve a held gap: release its
6715
+ * frames in order, each gap stalled as a discontinuity, and forget its
6716
+ * streams, so FEC configured on it again starts from a fresh one.
6717
+ */
6718
+ endPacket(packetId) {
6719
+ for (const [key, stream] of this.#streams) {
6720
+ if (stream.packetId !== packetId) continue;
6721
+ while (stream.buf.length > 0 && stream.last !== null) {
6722
+ stream.discontinuity = true;
6723
+ this.#drain(stream);
6724
+ }
6725
+ this.#streams.delete(key);
6726
+ }
6727
+ }
6715
6728
  discardPacket(packetId) {
6716
6729
  for (const [key, stream] of this.#streams) {
6717
6730
  if (stream.packetId !== packetId) continue;
@@ -7094,6 +7107,13 @@ var MmtpContainerParser = class _MmtpContainerParser {
7094
7107
  markFecDiscontinuity(packetId, catalogTrackName) {
7095
7108
  this.#fecSequencer?.markDiscontinuity(this.#streamKey(packetId, catalogTrackName));
7096
7109
  }
7110
+ /**
7111
+ * The FEC of a packet ID ended: release the frames the FEC release gate
7112
+ * holds for it in order, each gap stalled, and forget its gated streams.
7113
+ */
7114
+ endFecRelease(packetId) {
7115
+ this.#fecSequencer?.endPacket(packetId);
7116
+ }
7097
7117
  /**
7098
7118
  * MPU and data-unit identity of one MMTP packet, parsed in place (no copy,
7099
7119
  * no reassembly). Null for non-MPU packets and packets that do not parse.
@@ -8489,6 +8509,8 @@ var MmtpRouter = class {
8489
8509
  */
8490
8510
  #onPublisherRestart;
8491
8511
  #publisherRestarts = 0;
8512
+ /** Inits delivered with no onTrackInit handler for their packetId (MOQT-01). */
8513
+ #unmappedInitDeliveries = 0;
8492
8514
  // FEC Payload IDs left unread because their (owner) packetId had no
8493
8515
  // configured fec.blockProfile (see #noteUnreadableFecPayloadId).
8494
8516
  #fecPayloadIdsWithoutProfile = 0;
@@ -8685,15 +8707,24 @@ var MmtpRouter = class {
8685
8707
  return NO_FEC_GEOMETRY_HORIZON;
8686
8708
  }
8687
8709
  const blockSpanMs = fec.interleaveDepthMsForPacket(packetId);
8710
+ const blockLifetimeMs = fec.blockLifetimeMsForPacket(packetId);
8711
+ if (blockSpanMs === void 0 || blockLifetimeMs === void 0) return NO_FEC_GEOMETRY_HORIZON;
8688
8712
  if (blockSpanMs === 0) return NO_BLOCK_SPAN_HORIZON;
8689
8713
  return {
8690
8714
  kind: "fec-horizon",
8691
- retentionMs: duplicateRetentionMs({
8692
- blockSpanMs,
8693
- blockLifetimeMs: fec.blockLifetimeMsForPacket(packetId)
8694
- })
8715
+ retentionMs: duplicateRetentionMs({ blockSpanMs, blockLifetimeMs })
8695
8716
  };
8696
8717
  }
8718
+ /**
8719
+ * Init segments delivered for a packetId with no `onTrackInit` handler
8720
+ * since construction, whether the deprecated aggregate `onInitSegment`
8721
+ * callback then received them or nothing did. A supported deployment reads
8722
+ * 0 here; a non-zero value is the evidence that blocks removing the
8723
+ * aggregate callback (MOQT-01, BLO-21181).
8724
+ */
8725
+ get unmappedInitDeliveryCount() {
8726
+ return this.#unmappedInitDeliveries;
8727
+ }
8697
8728
  /** Publisher restarts detected on the multicast leg since construction. */
8698
8729
  get publisherRestartCount() {
8699
8730
  return this.#publisherRestarts;
@@ -8781,7 +8812,7 @@ var MmtpRouter = class {
8781
8812
  /** Update MFU reassembly timeout. Source and FEC-recovery paths share the
8782
8813
  * parser's single reassembler (BLO-8151), so one update covers both. */
8783
8814
  setMfuTimeoutMs(ms) {
8784
- if (ms <= 0) throw new Error("[MmtpRouter] mfuTimeoutMs must be > 0");
8815
+ if (ms !== null && ms <= 0) throw new Error("[MmtpRouter] mfuTimeoutMs must be > 0");
8785
8816
  this.#parser.setMfuTimeoutMs(ms);
8786
8817
  }
8787
8818
  /** Update parser frame reordering for unordered multicast delivery.
@@ -8851,7 +8882,15 @@ var MmtpRouter = class {
8851
8882
  onTrackPacket(packetId, cb) {
8852
8883
  this.#trackPacketCallbacks.set(packetId, cb);
8853
8884
  }
8854
- /** Register an init segment callback (ftyp+moov from MMTP MPU metadata). */
8885
+ /**
8886
+ * Register an init segment callback (ftyp+moov from MMTP MPU metadata).
8887
+ * Receives an init only for a packetId with no `onTrackInit` handler.
8888
+ *
8889
+ * @deprecated Use onTrackInit(packetId, cb). Still delivered as a fallback;
8890
+ * removed in the 1.0.0 major, no earlier than one minor release after this
8891
+ * deprecation reaches the `latest` dist-tag (BLO-21181). Count fallback
8892
+ * deliveries with `unmappedInitDeliveryCount`.
8893
+ */
8855
8894
  onInitSegment(cb) {
8856
8895
  this.#onInitSegment = cb;
8857
8896
  }
@@ -8865,17 +8904,16 @@ var MmtpRouter = class {
8865
8904
  * When active, source frames are buffered per FEC block and emitted as
8866
8905
  * multi-sample CMAF segments instead of per-frame callbacks. */
8867
8906
  enableMseAssembler(packetId, config, catalogTrackName) {
8868
- const k = this.#kForPacket(packetId);
8869
8907
  const assemblerKey = this.#mseAssemblerKey(packetId, catalogTrackName);
8870
8908
  const previous = this.#mseAssemblers.get(assemblerKey);
8871
8909
  if (previous) {
8872
8910
  previous.flush();
8873
8911
  previous.dispose();
8874
8912
  }
8875
- const assembler = new CmafBlockAssembler({ ...config, k });
8913
+ const assembler = new CmafBlockAssembler(config);
8876
8914
  this.#mseAssemblers.set(assemblerKey, assembler);
8877
8915
  console.log(
8878
- `[MmtpRouter] MSE assembler enabled for packetId=${packetId}${catalogTrackName === void 0 ? "" : ` track=${catalogTrackName}`} (K=${k}, ${config.trackType})`
8916
+ `[MmtpRouter] MSE assembler enabled for packetId=${packetId}${catalogTrackName === void 0 ? "" : ` track=${catalogTrackName}`} (${config.trackType})`
8879
8917
  );
8880
8918
  return assembler;
8881
8919
  }
@@ -8984,6 +9022,21 @@ var MmtpRouter = class {
8984
9022
  }
8985
9023
  this.#fecMappersByPacketId.set(packetId, mapper);
8986
9024
  }
9025
+ /**
9026
+ * Release the router side of a packetId whose FEC is ending: drop its block
9027
+ * mapper and end its FEC release gating. Frames the gate holds are released
9028
+ * in order, each gap stalled (no block will resolve it), not stranded. Call
9029
+ * before FECManager.releasePacket, while the gate can still read its blocks.
9030
+ */
9031
+ releaseFecPacket(packetId) {
9032
+ this.#fecMappersByPacketId.delete(packetId);
9033
+ this.#withDeferredFecPokes(() => {
9034
+ this.#parser.endFecRelease(packetId);
9035
+ for (const [key, poke] of this.#pendingFecPokes) {
9036
+ if (poke.packetId === packetId) this.#pendingFecPokes.delete(key);
9037
+ }
9038
+ });
9039
+ }
8987
9040
  registerManifestTrack(context) {
8988
9041
  if (!this.#manifestVerifier) throw new Error("manifest verifier is not configured");
8989
9042
  this.#manifestVerifier.registerTrack(context);
@@ -9103,87 +9156,21 @@ var MmtpRouter = class {
9103
9156
  this.#noteUnreadableFecPayloadId(ownerPacketId, "repair");
9104
9157
  return;
9105
9158
  }
9106
- if (this.#isIsoPacket(ownerPacketId)) {
9107
- this.#handleIsoRepair(ownerPacketId, catalogTrackName, parsed, "moq");
9108
- return;
9109
- }
9110
- const repairSbn = this.#deriveRepairSbn(parsed.ssStart, parsed.ssbLength, ownerPacketId);
9111
- if (repairSbn === null) return;
9112
- const repairEsi = this.#kForPacket(ownerPacketId) + parsed.rsId;
9113
- if (!this.#feedFecTransportSymbol(
9114
- ownerPacketId,
9115
- repairSbn,
9116
- repairEsi,
9117
- parsed.symbolData,
9118
- "moq",
9119
- catalogTrackName
9120
- )) return;
9121
- const recovered = catalogTrackName === void 0 ? this.#fecManager.feedRepairSymbol(
9122
- ownerPacketId,
9123
- parsed.ssStart,
9124
- parsed.ssbLength,
9125
- parsed.rsId,
9126
- parsed.symbolData
9127
- ) : this.#fecManager.feedRepairSymbol(
9128
- ownerPacketId,
9129
- parsed.ssStart,
9130
- parsed.ssbLength,
9131
- parsed.rsId,
9132
- parsed.symbolData,
9133
- catalogTrackName
9134
- );
9135
- if (recovered) {
9136
- const alreadyCompleted = catalogTrackName === void 0 ? this.#fecManager.isBlockCompleted(repairSbn, ownerPacketId) : this.#fecManager.isBlockCompleted(repairSbn, ownerPacketId, catalogTrackName);
9137
- if (catalogTrackName === void 0) {
9138
- this.#fecManager.cancelBlockTimeout(repairSbn, ownerPacketId);
9139
- } else {
9140
- this.#fecManager.cancelBlockTimeout(repairSbn, ownerPacketId, catalogTrackName);
9141
- }
9142
- if (!alreadyCompleted) {
9143
- this.#fecManager.countRecovery(ownerPacketId, repairSbn, catalogTrackName);
9144
- if (catalogTrackName === void 0) {
9145
- this.#fecManager.markBlockCompleted(repairSbn, ownerPacketId);
9146
- } else {
9147
- this.#fecManager.markBlockCompleted(repairSbn, ownerPacketId, catalogTrackName);
9148
- }
9149
- this.#routeRecoveredBlock(
9150
- repairSbn,
9151
- recovered,
9152
- ownerPacketId,
9153
- catalogTrackName
9154
- );
9155
- }
9156
- }
9159
+ this.#handleIsoRepair(ownerPacketId, catalogTrackName, parsed, "moq");
9157
9160
  }
9158
9161
  }
9159
- // ── SBN/ESI derivation ──────────────────────────────────────────
9160
- #kForPacket(packetId) {
9161
- if (packetId != null)
9162
- return this.#fecManager?.kForPacket?.(packetId) ?? this.#fecMappersByPacketId.get(packetId)?.k ?? this.#fecManager?.k ?? 4;
9163
- return this.#defaultFecMapper?.k ?? this.#fecManager?.k ?? 4;
9164
- }
9162
+ // ── Packet FEC geometry and block profile ───────────────────────
9165
9163
  #symbolSizeForPacket(packetId) {
9166
- if (packetId != null) return this.#fecManager?.symbolSizeForPacket?.(packetId) ?? this.#fecManager?.symbolSize ?? 0;
9164
+ if (packetId != null) return this.#fecManager?.symbolSizeForPacket?.(packetId) ?? 0;
9167
9165
  return this.#fecManager?.symbolSize ?? 0;
9168
9166
  }
9169
- /** Derive SBN/ESI from SS_ID using packet-scoped FEC geometry. */
9170
- #deriveSbnEsi(ssId, packetId) {
9171
- const mapper = packetId == null ? this.#defaultFecMapper : this.#fecMappersByPacketId.get(packetId) ?? null;
9172
- if (mapper) return mapper.fromSsId(ssId);
9173
- const k = this.#kForPacket(packetId);
9174
- return { sbn: Math.floor(ssId / k), esi: ssId % k };
9175
- }
9176
- #deriveRepairSbn(ssStart, ssbLength, packetId) {
9177
- const k = this.#kForPacket(packetId);
9178
- if (ssbLength <= 0 || ssbLength > k || ssStart % k !== 0) return null;
9179
- return Math.floor(ssStart / k);
9180
- }
9181
9167
  /**
9182
9168
  * The configured block profile of a packetId, or undefined while it is
9183
9169
  * unconfigured. With an FEC manager its per-packet configuration is the
9184
9170
  * only source. A router without one still recovers symbols through its
9185
9171
  * registered mapper, built with the catalog's explicit profile: the
9186
- * packet's own mapper, else the default one (the #deriveSbnEsi rule).
9172
+ * packet's own mapper, else the default one. A NullBlockMapper (a stream
9173
+ * without an FEC instance) states none.
9187
9174
  */
9188
9175
  #configuredBlockProfile(packetId) {
9189
9176
  if (this.#fecManager) return this.#fecManager.blockProfileForPacket(packetId);
@@ -9191,9 +9178,10 @@ var MmtpRouter = class {
9191
9178
  return mapper?.blockProfile ?? void 0;
9192
9179
  }
9193
9180
  /**
9194
- * The block profile an FEC coordinate of `packetId` is read under. Throws
9195
- * while none is configured: the two profiles carry identical wire tuples
9196
- * with different block math, so there is no default to fall back to.
9181
+ * The block profile an FEC coordinate of `packetId` is read under:
9182
+ * `iso-ssbg1-v1`, the only one (`k-padded-v1` is retired and refused).
9183
+ * Throws while none is configured: such a packet has no FEC geometry, and
9184
+ * nothing is inferred from the wire or defaulted.
9197
9185
  * Packet ingress leaves such a packet's FEC Payload ID unread first
9198
9186
  * (#noteUnreadableFecPayloadId); a throw here is a wiring fault on a path
9199
9187
  * that cannot hold an unconfigured packet.
@@ -9207,8 +9195,16 @@ var MmtpRouter = class {
9207
9195
  }
9208
9196
  return profile;
9209
9197
  }
9210
- #isIsoPacket(packetId) {
9211
- return this.#blockProfileFor(packetId) === "iso-ssbg1-v1";
9198
+ /**
9199
+ * The block coordinates (SS_Start, ESI) of an FEC source: range membership
9200
+ * in a block a repair already stated (ISO/IEC 23008-1 C.5.3). Null while no
9201
+ * repair has stated its block, while its packetId has no configured block
9202
+ * profile, and without an FEC manager: SS_ID alone locates no block, so
9203
+ * nothing is derived from it.
9204
+ */
9205
+ #locateFecSource(packetId, catalogTrackName, ssId) {
9206
+ if (this.#configuredBlockProfile(packetId) === void 0) return null;
9207
+ return this.#fecManager?.locateIsoSource?.(packetId, catalogTrackName, ssId) ?? null;
9212
9208
  }
9213
9209
  /**
9214
9210
  * Explicit refusal to read an FEC Payload ID: its (owner) packetId has no
@@ -9227,21 +9223,20 @@ var MmtpRouter = class {
9227
9223
  }
9228
9224
  }
9229
9225
  /**
9230
- * The release-gate anchor of a recovered symbol: its block (SBN) under
9231
- * k-padded-v1, its own SS_ID under iso-ssbg1-v1, where a frame is gated by
9232
- * the SS_IDs between it and the last released frame.
9226
+ * The release-gate anchor of a recovered symbol: its own SS_ID, SS_Start +
9227
+ * ESI modulo 2^32 (C.5.2), where a frame is gated by the SS_IDs between it
9228
+ * and the last released frame.
9233
9229
  */
9234
- #fecAnchorForRecovered(ownerPacketId, blockId, index) {
9235
- return ownerPacketId !== void 0 && this.#isIsoPacket(ownerPacketId) ? serial32Add(blockId, index) : blockId;
9230
+ #fecAnchorForRecovered(blockStart, index) {
9231
+ return serial32Add(blockStart, index);
9236
9232
  }
9237
9233
  /**
9238
9234
  * One iso-ssbg1-v1 repair symbol (ISO/IEC 23008-1 C.5.3). It states the
9239
9235
  * block `[SS_Start, SS_Start + SSB_length)`; repair ESI = SSB_length +
9240
9236
  * RS_ID (K' = SSB_length). The held sources it placed (and those of a
9241
9237
  * repair-less span in front of it) are fed as first-arrival sources, then
9242
- * the repair, the order they had on the wire, so a loss-free block is clean
9243
- * on its repair exactly as under k-padded-v1. A repair contradicting a known
9244
- * block is dropped.
9238
+ * the repair, the order they had on the wire, so a loss-free block completes
9239
+ * clean on its repair. A repair contradicting a known block is dropped.
9245
9240
  */
9246
9241
  #handleIsoRepair(ownerPacketId, catalogTrackName, repair, source) {
9247
9242
  const fec = this.#fecManager;
@@ -9333,7 +9328,8 @@ var MmtpRouter = class {
9333
9328
  return null;
9334
9329
  }
9335
9330
  /** Route a recovered FEC block through the parser + dedup pipeline.
9336
- * Sync WASM decoders return K fixed-width source symbols concatenated. */
9331
+ * Sync WASM decoders return the block's K' = SSB_length fixed-width
9332
+ * ssbg_mode1 source symbols concatenated. */
9337
9333
  routeRecoveredBlock(blockId, data, packetId, catalogTrackName) {
9338
9334
  this.#routeRecoveredBlock(blockId, data, packetId, catalogTrackName);
9339
9335
  }
@@ -9801,29 +9797,19 @@ var MmtpRouter = class {
9801
9797
  resolvedLoss: (packetId, catalogTrackName, fromSbn, toSbn, releasedSbn) => {
9802
9798
  const fec = this.#fecManager;
9803
9799
  if (!fec?.blockResolution) return [];
9804
- if (this.#isIsoPacket(packetId)) {
9805
- const head = fromSbn === releasedSbn ? toSbn : fromSbn;
9806
- return fec.isoSpanResolution?.(packetId, catalogTrackName, releasedSbn, head) ?? null;
9807
- }
9808
- const highest = fec.highestSbn?.(packetId, catalogTrackName);
9809
- const lost = [];
9810
- for (let sbn = fromSbn; sbn <= toSbn; sbn++) {
9811
- const resolution = fec.blockResolution(sbn, packetId, catalogTrackName);
9812
- if (resolution === "pending") return null;
9813
- if (resolution === "failed") {
9814
- lost.push(sbn);
9815
- } else if (resolution === "untracked") {
9816
- if (sbn === releasedSbn) continue;
9817
- if (highest === void 0 || sbn > highest) return null;
9818
- lost.push(sbn);
9819
- }
9820
- }
9821
- return lost;
9800
+ const head = fromSbn === releasedSbn ? toSbn : fromSbn;
9801
+ return fec.isoSpanResolution?.(packetId, catalogTrackName, releasedSbn, head) ?? null;
9822
9802
  },
9823
9803
  // The retention window itself: a frame is never still held when a block
9824
9804
  // it waits on retires. Only consulted while resolvedLoss holds a gap,
9825
9805
  // which needs blockResolution, so the check above guarantees the method.
9826
- holdLimitMs: (packetId) => this.#fecManager?.terminalRetentionMsForPacket?.(packetId) ?? Infinity,
9806
+ // A packetId the manager no longer has configured (released) has no
9807
+ // block left to wait on: release its frames now (BLO-45953).
9808
+ holdLimitMs: (packetId) => {
9809
+ const fec = this.#fecManager;
9810
+ if (!fec?.terminalRetentionMsForPacket) return Infinity;
9811
+ return fec.terminalRetentionMsForPacket(packetId) ?? 0;
9812
+ },
9827
9813
  decide: (before, after, lostBlocks, discontinuity) => {
9828
9814
  const decision = this.#decideGap(before, after, lostBlocks, discontinuity);
9829
9815
  this.#onFrameGap?.(decision);
@@ -9885,9 +9871,10 @@ var MmtpRouter = class {
9885
9871
  }
9886
9872
  /**
9887
9873
  * The most media units a gap between two released frames can hold: the
9888
- * FEC blocks from `before`'s SBN to `after`'s, times D, the media units one
9889
- * block touches (ceil(interleaveDepthMs / unit duration), §5.1). Null when
9890
- * either SBN, the unit duration or the catalog interleave is unknown.
9874
+ * FEC blocks between `before`'s anchor and `after`'s, times D, the media
9875
+ * units one block touches (ceil(interleaveDepthMs / unit duration), §5.1).
9876
+ * Null when either anchor, the unit duration or the catalog interleave is
9877
+ * unknown.
9891
9878
  */
9892
9879
  #maxMissingUnits(before, after) {
9893
9880
  const from = before.fecSbn;
@@ -9900,7 +9887,7 @@ var MmtpRouter = class {
9900
9887
  const denominator = BigInt(timing.durationTicks) * 1000n;
9901
9888
  const unitsPerBlock = (numerator + denominator - 1n) / denominator;
9902
9889
  const blocks = BigInt(
9903
- (this.#isIsoPacket(after.packetId) ? serial32Precedes(from, to) ? serial32Distance(from, to) : serial32Distance(to, from) : Math.abs(to - from)) + 1
9890
+ (serial32Precedes(from, to) ? serial32Distance(from, to) : serial32Distance(to, from)) + 1
9904
9891
  );
9905
9892
  const bound = unitsPerBlock * blocks;
9906
9893
  return bound > BigInt(Number.MAX_SAFE_INTEGER) ? null : Number(bound);
@@ -9950,8 +9937,9 @@ var MmtpRouter = class {
9950
9937
  const cb = this.#trackInitCallbacks.get(packetId);
9951
9938
  if (cb) {
9952
9939
  cb(data);
9953
- } else if (this.#onInitSegment) {
9954
- this.#onInitSegment(data);
9940
+ } else {
9941
+ this.#unmappedInitDeliveries++;
9942
+ this.#onInitSegment?.(data);
9955
9943
  }
9956
9944
  console.log(
9957
9945
  `[MmtpRouter] Init delivered for packetId=${packetId}${catalogTrackName === void 0 ? "" : ` track=${catalogTrackName}`} (${data.byteLength}B)`
@@ -9993,9 +9981,9 @@ var MmtpRouter = class {
9993
9981
  if (!info.isRepair && this.#manifestVerifier && !manifestAdmitted) {
9994
9982
  let identity = manifestIdentity;
9995
9983
  if (!identity && info.fecPayloadId && !fecUnreadable && (this.#resolveManifestIdentityForRoute || this.#resolveManifestIdentity)) {
9996
- const coordinates = this.#deriveSbnEsi(info.fecPayloadId.ssId, info.packetId);
9997
9984
  const catalogTrackName = catalogTrackNameForPacket(ingress, info.packetId);
9998
- identity = (this.#resolveManifestIdentityForRoute ? this.#resolveManifestIdentityForRoute({
9985
+ const coordinates = this.#locateFecSource(info.packetId, catalogTrackName, info.fecPayloadId.ssId);
9986
+ identity = coordinates === null ? void 0 : (this.#resolveManifestIdentityForRoute ? this.#resolveManifestIdentityForRoute({
9999
9987
  packetId: info.packetId,
10000
9988
  sbn: coordinates.sbn,
10001
9989
  esi: coordinates.esi,
@@ -10047,79 +10035,7 @@ var MmtpRouter = class {
10047
10035
  this.#noteUnreadableFecPayloadId(ownerPacketId, "repair");
10048
10036
  return;
10049
10037
  }
10050
- if (this.#isIsoPacket(ownerPacketId)) {
10051
- this.#handleIsoRepair(ownerPacketId, catalogTrackNameForPacket(ingress, ownerPacketId), repair, source);
10052
- return;
10053
- }
10054
- const repairSbn = this.#deriveRepairSbn(repair.ssStart, repair.ssbLength, ownerPacketId);
10055
- if (repairSbn === null) return;
10056
- const repairEsi = this.#kForPacket(ownerPacketId) + repair.rsId;
10057
- if (!this.#feedFecTransportSymbol(
10058
- ownerPacketId,
10059
- repairSbn,
10060
- repairEsi,
10061
- repair.symbolData,
10062
- source,
10063
- catalogTrackNameForPacket(ingress, ownerPacketId)
10064
- )) return;
10065
- const repairCatalogTrackName = catalogTrackNameForPacket(ingress, ownerPacketId);
10066
- if (repairCatalogTrackName === void 0) {
10067
- this.#fecManager.noteBlockActivity?.(repairSbn, ownerPacketId);
10068
- } else {
10069
- this.#fecManager.noteBlockActivity?.(
10070
- repairSbn,
10071
- ownerPacketId,
10072
- repairCatalogTrackName
10073
- );
10074
- }
10075
- const recovered = repairCatalogTrackName === void 0 ? this.#fecManager.feedRepairSymbol(
10076
- ownerPacketId,
10077
- repair.ssStart,
10078
- repair.ssbLength,
10079
- repair.rsId,
10080
- repair.symbolData
10081
- ) : this.#fecManager.feedRepairSymbol(
10082
- ownerPacketId,
10083
- repair.ssStart,
10084
- repair.ssbLength,
10085
- repair.rsId,
10086
- repair.symbolData,
10087
- repairCatalogTrackName
10088
- );
10089
- if (recovered) {
10090
- const alreadyCompleted = repairCatalogTrackName === void 0 ? this.#fecManager.isBlockCompleted(repairSbn, ownerPacketId) : this.#fecManager.isBlockCompleted(
10091
- repairSbn,
10092
- ownerPacketId,
10093
- repairCatalogTrackName
10094
- );
10095
- if (repairCatalogTrackName === void 0) {
10096
- this.#fecManager.cancelBlockTimeout(repairSbn, ownerPacketId);
10097
- } else {
10098
- this.#fecManager.cancelBlockTimeout(
10099
- repairSbn,
10100
- ownerPacketId,
10101
- repairCatalogTrackName
10102
- );
10103
- }
10104
- if (!alreadyCompleted) {
10105
- this.#fecManager.countRecovery(ownerPacketId, repairSbn, repairCatalogTrackName);
10106
- if (repairCatalogTrackName === void 0) {
10107
- this.#fecManager.markBlockCompleted(repairSbn, ownerPacketId);
10108
- } else {
10109
- this.#fecManager.markBlockCompleted(
10110
- repairSbn,
10111
- ownerPacketId,
10112
- repairCatalogTrackName
10113
- );
10114
- }
10115
- this.#routeRecoveredBlock(
10116
- repairSbn,
10117
- recovered,
10118
- ownerPacketId,
10119
- catalogTrackNameForPacket(ingress, ownerPacketId)
10120
- );
10121
- }
10122
- }
10038
+ this.#handleIsoRepair(ownerPacketId, catalogTrackNameForPacket(ingress, ownerPacketId), repair, source);
10123
10039
  }
10124
10040
  } else {
10125
10041
  if (this.#classifyPacketId(info.packetId) === null) return;
@@ -10143,8 +10059,8 @@ var MmtpRouter = class {
10143
10059
  }
10144
10060
  const duplicates = this.#stream(info.packetId, catalogTrackName).duplicates;
10145
10061
  const fecPayloadId = fecUnreadable ? null : info.fecPayloadId;
10146
- const isoSource = this.#fecManager !== null && fecPayloadId != null && this.#isIsoPacket(info.packetId);
10147
- const coords = this.#fecManager && fecPayloadId ? isoSource ? this.#fecManager.locateIsoSource?.(info.packetId, catalogTrackName, fecPayloadId.ssId) ?? void 0 : this.#deriveSbnEsi(fecPayloadId.ssId, info.packetId) : void 0;
10062
+ const fecSource = this.#fecManager !== null && fecPayloadId != null;
10063
+ const coords = fecSource && fecPayloadId ? this.#locateFecSource(info.packetId, catalogTrackName, fecPayloadId.ssId) ?? void 0 : void 0;
10148
10064
  duplicates.advance(coords?.sbn);
10149
10065
  if (source === "multicast" && !overlapCopy && !releasedFromQuarantine && catalogTrackName !== void 0 && duplicates.predatesHorizon(info.sequenceNumber, fecPayloadId?.ssId)) {
10150
10066
  this.#publisherRestarts++;
@@ -10159,9 +10075,8 @@ var MmtpRouter = class {
10159
10075
  }
10160
10076
  if (this.#fecManager && fecPayloadId && coords) {
10161
10077
  const fecId = fecPayloadId;
10162
- const symbolSize = this.#symbolSizeForPacket(info.packetId);
10163
10078
  const rawSymbol = packet.subarray(0, packet.length - 4);
10164
- const oversized = isoSource ? !(this.#fecManager.isoSourceFits?.(info.packetId, rawSymbol.length) ?? false) : symbolSize > 0 && rawSymbol.length > symbolSize;
10079
+ const oversized = !(this.#fecManager.isoSourceFits?.(info.packetId, rawSymbol.length) ?? false);
10165
10080
  let overlapBlockCompleted = false;
10166
10081
  if (overlapCopy) {
10167
10082
  overlapBlockCompleted = catalogTrackName === void 0 ? this.#fecManager.isBlockCompleted(coords.sbn, info.packetId) : this.#fecManager.isBlockCompleted(
@@ -10196,7 +10111,7 @@ var MmtpRouter = class {
10196
10111
  }
10197
10112
  parseSourceSymbol = (overlapCopy ? !overlapBlockCompleted : sourceSymbolAccepted) && !duplicates.parsedSymbols.has(fecId.ssId);
10198
10113
  fecInfo = { sbn: coords.sbn, esi: coords.esi, oversized };
10199
- } else if (isoSource && this.#fecManager && fecPayloadId) {
10114
+ } else if (fecSource && this.#fecManager && fecPayloadId) {
10200
10115
  const ssId = fecPayloadId.ssId;
10201
10116
  if (overlapCopy) {
10202
10117
  parseSourceSymbol = !duplicates.parsedSymbols.has(ssId);
@@ -10230,12 +10145,13 @@ var MmtpRouter = class {
10230
10145
  this.#feedViaParser(packet, info, fecInfo, {
10231
10146
  source,
10232
10147
  catalogTrackName,
10233
- ...isoSource && info.fecPayloadId ? { fecSbn: info.fecPayloadId.ssId } : fecInfo === void 0 ? {} : { fecSbn: fecInfo.sbn }
10148
+ // An FEC source frame is anchored by its own SS_ID (C.5.2).
10149
+ ...fecSource && fecPayloadId ? { fecSbn: fecPayloadId.ssId } : {}
10234
10150
  }, parsed);
10235
10151
  }
10236
10152
  if (this.#classifyPacketId(info.packetId) === null) return;
10237
- if (this.#fecManager && fecPayloadId && sourceSymbolAccepted && sourceSymbolTrackable) {
10238
- const { sbn, esi } = isoSource && coords ? coords : this.#deriveSbnEsi(fecPayloadId.ssId, info.packetId);
10153
+ if (this.#fecManager && fecPayloadId && coords && sourceSymbolAccepted && sourceSymbolTrackable) {
10154
+ const { sbn, esi } = coords;
10239
10155
  if (this.#classifyPacketId(info.packetId) !== null && this.#fecManager.isTrackConfigured?.(info.packetId) !== false) {
10240
10156
  this.#fecManager.trackBlock(
10241
10157
  sbn,
@@ -10669,7 +10585,6 @@ var MmtpRouter = class {
10669
10585
  // ── Private: FEC recovery routing ───────────────────────────────
10670
10586
  /** Route WASM-recovered block through appropriate path based on container kind. */
10671
10587
  #routeRecoveredBlock(blockId, recovered, ownerPacketId, catalogTrackName) {
10672
- const k = this.#kForPacket(ownerPacketId);
10673
10588
  const packetSymbolSize = this.#symbolSizeForPacket(ownerPacketId);
10674
10589
  if (ownerPacketId === void 0) {
10675
10590
  throw new Error("[MmtpRouter] a recovered FEC block needs its owner packetId to read its fec.blockProfile");
@@ -10682,7 +10597,6 @@ var MmtpRouter = class {
10682
10597
  }
10683
10598
  const symbolSize = packetSymbolSize;
10684
10599
  const result = processFecBlock(recovered, {
10685
- ...blockProfile === "k-padded-v1" ? { k } : {},
10686
10600
  symbolSize,
10687
10601
  ownerPacketId,
10688
10602
  blockProfile
@@ -10762,8 +10676,7 @@ var MmtpRouter = class {
10762
10676
  const admission = verifier.admitObject(
10763
10677
  {
10764
10678
  ...identity,
10765
- packetId: ownerPacketId,
10766
- ...ownerPacketId !== void 0 && this.#isIsoPacket(ownerPacketId) ? {} : { ssId: blockId * this.#kForPacket(ownerPacketId) + symbol.index }
10679
+ packetId: ownerPacketId
10767
10680
  },
10768
10681
  symbol.rawSymbol,
10769
10682
  () => {
@@ -10866,7 +10779,7 @@ var MmtpRouter = class {
10866
10779
  rapFlag: sym.fragment.rapFlag,
10867
10780
  recovered: true,
10868
10781
  deliveryProvenance,
10869
- fecSbn: this.#fecAnchorForRecovered(ownerPacketId, blockId, sym.index),
10782
+ fecSbn: this.#fecAnchorForRecovered(blockId, sym.index),
10870
10783
  ...catalogTrackName === void 0 ? {} : { catalogTrackName }
10871
10784
  });
10872
10785
  continue;
@@ -10978,7 +10891,7 @@ var MmtpRouter = class {
10978
10891
  rapFlag: assembled.rapFlag,
10979
10892
  recovered: true,
10980
10893
  ...assembled.deliveryProvenance === void 0 ? {} : { deliveryProvenance: assembled.deliveryProvenance },
10981
- fecSbn: this.#fecAnchorForRecovered(ownerPacketId, blockId, sym.index),
10894
+ fecSbn: this.#fecAnchorForRecovered(blockId, sym.index),
10982
10895
  ...recoveredCatalogTrackName === void 0 ? {} : { catalogTrackName: recoveredCatalogTrackName }
10983
10896
  });
10984
10897
  continue;
@@ -11115,7 +11028,7 @@ var MmtpRouter = class {
11115
11028
  rapFlag: sym.fragment.rapFlag,
11116
11029
  recovered: true,
11117
11030
  deliveryProvenance,
11118
- fecSbn: this.#fecAnchorForRecovered(ownerPacketId, blockId, sym.index),
11031
+ fecSbn: this.#fecAnchorForRecovered(blockId, sym.index),
11119
11032
  ...catalogTrackName === void 0 ? {} : { catalogTrackName }
11120
11033
  });
11121
11034
  } else {
@@ -11194,7 +11107,7 @@ var MmtpRouter = class {
11194
11107
  rapFlag: assembled.rapFlag,
11195
11108
  recovered: true,
11196
11109
  deliveryProvenance,
11197
- fecSbn: this.#fecAnchorForRecovered(ownerPacketId, blockId, sym.index),
11110
+ fecSbn: this.#fecAnchorForRecovered(blockId, sym.index),
11198
11111
  ...assembled.catalogTrackName === void 0 ? {} : { catalogTrackName: assembled.catalogTrackName }
11199
11112
  });
11200
11113
  }
@@ -11229,7 +11142,7 @@ var MmtpRouter = class {
11229
11142
  ...sym.fragment.sampleNumber === void 0 ? {} : { sampleNumber: sym.fragment.sampleNumber },
11230
11143
  recovered: true,
11231
11144
  deliveryProvenance,
11232
- fecSbn: this.#fecAnchorForRecovered(ownerPacketId, blockId, sym.index),
11145
+ fecSbn: this.#fecAnchorForRecovered(blockId, sym.index),
11233
11146
  ...catalogTrackName === void 0 ? {} : { catalogTrackName }
11234
11147
  });
11235
11148
  continue;