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

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 (605) hide show
  1. package/README.md +33 -16
  2. package/dist/browser-runtime.js +14814 -14255
  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 +29 -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 +151 -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 +147 -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 +46 -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 +37 -17
  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 +1 -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-timing.json +356 -0
  137. package/test-vectors/catalog-validation.json +40 -5
  138. package/test-vectors/delivery-catalog/README.md +11 -0
  139. package/test-vectors/delivery-catalog/negative/missing-block-profile.json +58 -0
  140. package/test-vectors/delivery-catalog/negative/packet-id-signaling.json +59 -0
  141. package/test-vectors/delivery-catalog/negative/retired-k-padded-block-profile.json +59 -0
  142. package/test-vectors/delivery-catalog/positive/dash.json +56 -0
  143. package/test-vectors/delivery-catalog/positive/mmtp-source-only.json +43 -0
  144. package/node_modules/@blockcast/fec-worker/README.md +0 -223
  145. package/node_modules/@blockcast/fec-worker/dist/.build-stamp +0 -0
  146. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts +0 -38
  147. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts.map +0 -1
  148. package/node_modules/@blockcast/fec-worker/dist/block-order.js +0 -78
  149. package/node_modules/@blockcast/fec-worker/dist/block-order.js.map +0 -1
  150. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts +0 -93
  151. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts.map +0 -1
  152. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js +0 -346
  153. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js.map +0 -1
  154. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts +0 -380
  155. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts.map +0 -1
  156. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js +0 -11
  157. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js.map +0 -1
  158. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts +0 -14
  159. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts.map +0 -1
  160. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js +0 -859
  161. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js.map +0 -7
  162. package/node_modules/@blockcast/fec-worker/dist/index.d.ts +0 -10
  163. package/node_modules/@blockcast/fec-worker/dist/index.d.ts.map +0 -1
  164. package/node_modules/@blockcast/fec-worker/dist/index.js +0 -8
  165. package/node_modules/@blockcast/fec-worker/dist/index.js.map +0 -1
  166. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts +0 -20
  167. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts.map +0 -1
  168. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js +0 -370
  169. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js.map +0 -7
  170. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts +0 -104
  171. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts.map +0 -1
  172. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js +0 -181
  173. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js.map +0 -1
  174. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts +0 -194
  175. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts.map +0 -1
  176. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js +0 -62
  177. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js.map +0 -1
  178. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts +0 -9
  179. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts.map +0 -1
  180. package/node_modules/@blockcast/fec-worker/dist/transfer.js +0 -13
  181. package/node_modules/@blockcast/fec-worker/dist/transfer.js.map +0 -1
  182. package/node_modules/@blockcast/fec-worker/package.json +0 -59
  183. package/node_modules/@blockcast/fec-worker/src/block-order.ts +0 -93
  184. package/node_modules/@blockcast/fec-worker/src/fec-worker-client.ts +0 -392
  185. package/node_modules/@blockcast/fec-worker/src/fec-worker-types.ts +0 -399
  186. package/node_modules/@blockcast/fec-worker/src/fec-worker.ts +0 -1502
  187. package/node_modules/@blockcast/fec-worker/src/index.ts +0 -35
  188. package/node_modules/@blockcast/fec-worker/src/shred-fec-worker.ts +0 -589
  189. package/node_modules/@blockcast/fec-worker/src/shred-worker-client.ts +0 -222
  190. package/node_modules/@blockcast/fec-worker/src/shred-worker-types.ts +0 -209
  191. package/node_modules/@blockcast/fec-worker/src/transfer.ts +0 -12
  192. package/node_modules/@blockcast/mmt-alta-parse/README.md +0 -181
  193. package/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  194. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +0 -57
  195. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +0 -1
  196. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js +0 -115
  197. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +0 -1
  198. package/node_modules/@blockcast/mmt-alta-parse/package.json +0 -50
  199. package/node_modules/@blockcast/mmt-alta-parse/src/index.ts +0 -136
  200. package/node_modules/@blockcast/mmt-base/README.md +0 -134
  201. package/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  202. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +0 -55
  203. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +0 -1
  204. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +0 -128
  205. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +0 -1
  206. package/node_modules/@blockcast/mmt-base/dist/index.d.ts +0 -7
  207. package/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +0 -1
  208. package/node_modules/@blockcast/mmt-base/dist/index.js +0 -7
  209. package/node_modules/@blockcast/mmt-base/dist/index.js.map +0 -1
  210. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +0 -292
  211. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +0 -1
  212. package/node_modules/@blockcast/mmt-base/dist/mmtp.js +0 -612
  213. package/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +0 -1
  214. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +0 -18
  215. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +0 -1
  216. package/node_modules/@blockcast/mmt-base/dist/net-constants.js +0 -18
  217. package/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +0 -1
  218. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +0 -47
  219. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +0 -1
  220. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js +0 -54
  221. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +0 -1
  222. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +0 -57
  223. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +0 -1
  224. package/node_modules/@blockcast/mmt-base/dist/serial-number.js +0 -98
  225. package/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +0 -1
  226. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +0 -312
  227. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +0 -1
  228. package/node_modules/@blockcast/mmt-base/dist/signalling.js +0 -637
  229. package/node_modules/@blockcast/mmt-base/dist/signalling.js.map +0 -1
  230. package/node_modules/@blockcast/mmt-base/package.json +0 -49
  231. package/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +0 -145
  232. package/node_modules/@blockcast/mmt-base/src/index.ts +0 -6
  233. package/node_modules/@blockcast/mmt-base/src/mmtp.ts +0 -892
  234. package/node_modules/@blockcast/mmt-base/src/net-constants.ts +0 -17
  235. package/node_modules/@blockcast/mmt-base/src/ntp-short.ts +0 -67
  236. package/node_modules/@blockcast/mmt-base/src/serial-number.ts +0 -107
  237. package/node_modules/@blockcast/mmt-base/src/signalling.ts +0 -862
  238. package/node_modules/@blockcast/mmt-fec/README.md +0 -271
  239. package/node_modules/@blockcast/mmt-fec/dist/.build-stamp +0 -0
  240. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts +0 -82
  241. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts.map +0 -1
  242. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js +0 -296
  243. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js.map +0 -1
  244. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts +0 -106
  245. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts.map +0 -1
  246. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js +0 -288
  247. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js.map +0 -1
  248. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts +0 -46
  249. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts.map +0 -1
  250. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js +0 -96
  251. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js.map +0 -1
  252. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts +0 -33
  253. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts.map +0 -1
  254. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js +0 -57
  255. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js.map +0 -1
  256. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts +0 -205
  257. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts.map +0 -1
  258. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js +0 -240
  259. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js.map +0 -1
  260. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts +0 -28
  261. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts.map +0 -1
  262. package/node_modules/@blockcast/mmt-fec/dist/index.js +0 -28
  263. package/node_modules/@blockcast/mmt-fec/dist/index.js.map +0 -1
  264. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts +0 -20
  265. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts.map +0 -1
  266. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js +0 -28
  267. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js.map +0 -1
  268. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts +0 -258
  269. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts.map +0 -1
  270. package/node_modules/@blockcast/mmt-fec/dist/oti.js +0 -382
  271. package/node_modules/@blockcast/mmt-fec/dist/oti.js.map +0 -1
  272. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts +0 -41
  273. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts.map +0 -1
  274. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js +0 -81
  275. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js.map +0 -1
  276. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts +0 -82
  277. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts.map +0 -1
  278. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js +0 -170
  279. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js.map +0 -1
  280. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/README.md +0 -181
  281. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  282. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +0 -57
  283. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +0 -1
  284. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js +0 -115
  285. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +0 -1
  286. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/package.json +0 -50
  287. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/src/index.ts +0 -136
  288. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/README.md +0 -134
  289. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  290. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +0 -55
  291. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +0 -1
  292. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +0 -128
  293. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +0 -1
  294. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts +0 -7
  295. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +0 -1
  296. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js +0 -7
  297. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js.map +0 -1
  298. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +0 -292
  299. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +0 -1
  300. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js +0 -612
  301. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +0 -1
  302. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +0 -18
  303. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +0 -1
  304. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js +0 -18
  305. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +0 -1
  306. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +0 -47
  307. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +0 -1
  308. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js +0 -54
  309. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +0 -1
  310. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +0 -57
  311. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +0 -1
  312. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js +0 -98
  313. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +0 -1
  314. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +0 -312
  315. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +0 -1
  316. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js +0 -637
  317. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js.map +0 -1
  318. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/package.json +0 -49
  319. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +0 -145
  320. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/index.ts +0 -6
  321. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/mmtp.ts +0 -892
  322. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/net-constants.ts +0 -17
  323. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/ntp-short.ts +0 -67
  324. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/serial-number.ts +0 -107
  325. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/signalling.ts +0 -862
  326. package/node_modules/@blockcast/mmt-fec/package.json +0 -79
  327. package/node_modules/@blockcast/mmt-fec/src/block-manager.ts +0 -371
  328. package/node_modules/@blockcast/mmt-fec/src/block-processor.ts +0 -439
  329. package/node_modules/@blockcast/mmt-fec/src/cmaf-recovery.ts +0 -127
  330. package/node_modules/@blockcast/mmt-fec/src/cmaf-symbols.ts +0 -68
  331. package/node_modules/@blockcast/mmt-fec/src/fec-block-mapper.ts +0 -310
  332. package/node_modules/@blockcast/mmt-fec/src/index.ts +0 -94
  333. package/node_modules/@blockcast/mmt-fec/src/loc-symbols.ts +0 -34
  334. package/node_modules/@blockcast/mmt-fec/src/oti.ts +0 -463
  335. package/node_modules/@blockcast/mmt-fec/src/reorder-buffer.ts +0 -101
  336. package/node_modules/@blockcast/mmt-fec/src/repair-group.ts +0 -195
  337. package/node_modules/@blockcast/mmt-manifest-verify/dist/.build-stamp +0 -0
  338. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts +0 -28
  339. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts.map +0 -1
  340. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js +0 -128
  341. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js.map +0 -1
  342. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts +0 -4
  343. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts.map +0 -1
  344. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js +0 -4
  345. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js.map +0 -1
  346. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts +0 -37
  347. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts.map +0 -1
  348. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js +0 -179
  349. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js.map +0 -1
  350. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts +0 -99
  351. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts.map +0 -1
  352. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js +0 -492
  353. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js.map +0 -1
  354. package/node_modules/@blockcast/mmt-manifest-verify/package.json +0 -45
  355. package/node_modules/@blockcast/mmt-manifest-verify/src/admission.ts +0 -171
  356. package/node_modules/@blockcast/mmt-manifest-verify/src/index.ts +0 -3
  357. package/node_modules/@blockcast/mmt-manifest-verify/src/source-auth.ts +0 -230
  358. package/node_modules/@blockcast/mmt-manifest-verify/src/verifier.ts +0 -669
  359. package/node_modules/@noble/hashes/LICENSE +0 -21
  360. package/node_modules/@noble/hashes/README.md +0 -521
  361. package/node_modules/@noble/hashes/_assert.d.ts +0 -17
  362. package/node_modules/@noble/hashes/_assert.d.ts.map +0 -1
  363. package/node_modules/@noble/hashes/_assert.js +0 -18
  364. package/node_modules/@noble/hashes/_assert.js.map +0 -1
  365. package/node_modules/@noble/hashes/_blake.d.ts +0 -14
  366. package/node_modules/@noble/hashes/_blake.d.ts.map +0 -1
  367. package/node_modules/@noble/hashes/_blake.js +0 -50
  368. package/node_modules/@noble/hashes/_blake.js.map +0 -1
  369. package/node_modules/@noble/hashes/_md.d.ts +0 -51
  370. package/node_modules/@noble/hashes/_md.d.ts.map +0 -1
  371. package/node_modules/@noble/hashes/_md.js +0 -162
  372. package/node_modules/@noble/hashes/_md.js.map +0 -1
  373. package/node_modules/@noble/hashes/_u64.d.ts +0 -55
  374. package/node_modules/@noble/hashes/_u64.d.ts.map +0 -1
  375. package/node_modules/@noble/hashes/_u64.js +0 -90
  376. package/node_modules/@noble/hashes/_u64.js.map +0 -1
  377. package/node_modules/@noble/hashes/argon2.d.ts +0 -32
  378. package/node_modules/@noble/hashes/argon2.d.ts.map +0 -1
  379. package/node_modules/@noble/hashes/argon2.js +0 -401
  380. package/node_modules/@noble/hashes/argon2.js.map +0 -1
  381. package/node_modules/@noble/hashes/blake1.d.ts +0 -106
  382. package/node_modules/@noble/hashes/blake1.d.ts.map +0 -1
  383. package/node_modules/@noble/hashes/blake1.js +0 -459
  384. package/node_modules/@noble/hashes/blake1.js.map +0 -1
  385. package/node_modules/@noble/hashes/blake2.d.ts +0 -116
  386. package/node_modules/@noble/hashes/blake2.d.ts.map +0 -1
  387. package/node_modules/@noble/hashes/blake2.js +0 -420
  388. package/node_modules/@noble/hashes/blake2.js.map +0 -1
  389. package/node_modules/@noble/hashes/blake2b.d.ts +0 -11
  390. package/node_modules/@noble/hashes/blake2b.d.ts.map +0 -1
  391. package/node_modules/@noble/hashes/blake2b.js +0 -14
  392. package/node_modules/@noble/hashes/blake2b.js.map +0 -1
  393. package/node_modules/@noble/hashes/blake2s.d.ts +0 -20
  394. package/node_modules/@noble/hashes/blake2s.d.ts.map +0 -1
  395. package/node_modules/@noble/hashes/blake2s.js +0 -24
  396. package/node_modules/@noble/hashes/blake2s.js.map +0 -1
  397. package/node_modules/@noble/hashes/blake3.d.ts +0 -54
  398. package/node_modules/@noble/hashes/blake3.d.ts.map +0 -1
  399. package/node_modules/@noble/hashes/blake3.js +0 -255
  400. package/node_modules/@noble/hashes/blake3.js.map +0 -1
  401. package/node_modules/@noble/hashes/crypto.d.ts +0 -2
  402. package/node_modules/@noble/hashes/crypto.d.ts.map +0 -1
  403. package/node_modules/@noble/hashes/crypto.js +0 -5
  404. package/node_modules/@noble/hashes/crypto.js.map +0 -1
  405. package/node_modules/@noble/hashes/cryptoNode.d.ts +0 -2
  406. package/node_modules/@noble/hashes/cryptoNode.d.ts.map +0 -1
  407. package/node_modules/@noble/hashes/cryptoNode.js +0 -18
  408. package/node_modules/@noble/hashes/cryptoNode.js.map +0 -1
  409. package/node_modules/@noble/hashes/eskdf.d.ts +0 -47
  410. package/node_modules/@noble/hashes/eskdf.d.ts.map +0 -1
  411. package/node_modules/@noble/hashes/eskdf.js +0 -166
  412. package/node_modules/@noble/hashes/eskdf.js.map +0 -1
  413. package/node_modules/@noble/hashes/esm/_assert.d.ts +0 -17
  414. package/node_modules/@noble/hashes/esm/_assert.d.ts.map +0 -1
  415. package/node_modules/@noble/hashes/esm/_assert.js +0 -15
  416. package/node_modules/@noble/hashes/esm/_assert.js.map +0 -1
  417. package/node_modules/@noble/hashes/esm/_blake.d.ts +0 -14
  418. package/node_modules/@noble/hashes/esm/_blake.d.ts.map +0 -1
  419. package/node_modules/@noble/hashes/esm/_blake.js +0 -45
  420. package/node_modules/@noble/hashes/esm/_blake.js.map +0 -1
  421. package/node_modules/@noble/hashes/esm/_md.d.ts +0 -51
  422. package/node_modules/@noble/hashes/esm/_md.d.ts.map +0 -1
  423. package/node_modules/@noble/hashes/esm/_md.js +0 -155
  424. package/node_modules/@noble/hashes/esm/_md.js.map +0 -1
  425. package/node_modules/@noble/hashes/esm/_u64.d.ts +0 -55
  426. package/node_modules/@noble/hashes/esm/_u64.d.ts.map +0 -1
  427. package/node_modules/@noble/hashes/esm/_u64.js +0 -67
  428. package/node_modules/@noble/hashes/esm/_u64.js.map +0 -1
  429. package/node_modules/@noble/hashes/esm/argon2.d.ts +0 -32
  430. package/node_modules/@noble/hashes/esm/argon2.d.ts.map +0 -1
  431. package/node_modules/@noble/hashes/esm/argon2.js +0 -392
  432. package/node_modules/@noble/hashes/esm/argon2.js.map +0 -1
  433. package/node_modules/@noble/hashes/esm/blake1.d.ts +0 -106
  434. package/node_modules/@noble/hashes/esm/blake1.d.ts.map +0 -1
  435. package/node_modules/@noble/hashes/esm/blake1.js +0 -452
  436. package/node_modules/@noble/hashes/esm/blake1.js.map +0 -1
  437. package/node_modules/@noble/hashes/esm/blake2.d.ts +0 -116
  438. package/node_modules/@noble/hashes/esm/blake2.d.ts.map +0 -1
  439. package/node_modules/@noble/hashes/esm/blake2.js +0 -413
  440. package/node_modules/@noble/hashes/esm/blake2.js.map +0 -1
  441. package/node_modules/@noble/hashes/esm/blake2b.d.ts +0 -11
  442. package/node_modules/@noble/hashes/esm/blake2b.d.ts.map +0 -1
  443. package/node_modules/@noble/hashes/esm/blake2b.js +0 -11
  444. package/node_modules/@noble/hashes/esm/blake2b.js.map +0 -1
  445. package/node_modules/@noble/hashes/esm/blake2s.d.ts +0 -20
  446. package/node_modules/@noble/hashes/esm/blake2s.d.ts.map +0 -1
  447. package/node_modules/@noble/hashes/esm/blake2s.js +0 -21
  448. package/node_modules/@noble/hashes/esm/blake2s.js.map +0 -1
  449. package/node_modules/@noble/hashes/esm/blake3.d.ts +0 -54
  450. package/node_modules/@noble/hashes/esm/blake3.d.ts.map +0 -1
  451. package/node_modules/@noble/hashes/esm/blake3.js +0 -251
  452. package/node_modules/@noble/hashes/esm/blake3.js.map +0 -1
  453. package/node_modules/@noble/hashes/esm/crypto.d.ts +0 -2
  454. package/node_modules/@noble/hashes/esm/crypto.d.ts.map +0 -1
  455. package/node_modules/@noble/hashes/esm/crypto.js +0 -2
  456. package/node_modules/@noble/hashes/esm/crypto.js.map +0 -1
  457. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts +0 -2
  458. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map +0 -1
  459. package/node_modules/@noble/hashes/esm/cryptoNode.js +0 -15
  460. package/node_modules/@noble/hashes/esm/cryptoNode.js.map +0 -1
  461. package/node_modules/@noble/hashes/esm/eskdf.d.ts +0 -47
  462. package/node_modules/@noble/hashes/esm/eskdf.d.ts.map +0 -1
  463. package/node_modules/@noble/hashes/esm/eskdf.js +0 -160
  464. package/node_modules/@noble/hashes/esm/eskdf.js.map +0 -1
  465. package/node_modules/@noble/hashes/esm/hkdf.d.ts +0 -36
  466. package/node_modules/@noble/hashes/esm/hkdf.d.ts.map +0 -1
  467. package/node_modules/@noble/hashes/esm/hkdf.js +0 -82
  468. package/node_modules/@noble/hashes/esm/hkdf.js.map +0 -1
  469. package/node_modules/@noble/hashes/esm/hmac.d.ts +0 -35
  470. package/node_modules/@noble/hashes/esm/hmac.d.ts.map +0 -1
  471. package/node_modules/@noble/hashes/esm/hmac.js +0 -86
  472. package/node_modules/@noble/hashes/esm/hmac.js.map +0 -1
  473. package/node_modules/@noble/hashes/esm/index.d.ts +0 -2
  474. package/node_modules/@noble/hashes/esm/index.d.ts.map +0 -1
  475. package/node_modules/@noble/hashes/esm/index.js +0 -33
  476. package/node_modules/@noble/hashes/esm/index.js.map +0 -1
  477. package/node_modules/@noble/hashes/esm/legacy.d.ts +0 -71
  478. package/node_modules/@noble/hashes/esm/legacy.d.ts.map +0 -1
  479. package/node_modules/@noble/hashes/esm/legacy.js +0 -281
  480. package/node_modules/@noble/hashes/esm/legacy.js.map +0 -1
  481. package/node_modules/@noble/hashes/esm/package.json +0 -10
  482. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts +0 -23
  483. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map +0 -1
  484. package/node_modules/@noble/hashes/esm/pbkdf2.js +0 -97
  485. package/node_modules/@noble/hashes/esm/pbkdf2.js.map +0 -1
  486. package/node_modules/@noble/hashes/esm/ripemd160.d.ts +0 -13
  487. package/node_modules/@noble/hashes/esm/ripemd160.d.ts.map +0 -1
  488. package/node_modules/@noble/hashes/esm/ripemd160.js +0 -13
  489. package/node_modules/@noble/hashes/esm/ripemd160.js.map +0 -1
  490. package/node_modules/@noble/hashes/esm/scrypt.d.ts +0 -34
  491. package/node_modules/@noble/hashes/esm/scrypt.d.ts.map +0 -1
  492. package/node_modules/@noble/hashes/esm/scrypt.js +0 -228
  493. package/node_modules/@noble/hashes/esm/scrypt.js.map +0 -1
  494. package/node_modules/@noble/hashes/esm/sha1.d.ts +0 -11
  495. package/node_modules/@noble/hashes/esm/sha1.d.ts.map +0 -1
  496. package/node_modules/@noble/hashes/esm/sha1.js +0 -11
  497. package/node_modules/@noble/hashes/esm/sha1.js.map +0 -1
  498. package/node_modules/@noble/hashes/esm/sha2.d.ts +0 -159
  499. package/node_modules/@noble/hashes/esm/sha2.d.ts.map +0 -1
  500. package/node_modules/@noble/hashes/esm/sha2.js +0 -375
  501. package/node_modules/@noble/hashes/esm/sha2.js.map +0 -1
  502. package/node_modules/@noble/hashes/esm/sha256.d.ts +0 -20
  503. package/node_modules/@noble/hashes/esm/sha256.d.ts.map +0 -1
  504. package/node_modules/@noble/hashes/esm/sha256.js +0 -20
  505. package/node_modules/@noble/hashes/esm/sha256.js.map +0 -1
  506. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts +0 -142
  507. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map +0 -1
  508. package/node_modules/@noble/hashes/esm/sha3-addons.js +0 -393
  509. package/node_modules/@noble/hashes/esm/sha3-addons.js.map +0 -1
  510. package/node_modules/@noble/hashes/esm/sha3.d.ts +0 -53
  511. package/node_modules/@noble/hashes/esm/sha3.d.ts.map +0 -1
  512. package/node_modules/@noble/hashes/esm/sha3.js +0 -234
  513. package/node_modules/@noble/hashes/esm/sha3.js.map +0 -1
  514. package/node_modules/@noble/hashes/esm/sha512.d.ts +0 -26
  515. package/node_modules/@noble/hashes/esm/sha512.d.ts.map +0 -1
  516. package/node_modules/@noble/hashes/esm/sha512.js +0 -26
  517. package/node_modules/@noble/hashes/esm/sha512.js.map +0 -1
  518. package/node_modules/@noble/hashes/esm/utils.d.ts +0 -161
  519. package/node_modules/@noble/hashes/esm/utils.d.ts.map +0 -1
  520. package/node_modules/@noble/hashes/esm/utils.js +0 -281
  521. package/node_modules/@noble/hashes/esm/utils.js.map +0 -1
  522. package/node_modules/@noble/hashes/hkdf.d.ts +0 -36
  523. package/node_modules/@noble/hashes/hkdf.d.ts.map +0 -1
  524. package/node_modules/@noble/hashes/hkdf.js +0 -88
  525. package/node_modules/@noble/hashes/hkdf.js.map +0 -1
  526. package/node_modules/@noble/hashes/hmac.d.ts +0 -35
  527. package/node_modules/@noble/hashes/hmac.d.ts.map +0 -1
  528. package/node_modules/@noble/hashes/hmac.js +0 -91
  529. package/node_modules/@noble/hashes/hmac.js.map +0 -1
  530. package/node_modules/@noble/hashes/index.d.ts +0 -1
  531. package/node_modules/@noble/hashes/index.d.ts.map +0 -1
  532. package/node_modules/@noble/hashes/index.js +0 -33
  533. package/node_modules/@noble/hashes/index.js.map +0 -1
  534. package/node_modules/@noble/hashes/legacy.d.ts +0 -71
  535. package/node_modules/@noble/hashes/legacy.d.ts.map +0 -1
  536. package/node_modules/@noble/hashes/legacy.js +0 -287
  537. package/node_modules/@noble/hashes/legacy.js.map +0 -1
  538. package/node_modules/@noble/hashes/package.json +0 -266
  539. package/node_modules/@noble/hashes/pbkdf2.d.ts +0 -23
  540. package/node_modules/@noble/hashes/pbkdf2.d.ts.map +0 -1
  541. package/node_modules/@noble/hashes/pbkdf2.js +0 -101
  542. package/node_modules/@noble/hashes/pbkdf2.js.map +0 -1
  543. package/node_modules/@noble/hashes/ripemd160.d.ts +0 -13
  544. package/node_modules/@noble/hashes/ripemd160.d.ts.map +0 -1
  545. package/node_modules/@noble/hashes/ripemd160.js +0 -16
  546. package/node_modules/@noble/hashes/ripemd160.js.map +0 -1
  547. package/node_modules/@noble/hashes/scrypt.d.ts +0 -34
  548. package/node_modules/@noble/hashes/scrypt.d.ts.map +0 -1
  549. package/node_modules/@noble/hashes/scrypt.js +0 -232
  550. package/node_modules/@noble/hashes/scrypt.js.map +0 -1
  551. package/node_modules/@noble/hashes/sha1.d.ts +0 -11
  552. package/node_modules/@noble/hashes/sha1.d.ts.map +0 -1
  553. package/node_modules/@noble/hashes/sha1.js +0 -14
  554. package/node_modules/@noble/hashes/sha1.js.map +0 -1
  555. package/node_modules/@noble/hashes/sha2.d.ts +0 -159
  556. package/node_modules/@noble/hashes/sha2.d.ts.map +0 -1
  557. package/node_modules/@noble/hashes/sha2.js +0 -384
  558. package/node_modules/@noble/hashes/sha2.js.map +0 -1
  559. package/node_modules/@noble/hashes/sha256.d.ts +0 -20
  560. package/node_modules/@noble/hashes/sha256.d.ts.map +0 -1
  561. package/node_modules/@noble/hashes/sha256.js +0 -23
  562. package/node_modules/@noble/hashes/sha256.js.map +0 -1
  563. package/node_modules/@noble/hashes/sha3-addons.d.ts +0 -142
  564. package/node_modules/@noble/hashes/sha3-addons.d.ts.map +0 -1
  565. package/node_modules/@noble/hashes/sha3-addons.js +0 -402
  566. package/node_modules/@noble/hashes/sha3-addons.js.map +0 -1
  567. package/node_modules/@noble/hashes/sha3.d.ts +0 -53
  568. package/node_modules/@noble/hashes/sha3.d.ts.map +0 -1
  569. package/node_modules/@noble/hashes/sha3.js +0 -239
  570. package/node_modules/@noble/hashes/sha3.js.map +0 -1
  571. package/node_modules/@noble/hashes/sha512.d.ts +0 -26
  572. package/node_modules/@noble/hashes/sha512.d.ts.map +0 -1
  573. package/node_modules/@noble/hashes/sha512.js +0 -29
  574. package/node_modules/@noble/hashes/sha512.js.map +0 -1
  575. package/node_modules/@noble/hashes/src/_assert.ts +0 -22
  576. package/node_modules/@noble/hashes/src/_blake.ts +0 -50
  577. package/node_modules/@noble/hashes/src/_md.ts +0 -176
  578. package/node_modules/@noble/hashes/src/_u64.ts +0 -91
  579. package/node_modules/@noble/hashes/src/argon2.ts +0 -497
  580. package/node_modules/@noble/hashes/src/blake1.ts +0 -534
  581. package/node_modules/@noble/hashes/src/blake2.ts +0 -486
  582. package/node_modules/@noble/hashes/src/blake2b.ts +0 -10
  583. package/node_modules/@noble/hashes/src/blake2s.ts +0 -20
  584. package/node_modules/@noble/hashes/src/blake3.ts +0 -272
  585. package/node_modules/@noble/hashes/src/crypto.ts +0 -9
  586. package/node_modules/@noble/hashes/src/cryptoNode.ts +0 -15
  587. package/node_modules/@noble/hashes/src/eskdf.ts +0 -187
  588. package/node_modules/@noble/hashes/src/hkdf.ts +0 -88
  589. package/node_modules/@noble/hashes/src/hmac.ts +0 -94
  590. package/node_modules/@noble/hashes/src/index.ts +0 -31
  591. package/node_modules/@noble/hashes/src/legacy.ts +0 -293
  592. package/node_modules/@noble/hashes/src/pbkdf2.ts +0 -122
  593. package/node_modules/@noble/hashes/src/ripemd160.ts +0 -12
  594. package/node_modules/@noble/hashes/src/scrypt.ts +0 -257
  595. package/node_modules/@noble/hashes/src/sha1.ts +0 -10
  596. package/node_modules/@noble/hashes/src/sha2.ts +0 -402
  597. package/node_modules/@noble/hashes/src/sha256.ts +0 -24
  598. package/node_modules/@noble/hashes/src/sha3-addons.ts +0 -499
  599. package/node_modules/@noble/hashes/src/sha3.ts +0 -258
  600. package/node_modules/@noble/hashes/src/sha512.ts +0 -34
  601. package/node_modules/@noble/hashes/src/utils.ts +0 -395
  602. package/node_modules/@noble/hashes/utils.d.ts +0 -161
  603. package/node_modules/@noble/hashes/utils.d.ts.map +0 -1
  604. package/node_modules/@noble/hashes/utils.js +0 -313
  605. package/node_modules/@noble/hashes/utils.js.map +0 -1
@@ -57,81 +57,20 @@ var BlockcastMmt = (() => {
57
57
  validateCmsfMmtpCatalog: () => validateCmsfMmtpCatalog
58
58
  });
59
59
 
60
- // ../mmt-alta-parse/dist/index.js
60
+ // ../mmt-base/dist/mmtp.js
61
61
  var MMTP_HEADER_SIZE = 12;
62
62
  var MPU_HEADER_SIZE = 8;
63
- var MPU_LENGTH_FIELD_SIZE = 2;
64
- var MPU_HEADER_REMAINDER_SIZE = MPU_HEADER_SIZE - MPU_LENGTH_FIELD_SIZE;
65
- var TIMED_MFU_DU_HEADER_SIZE = 14;
66
- var NONTIMED_MFU_DU_HEADER_SIZE = 4;
67
- var PACKET_TYPE_MPU = 0;
68
- var MMTP_EXT_TYPE_ALTA_AUTH = 61601;
69
- var MMTP_EXT_TRAILER_HEADER_SIZE = 4;
70
- function extractAltaTrailer(mmtpPacket, options) {
71
- if (mmtpPacket.length < MMTP_HEADER_SIZE + MPU_HEADER_SIZE)
72
- return null;
73
- const packetType = mmtpPacket[1] & 63;
74
- if (packetType !== PACKET_TYPE_MPU)
75
- return null;
76
- const fecType = mmtpPacket[0] >> 3 & 3;
77
- let headerLength = MMTP_HEADER_SIZE;
78
- if (fecType < 2 && (mmtpPacket[0] & 32) !== 0)
79
- headerLength += 4;
80
- if (fecType < 2 && (mmtpPacket[0] & 2) !== 0) {
81
- if (headerLength + 4 > mmtpPacket.length)
82
- return null;
83
- const extensionLength = new DataView(mmtpPacket.buffer, mmtpPacket.byteOffset + headerLength + 2, 2).getUint16(0, false);
84
- headerLength += 4 + extensionLength;
85
- }
86
- if (headerLength + MPU_HEADER_SIZE > mmtpPacket.length)
87
- return null;
88
- const payload = mmtpPacket.subarray(headerLength);
89
- const payloadLength = payload[0] << 8 | payload[1];
90
- const flagsByte = payload[2];
91
- const fragmentType = flagsByte >> 4 & 15;
92
- const timed = (flagsByte >> 3 & 1) === 1;
93
- const fragmentationIndicator = flagsByte >> 1 & 3;
94
- if (fragmentType !== 2)
95
- return null;
96
- const dataUnitHeaderSize = fragmentationIndicator <= 1 ? timed ? TIMED_MFU_DU_HEADER_SIZE : NONTIMED_MFU_DU_HEADER_SIZE : 0;
97
- if (payloadLength <= MPU_HEADER_REMAINDER_SIZE + dataUnitHeaderSize)
98
- return null;
99
- if (fecType > 1)
100
- return null;
101
- const hasFecId = !options?.skipFecId && fecType === 1;
102
- const payloadEnd = hasFecId ? payload.length - 4 : payload.length;
103
- const declaredEnd = MPU_LENGTH_FIELD_SIZE + payloadLength;
104
- if (declaredEnd > payloadEnd)
105
- return null;
106
- if (declaredEnd + MMTP_EXT_TRAILER_HEADER_SIZE > payloadEnd)
107
- return null;
108
- const extType = payload[declaredEnd] << 8 | payload[declaredEnd + 1];
109
- if (extType !== MMTP_EXT_TYPE_ALTA_AUTH)
110
- return null;
111
- const extLen = payload[declaredEnd + 2] << 8 | payload[declaredEnd + 3];
112
- const authStart = declaredEnd + MMTP_EXT_TRAILER_HEADER_SIZE;
113
- if (authStart + extLen !== payloadEnd)
114
- return null;
115
- return {
116
- auth: payload.subarray(authStart, payloadEnd),
117
- signedEnd: headerLength + declaredEnd
118
- };
119
- }
120
-
121
- // ../mmt-base/dist/mmtp.js
122
- var MMTP_HEADER_SIZE2 = 12;
123
- var MPU_HEADER_SIZE2 = 8;
124
63
  var MFU_DU_HEADER_SIZE_TIMED = 14;
125
64
  var MFU_DU_HEADER_SIZE_NONTIMED = 4;
126
- var MPU_LENGTH_FIELD_SIZE2 = 2;
127
- var MPU_HEADER_REMAINDER_SIZE2 = MPU_HEADER_SIZE2 - MPU_LENGTH_FIELD_SIZE2;
65
+ var MPU_LENGTH_FIELD_SIZE = 2;
66
+ var MPU_HEADER_REMAINDER_SIZE = MPU_HEADER_SIZE - MPU_LENGTH_FIELD_SIZE;
128
67
  var SOURCE_FEC_PAYLOAD_ID_SIZE = 4;
129
- var PACKET_TYPE_MPU2 = 0;
68
+ var PACKET_TYPE_MPU = 0;
130
69
  var PACKET_TYPE_REPAIR = 3;
131
70
  var MMTP_SIGNALING_PACKET_ID = 0;
132
71
  var MMTP_PACKET_ID_MAX = 65535;
133
72
  function parseMMTPHeader(buffer) {
134
- if (buffer.length < MMTP_HEADER_SIZE2) {
73
+ if (buffer.length < MMTP_HEADER_SIZE) {
135
74
  throw new Error(`MMTP packet too small: ${buffer.length} bytes`);
136
75
  }
137
76
  const view2 = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
@@ -187,7 +126,7 @@ var BlockcastMmt = (() => {
187
126
  };
188
127
  }
189
128
  function parseMPUHeader(payload) {
190
- if (payload.length < MPU_HEADER_SIZE2) {
129
+ if (payload.length < MPU_HEADER_SIZE) {
191
130
  throw new Error(`Payload too small for MPU header: ${payload.length} bytes`);
192
131
  }
193
132
  const view2 = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);
@@ -220,15 +159,15 @@ var BlockcastMmt = (() => {
220
159
  };
221
160
  }
222
161
  function resolveMfuPayloadLayout(mpu, fragmentType, payload) {
223
- if (mpu.payloadLength < MPU_HEADER_REMAINDER_SIZE2) {
162
+ if (mpu.payloadLength < MPU_HEADER_REMAINDER_SIZE) {
224
163
  return {
225
164
  rejection: {
226
165
  gate: "mpu-payload-length-below-header-remainder",
227
- detail: `payload_length=${mpu.payloadLength} < ${MPU_HEADER_REMAINDER_SIZE2}`
166
+ detail: `payload_length=${mpu.payloadLength} < ${MPU_HEADER_REMAINDER_SIZE}`
228
167
  }
229
168
  };
230
169
  }
231
- const declaredEnd = MPU_LENGTH_FIELD_SIZE2 + mpu.payloadLength;
170
+ const declaredEnd = MPU_LENGTH_FIELD_SIZE + mpu.payloadLength;
232
171
  if (declaredEnd > payload.length) {
233
172
  return {
234
173
  rejection: {
@@ -239,7 +178,7 @@ var BlockcastMmt = (() => {
239
178
  }
240
179
  const hasHeader = fragmentType === 2 && mpu.fragmentationIndicator <= 1;
241
180
  const mfuHeaderSize = mpu.timedFlag ? MFU_DU_HEADER_SIZE_TIMED : MFU_DU_HEADER_SIZE_NONTIMED;
242
- const mfuOffset = MPU_HEADER_SIZE2 + (hasHeader ? mfuHeaderSize : 0);
181
+ const mfuOffset = MPU_HEADER_SIZE + (hasHeader ? mfuHeaderSize : 0);
243
182
  if (mfuOffset >= declaredEnd) {
244
183
  return {
245
184
  rejection: {
@@ -256,44 +195,46 @@ var BlockcastMmt = (() => {
256
195
  }
257
196
  };
258
197
  }
259
- function isEmptyOrExactAltaTrailer(payload, start, end) {
198
+ var LEGACY_TRAILER_EXT_TYPE = 61601;
199
+ var LEGACY_TRAILER_HEADER_SIZE = 4;
200
+ function isEmptyOrExactLegacyTrailer(payload, start, end) {
260
201
  if (start === end)
261
202
  return true;
262
- if (start < 0 || end > payload.length || start + MMTP_EXT_TRAILER_HEADER_SIZE > end) {
203
+ if (start < 0 || end > payload.length || start + LEGACY_TRAILER_HEADER_SIZE > end) {
263
204
  return false;
264
205
  }
265
206
  const view2 = new DataView(payload.buffer, payload.byteOffset + start, end - start);
266
- if (view2.getUint16(0, false) !== MMTP_EXT_TYPE_ALTA_AUTH)
207
+ if (view2.getUint16(0, false) !== LEGACY_TRAILER_EXT_TYPE)
267
208
  return false;
268
209
  const authLength = view2.getUint16(2, false);
269
- return start + MMTP_EXT_TRAILER_HEADER_SIZE + authLength === end;
210
+ return start + LEGACY_TRAILER_HEADER_SIZE + authLength === end;
270
211
  }
271
212
  function resolveDeclaredTrailers(payload, declaredEnd, fecType, options) {
272
213
  if (declaredEnd > payload.length)
273
214
  return null;
274
215
  if (options?.skipFecId) {
275
- return isEmptyOrExactAltaTrailer(payload, declaredEnd, payload.length) ? { hasFecId: false } : null;
216
+ return isEmptyOrExactLegacyTrailer(payload, declaredEnd, payload.length) ? { hasFecId: false } : null;
276
217
  }
277
218
  if (fecType === 1) {
278
219
  const fecStart = payload.length - SOURCE_FEC_PAYLOAD_ID_SIZE;
279
- if (fecStart < declaredEnd || !isEmptyOrExactAltaTrailer(payload, declaredEnd, fecStart)) {
220
+ if (fecStart < declaredEnd || !isEmptyOrExactLegacyTrailer(payload, declaredEnd, fecStart)) {
280
221
  return null;
281
222
  }
282
223
  return { hasFecId: true };
283
224
  }
284
225
  if (fecType !== 0)
285
226
  return null;
286
- if (isEmptyOrExactAltaTrailer(payload, declaredEnd, payload.length)) {
227
+ if (isEmptyOrExactLegacyTrailer(payload, declaredEnd, payload.length)) {
287
228
  return { hasFecId: false };
288
229
  }
289
230
  return null;
290
231
  }
291
232
  function planMfuExtraction(mmtpPacket, options, parsedHeader) {
292
- if (mmtpPacket.length < MMTP_HEADER_SIZE2 + MPU_HEADER_SIZE2) {
233
+ if (mmtpPacket.length < MMTP_HEADER_SIZE + MPU_HEADER_SIZE) {
293
234
  return {
294
235
  rejection: {
295
236
  gate: "packet-shorter-than-mmtp-plus-mpu-header",
296
- detail: `${mmtpPacket.length} bytes < ${MMTP_HEADER_SIZE2 + MPU_HEADER_SIZE2}`
237
+ detail: `${mmtpPacket.length} bytes < ${MMTP_HEADER_SIZE + MPU_HEADER_SIZE}`
297
238
  }
298
239
  };
299
240
  }
@@ -312,7 +253,7 @@ var BlockcastMmt = (() => {
312
253
  };
313
254
  }
314
255
  }
315
- if (header.packetType !== PACKET_TYPE_MPU2) {
256
+ if (header.packetType !== PACKET_TYPE_MPU) {
316
257
  return {
317
258
  rejection: {
318
259
  gate: "not-an-mpu-packet",
@@ -321,11 +262,11 @@ var BlockcastMmt = (() => {
321
262
  };
322
263
  }
323
264
  const payload = mmtpPacket.subarray(header.headerLength);
324
- if (payload.length < MPU_HEADER_SIZE2) {
265
+ if (payload.length < MPU_HEADER_SIZE) {
325
266
  return {
326
267
  rejection: {
327
268
  gate: "payload-shorter-than-mpu-header",
328
- detail: `${payload.length} bytes < ${MPU_HEADER_SIZE2}`
269
+ detail: `${payload.length} bytes < ${MPU_HEADER_SIZE}`
329
270
  }
330
271
  };
331
272
  }
@@ -356,7 +297,7 @@ var BlockcastMmt = (() => {
356
297
  return {
357
298
  rejection: {
358
299
  gate: "declared-trailers-unresolved",
359
- detail: `trailer bytes [${layout.dataEnd}, ${payload.length}) are neither empty nor an exact ALTA trailer (fecType=${header.fecType})`
300
+ detail: `trailer bytes [${layout.dataEnd}, ${payload.length}) are neither empty nor an exact legacy authenticator trailer (fecType=${header.fecType})`
360
301
  }
361
302
  };
362
303
  }
@@ -372,8 +313,8 @@ var BlockcastMmt = (() => {
372
313
  const mfuDuHeaderPresent = layout.hasMfuDuHeader;
373
314
  const mfuOffset = layout.mfuOffset;
374
315
  const dataEnd = layout.dataEnd;
375
- const mfuDuHeader = mfuDuHeaderPresent && mpu.timedFlag === 1 ? parseTimedMfuDuHeader(payload, MPU_HEADER_SIZE2) : null;
376
- const itemId = mfuDuHeaderPresent && mpu.timedFlag === 0 ? new DataView(payload.buffer, payload.byteOffset + MPU_HEADER_SIZE2, 4).getUint32(0, false) : null;
316
+ const mfuDuHeader = mfuDuHeaderPresent && mpu.timedFlag === 1 ? parseTimedMfuDuHeader(payload, MPU_HEADER_SIZE) : null;
317
+ const itemId = mfuDuHeaderPresent && mpu.timedFlag === 0 ? new DataView(payload.buffer, payload.byteOffset + MPU_HEADER_SIZE, 4).getUint32(0, false) : null;
377
318
  const data = payload.subarray(mfuOffset, dataEnd);
378
319
  const fecPayloadId = trailerLayout.hasFecId ? {
379
320
  ssId: new DataView(mmtpPacket.buffer, mmtpPacket.byteOffset + mmtpPacket.length - SOURCE_FEC_PAYLOAD_ID_SIZE, SOURCE_FEC_PAYLOAD_ID_SIZE).getUint32(0, false)
@@ -381,17 +322,17 @@ var BlockcastMmt = (() => {
381
322
  return { header, mpu, fragmentType, data, mfuDuHeader, itemId, fecPayloadId };
382
323
  }
383
324
  function sourceFecPayloadIdOf(mmtpPacket, header) {
384
- if (mmtpPacket.length < MMTP_HEADER_SIZE2 + MPU_HEADER_SIZE2)
325
+ if (mmtpPacket.length < MMTP_HEADER_SIZE + MPU_HEADER_SIZE)
385
326
  return null;
386
- if (header.packetType !== PACKET_TYPE_MPU2)
327
+ if (header.packetType !== PACKET_TYPE_MPU)
387
328
  return null;
388
329
  const payload = mmtpPacket.subarray(header.headerLength);
389
- if (payload.length < MPU_HEADER_SIZE2)
330
+ if (payload.length < MPU_HEADER_SIZE)
390
331
  return null;
391
332
  const payloadLength = payload[0] << 8 | payload[1];
392
- if (payloadLength < MPU_HEADER_REMAINDER_SIZE2)
333
+ if (payloadLength < MPU_HEADER_REMAINDER_SIZE)
393
334
  return null;
394
- const declaredEnd = MPU_LENGTH_FIELD_SIZE2 + payloadLength;
335
+ const declaredEnd = MPU_LENGTH_FIELD_SIZE + payloadLength;
395
336
  if (!resolveDeclaredTrailers(payload, declaredEnd, header.fecType)?.hasFecId)
396
337
  return null;
397
338
  const off = mmtpPacket.length - SOURCE_FEC_PAYLOAD_ID_SIZE;
@@ -399,7 +340,6 @@ var BlockcastMmt = (() => {
399
340
  ssId: (mmtpPacket[off] << 24 | mmtpPacket[off + 1] << 16 | mmtpPacket[off + 2] << 8 | mmtpPacket[off + 3]) >>> 0
400
341
  };
401
342
  }
402
- var extractAltaTrailer2 = extractAltaTrailer;
403
343
 
404
344
  // ../mmt-base/dist/ntp-short.js
405
345
  var NTP_SHORT_BITS = 32;
@@ -411,19 +351,18 @@ var BlockcastMmt = (() => {
411
351
 
412
352
  // ../mmt-base/dist/fec-block-profile.js
413
353
  var FEC_BLOCK_PROFILES = Object.freeze([
414
- "k-padded-v1",
415
354
  "iso-ssbg1-v1"
416
355
  ]);
417
356
  function isFecBlockProfile(value) {
418
- return value === "k-padded-v1" || value === "iso-ssbg1-v1";
357
+ return value === "iso-ssbg1-v1";
419
358
  }
420
359
  function parseFecBlockProfile(value, where) {
421
360
  if (isFecBlockProfile(value))
422
361
  return value;
423
362
  if (value === void 0) {
424
- throw new Error(`${where} is required: name the FEC block profile ("k-padded-v1" or "iso-ssbg1-v1")`);
363
+ throw new Error(`${where} is required: name the FEC block profile ("iso-ssbg1-v1")`);
425
364
  }
426
- throw new Error(`${where} must be "k-padded-v1" or "iso-ssbg1-v1" (got ${JSON.stringify(value)})`);
365
+ throw new Error(`${where} must be "iso-ssbg1-v1" (got ${JSON.stringify(value)})`);
427
366
  }
428
367
 
429
368
  // src/mfu-reassembler.ts
@@ -5318,7 +5257,7 @@ var BlockcastMmt = (() => {
5318
5257
  if (!a || !b || a.mediaTimescale !== b.mediaTimescale) return false;
5319
5258
  return b.decodeTime > a.decodeTime + BigInt(a.durationTicks);
5320
5259
  }
5321
- var _streams2, _gate, _emit2, _recordStat2, _FecReleaseSequencer_instances, streamFor_fn2, drain_fn, release_fn;
5260
+ var _streams2, _gate, _emit2, _recordStat2, _deferDepth, _deferredStreams, _FecReleaseSequencer_instances, drainUnlessDeferred_fn, streamFor_fn2, drain_fn, release_fn;
5322
5261
  var FecReleaseSequencer = class {
5323
5262
  constructor(gate, emit, recordStat) {
5324
5263
  __privateAdd(this, _FecReleaseSequencer_instances);
@@ -5326,6 +5265,8 @@ var BlockcastMmt = (() => {
5326
5265
  __privateAdd(this, _gate);
5327
5266
  __privateAdd(this, _emit2);
5328
5267
  __privateAdd(this, _recordStat2);
5268
+ __privateAdd(this, _deferDepth, 0);
5269
+ __privateAdd(this, _deferredStreams, /* @__PURE__ */ new Set());
5329
5270
  __privateSet(this, _gate, gate);
5330
5271
  __privateSet(this, _emit2, emit);
5331
5272
  __privateSet(this, _recordStat2, recordStat);
@@ -5335,6 +5276,36 @@ var BlockcastMmt = (() => {
5335
5276
  for (const stream of __privateGet(this, _streams2).values()) total += stream.buf.length;
5336
5277
  return total;
5337
5278
  }
5279
+ /**
5280
+ * Run `work` with the drains its pushes would run deferred to its end. A
5281
+ * recovered FEC block is routed one frame at a time, and its block is
5282
+ * already resolved when the first frame is pushed: draining on that push
5283
+ * would release past the gap before the block's other recovered frames
5284
+ * arrive (deciding a conceal or stall for media that is about to land),
5285
+ * and those frames would then be dropped as stale. Nests.
5286
+ */
5287
+ defer(work) {
5288
+ __privateWrapper(this, _deferDepth)._++;
5289
+ let threw = true;
5290
+ try {
5291
+ work();
5292
+ threw = false;
5293
+ } finally {
5294
+ __privateWrapper(this, _deferDepth)._--;
5295
+ if (__privateGet(this, _deferDepth) === 0 && __privateGet(this, _deferredStreams).size > 0) {
5296
+ const streams = [...__privateGet(this, _deferredStreams)];
5297
+ __privateGet(this, _deferredStreams).clear();
5298
+ if (!threw) {
5299
+ for (const stream of streams) __privateMethod(this, _FecReleaseSequencer_instances, drain_fn).call(this, stream);
5300
+ } else {
5301
+ try {
5302
+ for (const stream of streams) __privateMethod(this, _FecReleaseSequencer_instances, drain_fn).call(this, stream);
5303
+ } catch {
5304
+ }
5305
+ }
5306
+ }
5307
+ }
5308
+ }
5338
5309
  push(streamKey, data, meta, seq) {
5339
5310
  const frame = { data, meta: { ...meta }, seq, arrivedAtMs: performance.now() };
5340
5311
  const stream = __privateMethod(this, _FecReleaseSequencer_instances, streamFor_fn2).call(this, streamKey, meta);
@@ -5356,7 +5327,7 @@ var BlockcastMmt = (() => {
5356
5327
  return;
5357
5328
  }
5358
5329
  __privateMethod(this, _FecReleaseSequencer_instances, release_fn).call(this, stream, frame, void 0);
5359
- __privateMethod(this, _FecReleaseSequencer_instances, drain_fn).call(this, stream);
5330
+ __privateMethod(this, _FecReleaseSequencer_instances, drainUnlessDeferred_fn).call(this, stream);
5360
5331
  return;
5361
5332
  }
5362
5333
  let lo = 0;
@@ -5367,7 +5338,23 @@ var BlockcastMmt = (() => {
5367
5338
  else hi = mid;
5368
5339
  }
5369
5340
  stream.buf.splice(lo, 0, frame);
5370
- __privateMethod(this, _FecReleaseSequencer_instances, drain_fn).call(this, stream);
5341
+ __privateMethod(this, _FecReleaseSequencer_instances, drainUnlessDeferred_fn).call(this, stream);
5342
+ }
5343
+ /**
5344
+ * Arrival time of the earliest frame a stream of `packetId` holds behind a
5345
+ * gap (the gate forces it out `holdLimitMs` after that), or undefined when
5346
+ * none is held. Without `catalogTrackName`, every stream of the packetId.
5347
+ */
5348
+ earliestHeldArrivalMs(packetId, catalogTrackName) {
5349
+ let earliest;
5350
+ for (const stream of __privateGet(this, _streams2).values()) {
5351
+ if (stream.packetId !== packetId) continue;
5352
+ if (catalogTrackName !== void 0 && stream.catalogTrackName !== catalogTrackName) continue;
5353
+ for (const frame of stream.buf) {
5354
+ if (earliest === void 0 || frame.arrivedAtMs < earliest) earliest = frame.arrivedAtMs;
5355
+ }
5356
+ }
5357
+ return earliest;
5371
5358
  }
5372
5359
  /** Re-evaluate held gaps after FEC state changed. */
5373
5360
  poke(streamKey) {
@@ -5420,6 +5407,21 @@ var BlockcastMmt = (() => {
5420
5407
  __privateGet(this, _streams2).delete(key);
5421
5408
  }
5422
5409
  }
5410
+ /**
5411
+ * The packet's FEC ended, so no block will resolve a held gap: release its
5412
+ * frames in order, each gap stalled as a discontinuity, and forget its
5413
+ * streams, so FEC configured on it again starts from a fresh one.
5414
+ */
5415
+ endPacket(packetId) {
5416
+ for (const [key, stream] of __privateGet(this, _streams2)) {
5417
+ if (stream.packetId !== packetId) continue;
5418
+ while (stream.buf.length > 0 && stream.last !== null) {
5419
+ stream.discontinuity = true;
5420
+ __privateMethod(this, _FecReleaseSequencer_instances, drain_fn).call(this, stream);
5421
+ }
5422
+ __privateGet(this, _streams2).delete(key);
5423
+ }
5424
+ }
5423
5425
  discardPacket(packetId) {
5424
5426
  for (const [key, stream] of __privateGet(this, _streams2)) {
5425
5427
  if (stream.packetId !== packetId) continue;
@@ -5440,7 +5442,13 @@ var BlockcastMmt = (() => {
5440
5442
  _gate = new WeakMap();
5441
5443
  _emit2 = new WeakMap();
5442
5444
  _recordStat2 = new WeakMap();
5445
+ _deferDepth = new WeakMap();
5446
+ _deferredStreams = new WeakMap();
5443
5447
  _FecReleaseSequencer_instances = new WeakSet();
5448
+ drainUnlessDeferred_fn = function(stream) {
5449
+ if (__privateGet(this, _deferDepth) > 0) __privateGet(this, _deferredStreams).add(stream);
5450
+ else __privateMethod(this, _FecReleaseSequencer_instances, drain_fn).call(this, stream);
5451
+ };
5444
5452
  streamFor_fn2 = function(streamKey, meta) {
5445
5453
  let stream = __privateGet(this, _streams2).get(streamKey);
5446
5454
  if (!stream) {
@@ -5709,6 +5717,22 @@ var BlockcastMmt = (() => {
5709
5717
  }
5710
5718
  ) : null);
5711
5719
  }
5720
+ /**
5721
+ * Run `work` with the FEC release gate's drains deferred to its end, so
5722
+ * every frame it pushes is in place before any held gap is decided (see
5723
+ * FecReleaseSequencer.defer).
5724
+ */
5725
+ deferFecRelease(work) {
5726
+ if (!__privateGet(this, _fecSequencer)) {
5727
+ work();
5728
+ return;
5729
+ }
5730
+ __privateGet(this, _fecSequencer).defer(work);
5731
+ }
5732
+ /** See FecReleaseSequencer.earliestHeldArrivalMs. */
5733
+ fecReleaseEarliestHeldAtMs(packetId, catalogTrackName) {
5734
+ return __privateGet(this, _fecSequencer)?.earliestHeldArrivalMs(packetId, catalogTrackName);
5735
+ }
5712
5736
  /** Re-evaluate held gaps after FEC block state changed. */
5713
5737
  pokeFecRelease(packetId, catalogTrackName) {
5714
5738
  if (!__privateGet(this, _fecSequencer)) return;
@@ -5723,6 +5747,13 @@ var BlockcastMmt = (() => {
5723
5747
  markFecDiscontinuity(packetId, catalogTrackName) {
5724
5748
  __privateGet(this, _fecSequencer)?.markDiscontinuity(__privateMethod(this, _MmtpContainerParser_instances, streamKey_fn).call(this, packetId, catalogTrackName));
5725
5749
  }
5750
+ /**
5751
+ * The FEC of a packet ID ended: release the frames the FEC release gate
5752
+ * holds for it in order, each gap stalled, and forget its gated streams.
5753
+ */
5754
+ endFecRelease(packetId) {
5755
+ __privateGet(this, _fecSequencer)?.endPacket(packetId);
5756
+ }
5726
5757
  /**
5727
5758
  * MPU and data-unit identity of one MMTP packet, parsed in place (no copy,
5728
5759
  * no reassembly). Null for non-MPU packets and packets that do not parse.
@@ -6197,7 +6228,7 @@ var BlockcastMmt = (() => {
6197
6228
  const parsed = preParsed !== void 0 && preParsed.skipFecPayloadId === (options?.skipFecPayloadId === true) ? preParsed : this.parsePacket(packet, options);
6198
6229
  if (!parsed) return __privateMethod(this, _MmtpContainerParser_instances, drop_fn).call(this, "header-parse-failed");
6199
6230
  const info = parsed.info;
6200
- if (info.packetType !== PACKET_TYPE_MPU2) {
6231
+ if (info.packetType !== PACKET_TYPE_MPU) {
6201
6232
  return {
6202
6233
  kind: info.isRepair ? "repair" : "non-media",
6203
6234
  packet: info,
@@ -6206,10 +6237,8 @@ var BlockcastMmt = (() => {
6206
6237
  }
6207
6238
  if (info.fecPayloadId !== null && __privateGet(this, _sourceSymbolCb)) {
6208
6239
  const rawSymbol = packet.subarray(0, packet.length - 4);
6209
- const altaTrailer = extractAltaTrailer2(packet);
6210
- const alta = altaTrailer ? { auth: altaTrailer.auth, payloadEnd: altaTrailer.signedEnd } : void 0;
6211
6240
  try {
6212
- __privateGet(this, _sourceSymbolCb).call(this, info.packetId, info.fecPayloadId.ssId, rawSymbol, alta);
6241
+ __privateGet(this, _sourceSymbolCb).call(this, info.packetId, info.fecPayloadId.ssId, rawSymbol);
6213
6242
  } catch {
6214
6243
  }
6215
6244
  }
@@ -7165,6 +7194,14 @@ var BlockcastMmt = (() => {
7165
7194
  };
7166
7195
  function readFecBlockProfile(value, path, declaresFecInstance, fail) {
7167
7196
  if (value === void 0 && !declaresFecInstance) return void 0;
7197
+ if (isFecBlockProfile(value)) return value;
7198
+ if (typeof value === "string" && value.length > 0) {
7199
+ return fail(
7200
+ "track_fec_block_profile_unimplemented",
7201
+ path,
7202
+ `${JSON.stringify(value)} is not an implemented FEC block profile; only "iso-ssbg1-v1" is implemented`
7203
+ );
7204
+ }
7168
7205
  try {
7169
7206
  return parseFecBlockProfile(value, "blockProfile");
7170
7207
  } catch (error) {
@@ -7637,8 +7674,8 @@ var BlockcastMmt = (() => {
7637
7674
  "repair layers are self-describing fec-repair tracks (depends, repairLayer); fec.enhancementRepair is not supported"
7638
7675
  );
7639
7676
  }
7640
- if (config["interleaveDepthMs"] !== void 0 && !positiveInteger2(config["interleaveDepthMs"])) {
7641
- catalogError("track_fec", `${path}.fec.interleaveDepthMs`, "must be a positive integer");
7677
+ if (config["interleaveDepthMs"] !== void 0 && (!Number.isSafeInteger(config["interleaveDepthMs"]) || config["interleaveDepthMs"] < 0)) {
7678
+ catalogError("track_fec", `${path}.fec.interleaveDepthMs`, "must be a non-negative safe integer");
7642
7679
  }
7643
7680
  if (algorithm !== "none") {
7644
7681
  for (const field of ["sourceSymbols", "repairSymbols", "symbolSize"]) {
@@ -7713,6 +7750,13 @@ var BlockcastMmt = (() => {
7713
7750
  for (let endpointIndex = 0; endpointIndex < endpoints.length; endpointIndex++) {
7714
7751
  const endpoint = endpoints[endpointIndex];
7715
7752
  if (typeof endpoint !== "object" || endpoint === null || Array.isArray(endpoint)) continue;
7753
+ if ("relayAddress" in endpoint) {
7754
+ catalogError(
7755
+ "multicast_relay_address",
7756
+ `$.multicast.endpoints[${endpointIndex}].relayAddress`,
7757
+ 'relayAddress is retired; publish the relay as multicast.networkSource[{type:"amt",relay}]'
7758
+ );
7759
+ }
7716
7760
  const refs = endpoint["tracks"];
7717
7761
  if (!Array.isArray(refs)) continue;
7718
7762
  const packetIds = /* @__PURE__ */ new Map();
@@ -7761,7 +7805,7 @@ var BlockcastMmt = (() => {
7761
7805
  // ../fec/dist/oti.js
7762
7806
  function catalogFecInterleaveMs(fec) {
7763
7807
  const ms = fec?.interleaveDepthMs;
7764
- return typeof ms === "number" && ms > 0 && Number.isFinite(ms) ? ms : void 0;
7808
+ return typeof ms === "number" && Number.isSafeInteger(ms) && ms >= 0 ? ms : void 0;
7765
7809
  }
7766
7810
  function computeFecTimeout(interleaveDepthMs, safetyFactor = 3) {
7767
7811
  if (!Number.isFinite(interleaveDepthMs) || interleaveDepthMs <= 0) {
@@ -7780,7 +7824,6 @@ var BlockcastMmt = (() => {
7780
7824
  var MOQ_GROUP_ID_SPAN = WRAP_EPOCH_SPAN * SS_ID_SPAN;
7781
7825
 
7782
7826
  // src/fec-state.ts
7783
- var MIN_INTERLEAVE_DEPTH_MS = 33;
7784
7827
  var FEC_INACTIVE_REASONS = Object.freeze([
7785
7828
  "no-catalog-fec",
7786
7829
  "reliable-moq",
@@ -7807,7 +7850,7 @@ var BlockcastMmt = (() => {
7807
7850
  const block = recordOf(fec);
7808
7851
  if (block === void 0 || block["blockProfile"] !== "iso-ssbg1-v1") return true;
7809
7852
  const ms = block["interleaveDepthMs"];
7810
- return typeof ms === "number" && Number.isFinite(ms) && ms >= MIN_INTERLEAVE_DEPTH_MS;
7853
+ return ms === void 0 || typeof ms === "number" && Number.isSafeInteger(ms) && ms >= 0;
7811
7854
  }
7812
7855
  function requireBoolean(value, field) {
7813
7856
  if (typeof value !== "boolean") {