@blockcast/mmt-container 0.1.0 → 0.3.0-main.ef68de90edb3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (799) hide show
  1. package/README.md +524 -0
  2. package/dist/.build-stamp +0 -0
  3. package/dist/__tests__/test-utils.d.ts +71 -0
  4. package/dist/__tests__/test-utils.d.ts.map +1 -0
  5. package/dist/align.d.ts +152 -0
  6. package/dist/align.d.ts.map +1 -0
  7. package/dist/align.js +88 -0
  8. package/dist/align.js.map +7 -0
  9. package/dist/audio-init-parser.d.ts +66 -0
  10. package/dist/audio-init-parser.d.ts.map +1 -0
  11. package/dist/audio-init-parser.js +118 -0
  12. package/dist/audio-init-parser.js.map +7 -0
  13. package/dist/audio-ring-buffer.d.ts +50 -0
  14. package/dist/audio-ring-buffer.d.ts.map +1 -0
  15. package/dist/audio-ring-buffer.js +80 -0
  16. package/dist/audio-ring-buffer.js.map +7 -0
  17. package/dist/authored-timing.d.ts +32 -0
  18. package/dist/authored-timing.d.ts.map +1 -0
  19. package/dist/authored-timing.js +32 -0
  20. package/dist/authored-timing.js.map +7 -0
  21. package/dist/block-policy.d.ts +314 -0
  22. package/dist/block-policy.d.ts.map +1 -0
  23. package/dist/block-policy.js +466 -0
  24. package/dist/block-policy.js.map +7 -0
  25. package/dist/browser-runtime.js +26549 -0
  26. package/dist/browser-runtime.js.map +7 -0
  27. package/dist/carp-catalog.d.ts +429 -0
  28. package/dist/carp-catalog.d.ts.map +1 -0
  29. package/dist/carp-catalog.js +985 -0
  30. package/dist/carp-catalog.js.map +7 -0
  31. package/dist/catalog-fec-params.d.ts +275 -0
  32. package/dist/catalog-fec-params.d.ts.map +1 -0
  33. package/dist/catalog-fec-params.js +702 -0
  34. package/dist/catalog-fec-params.js.map +7 -0
  35. package/dist/catalog-network-source.d.ts +42 -0
  36. package/dist/catalog-network-source.d.ts.map +1 -0
  37. package/dist/catalog-network-source.js +47 -0
  38. package/dist/catalog-network-source.js.map +7 -0
  39. package/dist/catalog-validator.d.ts +18 -0
  40. package/dist/catalog-validator.d.ts.map +1 -0
  41. package/dist/catalog-validator.js +7747 -0
  42. package/dist/catalog-validator.js.map +7 -0
  43. package/dist/cmaf-block-assembler.d.ts +285 -0
  44. package/dist/cmaf-block-assembler.d.ts.map +1 -0
  45. package/dist/cmaf-block-assembler.js +1966 -0
  46. package/dist/cmaf-block-assembler.js.map +7 -0
  47. package/dist/cmaf-group-batcher.d.ts +38 -0
  48. package/dist/cmaf-group-batcher.d.ts.map +1 -0
  49. package/dist/cmaf-group-batcher.js +176 -0
  50. package/dist/cmaf-group-batcher.js.map +7 -0
  51. package/dist/cmcd-producer.d.ts +104 -0
  52. package/dist/cmcd-producer.d.ts.map +1 -0
  53. package/dist/cmcd-producer.js +183 -0
  54. package/dist/cmcd-producer.js.map +7 -0
  55. package/dist/codec-utils.d.ts +384 -0
  56. package/dist/codec-utils.d.ts.map +1 -0
  57. package/dist/codec-utils.js +1546 -0
  58. package/dist/codec-utils.js.map +7 -0
  59. package/dist/conceal-timeline.d.ts +146 -0
  60. package/dist/conceal-timeline.d.ts.map +1 -0
  61. package/dist/conceal-timeline.js +137 -0
  62. package/dist/conceal-timeline.js.map +7 -0
  63. package/dist/delivery-gap.d.ts +75 -0
  64. package/dist/delivery-gap.d.ts.map +1 -0
  65. package/dist/delivery-gap.js +88 -0
  66. package/dist/delivery-gap.js.map +7 -0
  67. package/dist/duplicate-ledger.d.ts +197 -0
  68. package/dist/duplicate-ledger.d.ts.map +1 -0
  69. package/dist/duplicate-ledger.js +226 -0
  70. package/dist/duplicate-ledger.js.map +7 -0
  71. package/dist/fec-codec.d.ts +32 -0
  72. package/dist/fec-codec.d.ts.map +1 -0
  73. package/dist/fec-codec.js +47 -0
  74. package/dist/fec-codec.js.map +7 -0
  75. package/dist/fec-manager.d.ts +583 -0
  76. package/dist/fec-manager.d.ts.map +1 -0
  77. package/dist/fec-manager.js +3899 -0
  78. package/dist/fec-manager.js.map +7 -0
  79. package/dist/fec-starvation-detector.d.ts +59 -0
  80. package/dist/fec-starvation-detector.d.ts.map +1 -0
  81. package/dist/fec-starvation-detector.js +60 -0
  82. package/dist/fec-starvation-detector.js.map +7 -0
  83. package/dist/fec-state.d.ts +131 -0
  84. package/dist/fec-state.d.ts.map +1 -0
  85. package/dist/fec-state.js +87 -0
  86. package/dist/fec-state.js.map +7 -0
  87. package/dist/fec-worker-setup.d.ts +94 -0
  88. package/dist/fec-worker-setup.d.ts.map +1 -0
  89. package/dist/fec-worker-setup.js +673 -0
  90. package/dist/fec-worker-setup.js.map +7 -0
  91. package/dist/fmp4-completion.d.ts +30 -0
  92. package/dist/fmp4-completion.d.ts.map +1 -0
  93. package/dist/fmp4-completion.js +21 -0
  94. package/dist/fmp4-completion.js.map +7 -0
  95. package/dist/fmp4-reader.d.ts +37 -0
  96. package/dist/fmp4-reader.d.ts.map +1 -0
  97. package/dist/fmp4-reader.js +100 -0
  98. package/dist/fmp4-reader.js.map +7 -0
  99. package/dist/index.d.ts +44 -3
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +460 -14
  102. package/dist/index.js.map +7 -1
  103. package/dist/iso-block-locator.d.ts +118 -0
  104. package/dist/iso-block-locator.d.ts.map +1 -0
  105. package/dist/iso-block-locator.js +289 -0
  106. package/dist/iso-block-locator.js.map +7 -0
  107. package/dist/iso-bmff-timing.d.ts +78 -0
  108. package/dist/iso-bmff-timing.d.ts.map +1 -0
  109. package/dist/iso-bmff-timing.js +593 -0
  110. package/dist/iso-bmff-timing.js.map +7 -0
  111. package/dist/loc.d.ts +70 -75
  112. package/dist/loc.d.ts.map +1 -1
  113. package/dist/loc.js +106 -192
  114. package/dist/loc.js.map +7 -1
  115. package/dist/manifest-auth-plan.d.ts +30 -0
  116. package/dist/manifest-auth-plan.d.ts.map +1 -0
  117. package/dist/manifest-auth-plan.js +1266 -0
  118. package/dist/manifest-auth-plan.js.map +7 -0
  119. package/dist/media-router.d.ts +262 -0
  120. package/dist/media-router.d.ts.map +1 -0
  121. package/dist/media-router.js +584 -0
  122. package/dist/media-router.js.map +7 -0
  123. package/dist/mfu-reassembler.d.ts +313 -9
  124. package/dist/mfu-reassembler.d.ts.map +1 -1
  125. package/dist/mfu-reassembler.js +3051 -285
  126. package/dist/mfu-reassembler.js.map +7 -1
  127. package/dist/mfu-reassembly-policy.d.ts +24 -0
  128. package/dist/mfu-reassembly-policy.d.ts.map +1 -0
  129. package/dist/mfu-reassembly-policy.js +99 -0
  130. package/dist/mfu-reassembly-policy.js.map +7 -0
  131. package/dist/mmtp-container-parser.d.ts +568 -0
  132. package/dist/mmtp-container-parser.d.ts.map +1 -0
  133. package/dist/mmtp-container-parser.js +6580 -0
  134. package/dist/mmtp-container-parser.js.map +7 -0
  135. package/dist/mmtp-container-parser.no-modules.js +9616 -0
  136. package/dist/mmtp-container-parser.no-modules.js.map +7 -0
  137. package/dist/mmtp-decode-pipeline.d.ts +138 -0
  138. package/dist/mmtp-decode-pipeline.d.ts.map +1 -0
  139. package/dist/mmtp-decode-pipeline.js +6814 -0
  140. package/dist/mmtp-decode-pipeline.js.map +7 -0
  141. package/dist/mmtp-router.d.ts +679 -0
  142. package/dist/mmtp-router.d.ts.map +1 -0
  143. package/dist/mmtp-router.js +11278 -0
  144. package/dist/mmtp-router.js.map +7 -0
  145. package/dist/mmtp-to-cmaf.d.ts +187 -0
  146. package/dist/mmtp-to-cmaf.d.ts.map +1 -0
  147. package/dist/mmtp-to-cmaf.js +716 -0
  148. package/dist/mmtp-to-cmaf.js.map +7 -0
  149. package/dist/multicast-auth-catalog.d.ts +115 -0
  150. package/dist/multicast-auth-catalog.d.ts.map +1 -0
  151. package/dist/multicast-auth-catalog.js +202 -0
  152. package/dist/multicast-auth-catalog.js.map +7 -0
  153. package/dist/multicast-input.d.ts +141 -0
  154. package/dist/multicast-input.d.ts.map +1 -0
  155. package/dist/multicast-input.js +390 -0
  156. package/dist/multicast-input.js.map +7 -0
  157. package/dist/multicast-manager.d.ts +669 -0
  158. package/dist/multicast-manager.d.ts.map +1 -0
  159. package/dist/multicast-manager.js +19101 -0
  160. package/dist/multicast-manager.js.map +7 -0
  161. package/dist/multicast-transport.d.ts +271 -0
  162. package/dist/multicast-transport.d.ts.map +1 -0
  163. package/dist/multicast-transport.js +2264 -0
  164. package/dist/multicast-transport.js.map +7 -0
  165. package/dist/multicast-unwrap.d.ts +57 -0
  166. package/dist/multicast-unwrap.d.ts.map +1 -0
  167. package/dist/multicast-unwrap.js +418 -0
  168. package/dist/multicast-unwrap.js.map +7 -0
  169. package/dist/no-modules.d.ts +10 -0
  170. package/dist/no-modules.d.ts.map +1 -0
  171. package/dist/no-modules.js +9491 -0
  172. package/dist/no-modules.js.map +7 -0
  173. package/dist/phase14-catalog-override.d.ts +126 -0
  174. package/dist/phase14-catalog-override.d.ts.map +1 -0
  175. package/dist/phase14-catalog-override.js +155 -0
  176. package/dist/phase14-catalog-override.js.map +7 -0
  177. package/dist/repair-fetch.d.ts +270 -0
  178. package/dist/repair-fetch.d.ts.map +1 -0
  179. package/dist/repair-fetch.js +381 -0
  180. package/dist/repair-fetch.js.map +7 -0
  181. package/dist/repair-layers.d.ts +158 -0
  182. package/dist/repair-layers.d.ts.map +1 -0
  183. package/dist/repair-layers.js +344 -0
  184. package/dist/repair-layers.js.map +7 -0
  185. package/dist/sample-combiner.d.ts +212 -0
  186. package/dist/sample-combiner.d.ts.map +1 -0
  187. package/dist/sample-combiner.js +595 -0
  188. package/dist/sample-combiner.js.map +7 -0
  189. package/dist/signaling.d.ts +29 -0
  190. package/dist/signaling.d.ts.map +1 -0
  191. package/dist/signaling.js +572 -0
  192. package/dist/signaling.js.map +7 -0
  193. package/dist/source-auth.d.ts +2 -0
  194. package/dist/source-auth.d.ts.map +1 -0
  195. package/dist/source-auth.js +1209 -0
  196. package/dist/source-auth.js.map +7 -0
  197. package/dist/switching-set-alignment.d.ts +61 -0
  198. package/dist/switching-set-alignment.d.ts.map +1 -0
  199. package/dist/switching-set-alignment.js +70 -0
  200. package/dist/switching-set-alignment.js.map +7 -0
  201. package/dist/timestamp-codec.d.ts +34 -0
  202. package/dist/timestamp-codec.d.ts.map +1 -0
  203. package/dist/timestamp-codec.js +473 -0
  204. package/dist/timestamp-codec.js.map +7 -0
  205. package/dist/track-pipeline-setup.d.ts +83 -0
  206. package/dist/track-pipeline-setup.d.ts.map +1 -0
  207. package/dist/track-pipeline-setup.js +291 -0
  208. package/dist/track-pipeline-setup.js.map +7 -0
  209. package/dist/track-pipeline.d.ts +121 -0
  210. package/dist/track-pipeline.d.ts.map +1 -0
  211. package/dist/track-pipeline.js +209 -0
  212. package/dist/track-pipeline.js.map +7 -0
  213. package/dist/track-session.d.ts +414 -0
  214. package/dist/track-session.d.ts.map +1 -0
  215. package/dist/track-session.js +754 -0
  216. package/dist/track-session.js.map +7 -0
  217. package/dist/transport-pool.d.ts +69 -0
  218. package/dist/transport-pool.d.ts.map +1 -0
  219. package/dist/transport-pool.js +74 -0
  220. package/dist/transport-pool.js.map +7 -0
  221. package/dist/wasm-mfu-reassembler.d.ts +97 -0
  222. package/dist/wasm-mfu-reassembler.d.ts.map +1 -0
  223. package/dist/wasm-mfu-reassembler.js +2133 -0
  224. package/dist/wasm-mfu-reassembler.js.map +7 -0
  225. package/dist/wasm-mmtp-container-parser.d.ts +10 -0
  226. package/dist/wasm-mmtp-container-parser.d.ts.map +1 -0
  227. package/dist/wasm-mmtp-container-parser.js +6834 -0
  228. package/dist/wasm-mmtp-container-parser.js.map +7 -0
  229. package/node_modules/@blockcast/fec-worker/README.md +223 -0
  230. package/node_modules/@blockcast/fec-worker/dist/.build-stamp +0 -0
  231. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts +38 -0
  232. package/node_modules/@blockcast/fec-worker/dist/block-order.d.ts.map +1 -0
  233. package/node_modules/@blockcast/fec-worker/dist/block-order.js +78 -0
  234. package/node_modules/@blockcast/fec-worker/dist/block-order.js.map +1 -0
  235. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts +93 -0
  236. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.d.ts.map +1 -0
  237. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js +346 -0
  238. package/node_modules/@blockcast/fec-worker/dist/fec-worker-client.js.map +1 -0
  239. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts +380 -0
  240. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.d.ts.map +1 -0
  241. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js +11 -0
  242. package/node_modules/@blockcast/fec-worker/dist/fec-worker-types.js.map +1 -0
  243. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts +14 -0
  244. package/node_modules/@blockcast/fec-worker/dist/fec-worker.d.ts.map +1 -0
  245. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js +859 -0
  246. package/node_modules/@blockcast/fec-worker/dist/fec-worker.js.map +7 -0
  247. package/node_modules/@blockcast/fec-worker/dist/index.d.ts +10 -0
  248. package/node_modules/@blockcast/fec-worker/dist/index.d.ts.map +1 -0
  249. package/node_modules/@blockcast/fec-worker/dist/index.js +8 -0
  250. package/node_modules/@blockcast/fec-worker/dist/index.js.map +1 -0
  251. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts +20 -0
  252. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.d.ts.map +1 -0
  253. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js +370 -0
  254. package/node_modules/@blockcast/fec-worker/dist/shred-fec-worker.js.map +7 -0
  255. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts +104 -0
  256. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.d.ts.map +1 -0
  257. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js +181 -0
  258. package/node_modules/@blockcast/fec-worker/dist/shred-worker-client.js.map +1 -0
  259. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts +194 -0
  260. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.d.ts.map +1 -0
  261. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js +62 -0
  262. package/node_modules/@blockcast/fec-worker/dist/shred-worker-types.js.map +1 -0
  263. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts +9 -0
  264. package/node_modules/@blockcast/fec-worker/dist/transfer.d.ts.map +1 -0
  265. package/node_modules/@blockcast/fec-worker/dist/transfer.js +13 -0
  266. package/node_modules/@blockcast/fec-worker/dist/transfer.js.map +1 -0
  267. package/node_modules/@blockcast/fec-worker/package.json +59 -0
  268. package/node_modules/@blockcast/fec-worker/src/block-order.ts +93 -0
  269. package/node_modules/@blockcast/fec-worker/src/fec-worker-client.ts +392 -0
  270. package/node_modules/@blockcast/fec-worker/src/fec-worker-types.ts +399 -0
  271. package/node_modules/@blockcast/fec-worker/src/fec-worker.ts +1502 -0
  272. package/node_modules/@blockcast/fec-worker/src/index.ts +35 -0
  273. package/node_modules/@blockcast/fec-worker/src/shred-fec-worker.ts +589 -0
  274. package/node_modules/@blockcast/fec-worker/src/shred-worker-client.ts +222 -0
  275. package/node_modules/@blockcast/fec-worker/src/shred-worker-types.ts +209 -0
  276. package/node_modules/@blockcast/fec-worker/src/transfer.ts +12 -0
  277. package/node_modules/@blockcast/mmt-alta-parse/README.md +181 -0
  278. package/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  279. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +57 -0
  280. package/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +1 -0
  281. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js +115 -0
  282. package/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +1 -0
  283. package/node_modules/@blockcast/mmt-alta-parse/package.json +50 -0
  284. package/node_modules/@blockcast/mmt-alta-parse/src/index.ts +136 -0
  285. package/node_modules/@blockcast/mmt-base/README.md +134 -0
  286. package/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  287. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +55 -0
  288. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +1 -0
  289. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +128 -0
  290. package/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +1 -0
  291. package/node_modules/@blockcast/mmt-base/dist/index.d.ts +7 -0
  292. package/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +1 -0
  293. package/node_modules/@blockcast/mmt-base/dist/index.js +7 -0
  294. package/node_modules/@blockcast/mmt-base/dist/index.js.map +1 -0
  295. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +292 -0
  296. package/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +1 -0
  297. package/node_modules/@blockcast/mmt-base/dist/mmtp.js +612 -0
  298. package/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +1 -0
  299. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +18 -0
  300. package/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +1 -0
  301. package/node_modules/@blockcast/mmt-base/dist/net-constants.js +18 -0
  302. package/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +1 -0
  303. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +47 -0
  304. package/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +1 -0
  305. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js +54 -0
  306. package/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +1 -0
  307. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +57 -0
  308. package/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +1 -0
  309. package/node_modules/@blockcast/mmt-base/dist/serial-number.js +98 -0
  310. package/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +1 -0
  311. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +312 -0
  312. package/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +1 -0
  313. package/node_modules/@blockcast/mmt-base/dist/signalling.js +637 -0
  314. package/node_modules/@blockcast/mmt-base/dist/signalling.js.map +1 -0
  315. package/node_modules/@blockcast/mmt-base/package.json +49 -0
  316. package/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +145 -0
  317. package/node_modules/@blockcast/mmt-base/src/index.ts +6 -0
  318. package/node_modules/@blockcast/mmt-base/src/mmtp.ts +892 -0
  319. package/node_modules/@blockcast/mmt-base/src/net-constants.ts +17 -0
  320. package/node_modules/@blockcast/mmt-base/src/ntp-short.ts +67 -0
  321. package/node_modules/@blockcast/mmt-base/src/serial-number.ts +107 -0
  322. package/node_modules/@blockcast/mmt-base/src/signalling.ts +862 -0
  323. package/node_modules/@blockcast/mmt-fec/README.md +271 -0
  324. package/node_modules/@blockcast/mmt-fec/dist/.build-stamp +0 -0
  325. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts +82 -0
  326. package/node_modules/@blockcast/mmt-fec/dist/block-manager.d.ts.map +1 -0
  327. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js +296 -0
  328. package/node_modules/@blockcast/mmt-fec/dist/block-manager.js.map +1 -0
  329. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts +106 -0
  330. package/node_modules/@blockcast/mmt-fec/dist/block-processor.d.ts.map +1 -0
  331. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js +288 -0
  332. package/node_modules/@blockcast/mmt-fec/dist/block-processor.js.map +1 -0
  333. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts +46 -0
  334. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.d.ts.map +1 -0
  335. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js +96 -0
  336. package/node_modules/@blockcast/mmt-fec/dist/cmaf-recovery.js.map +1 -0
  337. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts +33 -0
  338. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.d.ts.map +1 -0
  339. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js +57 -0
  340. package/node_modules/@blockcast/mmt-fec/dist/cmaf-symbols.js.map +1 -0
  341. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts +205 -0
  342. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.d.ts.map +1 -0
  343. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js +240 -0
  344. package/node_modules/@blockcast/mmt-fec/dist/fec-block-mapper.js.map +1 -0
  345. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts +28 -0
  346. package/node_modules/@blockcast/mmt-fec/dist/index.d.ts.map +1 -0
  347. package/node_modules/@blockcast/mmt-fec/dist/index.js +28 -0
  348. package/node_modules/@blockcast/mmt-fec/dist/index.js.map +1 -0
  349. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts +20 -0
  350. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.d.ts.map +1 -0
  351. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js +28 -0
  352. package/node_modules/@blockcast/mmt-fec/dist/loc-symbols.js.map +1 -0
  353. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts +258 -0
  354. package/node_modules/@blockcast/mmt-fec/dist/oti.d.ts.map +1 -0
  355. package/node_modules/@blockcast/mmt-fec/dist/oti.js +382 -0
  356. package/node_modules/@blockcast/mmt-fec/dist/oti.js.map +1 -0
  357. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts +41 -0
  358. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.d.ts.map +1 -0
  359. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js +81 -0
  360. package/node_modules/@blockcast/mmt-fec/dist/reorder-buffer.js.map +1 -0
  361. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts +82 -0
  362. package/node_modules/@blockcast/mmt-fec/dist/repair-group.d.ts.map +1 -0
  363. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js +170 -0
  364. package/node_modules/@blockcast/mmt-fec/dist/repair-group.js.map +1 -0
  365. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/README.md +181 -0
  366. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/.build-stamp +0 -0
  367. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts +57 -0
  368. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.d.ts.map +1 -0
  369. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js +115 -0
  370. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/dist/index.js.map +1 -0
  371. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/package.json +50 -0
  372. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-alta-parse/src/index.ts +136 -0
  373. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/README.md +134 -0
  374. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/.build-stamp +0 -0
  375. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts +55 -0
  376. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.d.ts.map +1 -0
  377. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js +128 -0
  378. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/fec-block-profile.js.map +1 -0
  379. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts +7 -0
  380. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.d.ts.map +1 -0
  381. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js +7 -0
  382. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/index.js.map +1 -0
  383. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts +292 -0
  384. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.d.ts.map +1 -0
  385. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js +612 -0
  386. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/mmtp.js.map +1 -0
  387. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts +18 -0
  388. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.d.ts.map +1 -0
  389. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js +18 -0
  390. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/net-constants.js.map +1 -0
  391. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts +47 -0
  392. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.d.ts.map +1 -0
  393. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js +54 -0
  394. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/ntp-short.js.map +1 -0
  395. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts +57 -0
  396. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.d.ts.map +1 -0
  397. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js +98 -0
  398. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/serial-number.js.map +1 -0
  399. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts +312 -0
  400. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.d.ts.map +1 -0
  401. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js +637 -0
  402. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/dist/signalling.js.map +1 -0
  403. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/package.json +49 -0
  404. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/fec-block-profile.ts +145 -0
  405. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/index.ts +6 -0
  406. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/mmtp.ts +892 -0
  407. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/net-constants.ts +17 -0
  408. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/ntp-short.ts +67 -0
  409. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/serial-number.ts +107 -0
  410. package/node_modules/@blockcast/mmt-fec/node_modules/@blockcast/mmt-base/src/signalling.ts +862 -0
  411. package/node_modules/@blockcast/mmt-fec/package.json +79 -0
  412. package/node_modules/@blockcast/mmt-fec/src/block-manager.ts +371 -0
  413. package/node_modules/@blockcast/mmt-fec/src/block-processor.ts +439 -0
  414. package/node_modules/@blockcast/mmt-fec/src/cmaf-recovery.ts +127 -0
  415. package/node_modules/@blockcast/mmt-fec/src/cmaf-symbols.ts +68 -0
  416. package/node_modules/@blockcast/mmt-fec/src/fec-block-mapper.ts +310 -0
  417. package/node_modules/@blockcast/mmt-fec/src/index.ts +94 -0
  418. package/node_modules/@blockcast/mmt-fec/src/loc-symbols.ts +34 -0
  419. package/node_modules/@blockcast/mmt-fec/src/oti.ts +463 -0
  420. package/node_modules/@blockcast/mmt-fec/src/reorder-buffer.ts +101 -0
  421. package/node_modules/@blockcast/mmt-fec/src/repair-group.ts +195 -0
  422. package/node_modules/@blockcast/mmt-manifest-verify/dist/.build-stamp +0 -0
  423. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts +28 -0
  424. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.d.ts.map +1 -0
  425. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js +128 -0
  426. package/node_modules/@blockcast/mmt-manifest-verify/dist/admission.js.map +1 -0
  427. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts +4 -0
  428. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.d.ts.map +1 -0
  429. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js +4 -0
  430. package/node_modules/@blockcast/mmt-manifest-verify/dist/index.js.map +1 -0
  431. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts +37 -0
  432. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.d.ts.map +1 -0
  433. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js +179 -0
  434. package/node_modules/@blockcast/mmt-manifest-verify/dist/source-auth.js.map +1 -0
  435. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts +99 -0
  436. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.d.ts.map +1 -0
  437. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js +492 -0
  438. package/node_modules/@blockcast/mmt-manifest-verify/dist/verifier.js.map +1 -0
  439. package/node_modules/@blockcast/mmt-manifest-verify/package.json +45 -0
  440. package/node_modules/@blockcast/mmt-manifest-verify/src/admission.ts +171 -0
  441. package/node_modules/@blockcast/mmt-manifest-verify/src/index.ts +3 -0
  442. package/node_modules/@blockcast/mmt-manifest-verify/src/source-auth.ts +230 -0
  443. package/node_modules/@blockcast/mmt-manifest-verify/src/verifier.ts +669 -0
  444. package/node_modules/@noble/hashes/LICENSE +21 -0
  445. package/node_modules/@noble/hashes/README.md +521 -0
  446. package/node_modules/@noble/hashes/_assert.d.ts +17 -0
  447. package/node_modules/@noble/hashes/_assert.d.ts.map +1 -0
  448. package/node_modules/@noble/hashes/_assert.js +18 -0
  449. package/node_modules/@noble/hashes/_assert.js.map +1 -0
  450. package/node_modules/@noble/hashes/_blake.d.ts +14 -0
  451. package/node_modules/@noble/hashes/_blake.d.ts.map +1 -0
  452. package/node_modules/@noble/hashes/_blake.js +50 -0
  453. package/node_modules/@noble/hashes/_blake.js.map +1 -0
  454. package/node_modules/@noble/hashes/_md.d.ts +51 -0
  455. package/node_modules/@noble/hashes/_md.d.ts.map +1 -0
  456. package/node_modules/@noble/hashes/_md.js +162 -0
  457. package/node_modules/@noble/hashes/_md.js.map +1 -0
  458. package/node_modules/@noble/hashes/_u64.d.ts +55 -0
  459. package/node_modules/@noble/hashes/_u64.d.ts.map +1 -0
  460. package/node_modules/@noble/hashes/_u64.js +90 -0
  461. package/node_modules/@noble/hashes/_u64.js.map +1 -0
  462. package/node_modules/@noble/hashes/argon2.d.ts +32 -0
  463. package/node_modules/@noble/hashes/argon2.d.ts.map +1 -0
  464. package/node_modules/@noble/hashes/argon2.js +401 -0
  465. package/node_modules/@noble/hashes/argon2.js.map +1 -0
  466. package/node_modules/@noble/hashes/blake1.d.ts +106 -0
  467. package/node_modules/@noble/hashes/blake1.d.ts.map +1 -0
  468. package/node_modules/@noble/hashes/blake1.js +459 -0
  469. package/node_modules/@noble/hashes/blake1.js.map +1 -0
  470. package/node_modules/@noble/hashes/blake2.d.ts +116 -0
  471. package/node_modules/@noble/hashes/blake2.d.ts.map +1 -0
  472. package/node_modules/@noble/hashes/blake2.js +420 -0
  473. package/node_modules/@noble/hashes/blake2.js.map +1 -0
  474. package/node_modules/@noble/hashes/blake2b.d.ts +11 -0
  475. package/node_modules/@noble/hashes/blake2b.d.ts.map +1 -0
  476. package/node_modules/@noble/hashes/blake2b.js +14 -0
  477. package/node_modules/@noble/hashes/blake2b.js.map +1 -0
  478. package/node_modules/@noble/hashes/blake2s.d.ts +20 -0
  479. package/node_modules/@noble/hashes/blake2s.d.ts.map +1 -0
  480. package/node_modules/@noble/hashes/blake2s.js +24 -0
  481. package/node_modules/@noble/hashes/blake2s.js.map +1 -0
  482. package/node_modules/@noble/hashes/blake3.d.ts +54 -0
  483. package/node_modules/@noble/hashes/blake3.d.ts.map +1 -0
  484. package/node_modules/@noble/hashes/blake3.js +255 -0
  485. package/node_modules/@noble/hashes/blake3.js.map +1 -0
  486. package/node_modules/@noble/hashes/crypto.d.ts +2 -0
  487. package/node_modules/@noble/hashes/crypto.d.ts.map +1 -0
  488. package/node_modules/@noble/hashes/crypto.js +5 -0
  489. package/node_modules/@noble/hashes/crypto.js.map +1 -0
  490. package/node_modules/@noble/hashes/cryptoNode.d.ts +2 -0
  491. package/node_modules/@noble/hashes/cryptoNode.d.ts.map +1 -0
  492. package/node_modules/@noble/hashes/cryptoNode.js +18 -0
  493. package/node_modules/@noble/hashes/cryptoNode.js.map +1 -0
  494. package/node_modules/@noble/hashes/eskdf.d.ts +47 -0
  495. package/node_modules/@noble/hashes/eskdf.d.ts.map +1 -0
  496. package/node_modules/@noble/hashes/eskdf.js +166 -0
  497. package/node_modules/@noble/hashes/eskdf.js.map +1 -0
  498. package/node_modules/@noble/hashes/esm/_assert.d.ts +17 -0
  499. package/node_modules/@noble/hashes/esm/_assert.d.ts.map +1 -0
  500. package/node_modules/@noble/hashes/esm/_assert.js +15 -0
  501. package/node_modules/@noble/hashes/esm/_assert.js.map +1 -0
  502. package/node_modules/@noble/hashes/esm/_blake.d.ts +14 -0
  503. package/node_modules/@noble/hashes/esm/_blake.d.ts.map +1 -0
  504. package/node_modules/@noble/hashes/esm/_blake.js +45 -0
  505. package/node_modules/@noble/hashes/esm/_blake.js.map +1 -0
  506. package/node_modules/@noble/hashes/esm/_md.d.ts +51 -0
  507. package/node_modules/@noble/hashes/esm/_md.d.ts.map +1 -0
  508. package/node_modules/@noble/hashes/esm/_md.js +155 -0
  509. package/node_modules/@noble/hashes/esm/_md.js.map +1 -0
  510. package/node_modules/@noble/hashes/esm/_u64.d.ts +55 -0
  511. package/node_modules/@noble/hashes/esm/_u64.d.ts.map +1 -0
  512. package/node_modules/@noble/hashes/esm/_u64.js +67 -0
  513. package/node_modules/@noble/hashes/esm/_u64.js.map +1 -0
  514. package/node_modules/@noble/hashes/esm/argon2.d.ts +32 -0
  515. package/node_modules/@noble/hashes/esm/argon2.d.ts.map +1 -0
  516. package/node_modules/@noble/hashes/esm/argon2.js +392 -0
  517. package/node_modules/@noble/hashes/esm/argon2.js.map +1 -0
  518. package/node_modules/@noble/hashes/esm/blake1.d.ts +106 -0
  519. package/node_modules/@noble/hashes/esm/blake1.d.ts.map +1 -0
  520. package/node_modules/@noble/hashes/esm/blake1.js +452 -0
  521. package/node_modules/@noble/hashes/esm/blake1.js.map +1 -0
  522. package/node_modules/@noble/hashes/esm/blake2.d.ts +116 -0
  523. package/node_modules/@noble/hashes/esm/blake2.d.ts.map +1 -0
  524. package/node_modules/@noble/hashes/esm/blake2.js +413 -0
  525. package/node_modules/@noble/hashes/esm/blake2.js.map +1 -0
  526. package/node_modules/@noble/hashes/esm/blake2b.d.ts +11 -0
  527. package/node_modules/@noble/hashes/esm/blake2b.d.ts.map +1 -0
  528. package/node_modules/@noble/hashes/esm/blake2b.js +11 -0
  529. package/node_modules/@noble/hashes/esm/blake2b.js.map +1 -0
  530. package/node_modules/@noble/hashes/esm/blake2s.d.ts +20 -0
  531. package/node_modules/@noble/hashes/esm/blake2s.d.ts.map +1 -0
  532. package/node_modules/@noble/hashes/esm/blake2s.js +21 -0
  533. package/node_modules/@noble/hashes/esm/blake2s.js.map +1 -0
  534. package/node_modules/@noble/hashes/esm/blake3.d.ts +54 -0
  535. package/node_modules/@noble/hashes/esm/blake3.d.ts.map +1 -0
  536. package/node_modules/@noble/hashes/esm/blake3.js +251 -0
  537. package/node_modules/@noble/hashes/esm/blake3.js.map +1 -0
  538. package/node_modules/@noble/hashes/esm/crypto.d.ts +2 -0
  539. package/node_modules/@noble/hashes/esm/crypto.d.ts.map +1 -0
  540. package/node_modules/@noble/hashes/esm/crypto.js +2 -0
  541. package/node_modules/@noble/hashes/esm/crypto.js.map +1 -0
  542. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts +2 -0
  543. package/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map +1 -0
  544. package/node_modules/@noble/hashes/esm/cryptoNode.js +15 -0
  545. package/node_modules/@noble/hashes/esm/cryptoNode.js.map +1 -0
  546. package/node_modules/@noble/hashes/esm/eskdf.d.ts +47 -0
  547. package/node_modules/@noble/hashes/esm/eskdf.d.ts.map +1 -0
  548. package/node_modules/@noble/hashes/esm/eskdf.js +160 -0
  549. package/node_modules/@noble/hashes/esm/eskdf.js.map +1 -0
  550. package/node_modules/@noble/hashes/esm/hkdf.d.ts +36 -0
  551. package/node_modules/@noble/hashes/esm/hkdf.d.ts.map +1 -0
  552. package/node_modules/@noble/hashes/esm/hkdf.js +82 -0
  553. package/node_modules/@noble/hashes/esm/hkdf.js.map +1 -0
  554. package/node_modules/@noble/hashes/esm/hmac.d.ts +35 -0
  555. package/node_modules/@noble/hashes/esm/hmac.d.ts.map +1 -0
  556. package/node_modules/@noble/hashes/esm/hmac.js +86 -0
  557. package/node_modules/@noble/hashes/esm/hmac.js.map +1 -0
  558. package/node_modules/@noble/hashes/esm/index.d.ts +2 -0
  559. package/node_modules/@noble/hashes/esm/index.d.ts.map +1 -0
  560. package/node_modules/@noble/hashes/esm/index.js +33 -0
  561. package/node_modules/@noble/hashes/esm/index.js.map +1 -0
  562. package/node_modules/@noble/hashes/esm/legacy.d.ts +71 -0
  563. package/node_modules/@noble/hashes/esm/legacy.d.ts.map +1 -0
  564. package/node_modules/@noble/hashes/esm/legacy.js +281 -0
  565. package/node_modules/@noble/hashes/esm/legacy.js.map +1 -0
  566. package/node_modules/@noble/hashes/esm/package.json +10 -0
  567. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts +23 -0
  568. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map +1 -0
  569. package/node_modules/@noble/hashes/esm/pbkdf2.js +97 -0
  570. package/node_modules/@noble/hashes/esm/pbkdf2.js.map +1 -0
  571. package/node_modules/@noble/hashes/esm/ripemd160.d.ts +13 -0
  572. package/node_modules/@noble/hashes/esm/ripemd160.d.ts.map +1 -0
  573. package/node_modules/@noble/hashes/esm/ripemd160.js +13 -0
  574. package/node_modules/@noble/hashes/esm/ripemd160.js.map +1 -0
  575. package/node_modules/@noble/hashes/esm/scrypt.d.ts +34 -0
  576. package/node_modules/@noble/hashes/esm/scrypt.d.ts.map +1 -0
  577. package/node_modules/@noble/hashes/esm/scrypt.js +228 -0
  578. package/node_modules/@noble/hashes/esm/scrypt.js.map +1 -0
  579. package/node_modules/@noble/hashes/esm/sha1.d.ts +11 -0
  580. package/node_modules/@noble/hashes/esm/sha1.d.ts.map +1 -0
  581. package/node_modules/@noble/hashes/esm/sha1.js +11 -0
  582. package/node_modules/@noble/hashes/esm/sha1.js.map +1 -0
  583. package/node_modules/@noble/hashes/esm/sha2.d.ts +159 -0
  584. package/node_modules/@noble/hashes/esm/sha2.d.ts.map +1 -0
  585. package/node_modules/@noble/hashes/esm/sha2.js +375 -0
  586. package/node_modules/@noble/hashes/esm/sha2.js.map +1 -0
  587. package/node_modules/@noble/hashes/esm/sha256.d.ts +20 -0
  588. package/node_modules/@noble/hashes/esm/sha256.d.ts.map +1 -0
  589. package/node_modules/@noble/hashes/esm/sha256.js +20 -0
  590. package/node_modules/@noble/hashes/esm/sha256.js.map +1 -0
  591. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts +142 -0
  592. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map +1 -0
  593. package/node_modules/@noble/hashes/esm/sha3-addons.js +393 -0
  594. package/node_modules/@noble/hashes/esm/sha3-addons.js.map +1 -0
  595. package/node_modules/@noble/hashes/esm/sha3.d.ts +53 -0
  596. package/node_modules/@noble/hashes/esm/sha3.d.ts.map +1 -0
  597. package/node_modules/@noble/hashes/esm/sha3.js +234 -0
  598. package/node_modules/@noble/hashes/esm/sha3.js.map +1 -0
  599. package/node_modules/@noble/hashes/esm/sha512.d.ts +26 -0
  600. package/node_modules/@noble/hashes/esm/sha512.d.ts.map +1 -0
  601. package/node_modules/@noble/hashes/esm/sha512.js +26 -0
  602. package/node_modules/@noble/hashes/esm/sha512.js.map +1 -0
  603. package/node_modules/@noble/hashes/esm/utils.d.ts +161 -0
  604. package/node_modules/@noble/hashes/esm/utils.d.ts.map +1 -0
  605. package/node_modules/@noble/hashes/esm/utils.js +281 -0
  606. package/node_modules/@noble/hashes/esm/utils.js.map +1 -0
  607. package/node_modules/@noble/hashes/hkdf.d.ts +36 -0
  608. package/node_modules/@noble/hashes/hkdf.d.ts.map +1 -0
  609. package/node_modules/@noble/hashes/hkdf.js +88 -0
  610. package/node_modules/@noble/hashes/hkdf.js.map +1 -0
  611. package/node_modules/@noble/hashes/hmac.d.ts +35 -0
  612. package/node_modules/@noble/hashes/hmac.d.ts.map +1 -0
  613. package/node_modules/@noble/hashes/hmac.js +91 -0
  614. package/node_modules/@noble/hashes/hmac.js.map +1 -0
  615. package/node_modules/@noble/hashes/index.d.ts +1 -0
  616. package/node_modules/@noble/hashes/index.d.ts.map +1 -0
  617. package/node_modules/@noble/hashes/index.js +33 -0
  618. package/node_modules/@noble/hashes/index.js.map +1 -0
  619. package/node_modules/@noble/hashes/legacy.d.ts +71 -0
  620. package/node_modules/@noble/hashes/legacy.d.ts.map +1 -0
  621. package/node_modules/@noble/hashes/legacy.js +287 -0
  622. package/node_modules/@noble/hashes/legacy.js.map +1 -0
  623. package/node_modules/@noble/hashes/package.json +266 -0
  624. package/node_modules/@noble/hashes/pbkdf2.d.ts +23 -0
  625. package/node_modules/@noble/hashes/pbkdf2.d.ts.map +1 -0
  626. package/node_modules/@noble/hashes/pbkdf2.js +101 -0
  627. package/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
  628. package/node_modules/@noble/hashes/ripemd160.d.ts +13 -0
  629. package/node_modules/@noble/hashes/ripemd160.d.ts.map +1 -0
  630. package/node_modules/@noble/hashes/ripemd160.js +16 -0
  631. package/node_modules/@noble/hashes/ripemd160.js.map +1 -0
  632. package/node_modules/@noble/hashes/scrypt.d.ts +34 -0
  633. package/node_modules/@noble/hashes/scrypt.d.ts.map +1 -0
  634. package/node_modules/@noble/hashes/scrypt.js +232 -0
  635. package/node_modules/@noble/hashes/scrypt.js.map +1 -0
  636. package/node_modules/@noble/hashes/sha1.d.ts +11 -0
  637. package/node_modules/@noble/hashes/sha1.d.ts.map +1 -0
  638. package/node_modules/@noble/hashes/sha1.js +14 -0
  639. package/node_modules/@noble/hashes/sha1.js.map +1 -0
  640. package/node_modules/@noble/hashes/sha2.d.ts +159 -0
  641. package/node_modules/@noble/hashes/sha2.d.ts.map +1 -0
  642. package/node_modules/@noble/hashes/sha2.js +384 -0
  643. package/node_modules/@noble/hashes/sha2.js.map +1 -0
  644. package/node_modules/@noble/hashes/sha256.d.ts +20 -0
  645. package/node_modules/@noble/hashes/sha256.d.ts.map +1 -0
  646. package/node_modules/@noble/hashes/sha256.js +23 -0
  647. package/node_modules/@noble/hashes/sha256.js.map +1 -0
  648. package/node_modules/@noble/hashes/sha3-addons.d.ts +142 -0
  649. package/node_modules/@noble/hashes/sha3-addons.d.ts.map +1 -0
  650. package/node_modules/@noble/hashes/sha3-addons.js +402 -0
  651. package/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
  652. package/node_modules/@noble/hashes/sha3.d.ts +53 -0
  653. package/node_modules/@noble/hashes/sha3.d.ts.map +1 -0
  654. package/node_modules/@noble/hashes/sha3.js +239 -0
  655. package/node_modules/@noble/hashes/sha3.js.map +1 -0
  656. package/node_modules/@noble/hashes/sha512.d.ts +26 -0
  657. package/node_modules/@noble/hashes/sha512.d.ts.map +1 -0
  658. package/node_modules/@noble/hashes/sha512.js +29 -0
  659. package/node_modules/@noble/hashes/sha512.js.map +1 -0
  660. package/node_modules/@noble/hashes/src/_assert.ts +22 -0
  661. package/node_modules/@noble/hashes/src/_blake.ts +50 -0
  662. package/node_modules/@noble/hashes/src/_md.ts +176 -0
  663. package/node_modules/@noble/hashes/src/_u64.ts +91 -0
  664. package/node_modules/@noble/hashes/src/argon2.ts +497 -0
  665. package/node_modules/@noble/hashes/src/blake1.ts +534 -0
  666. package/node_modules/@noble/hashes/src/blake2.ts +486 -0
  667. package/node_modules/@noble/hashes/src/blake2b.ts +10 -0
  668. package/node_modules/@noble/hashes/src/blake2s.ts +20 -0
  669. package/node_modules/@noble/hashes/src/blake3.ts +272 -0
  670. package/node_modules/@noble/hashes/src/crypto.ts +9 -0
  671. package/node_modules/@noble/hashes/src/cryptoNode.ts +15 -0
  672. package/node_modules/@noble/hashes/src/eskdf.ts +187 -0
  673. package/node_modules/@noble/hashes/src/hkdf.ts +88 -0
  674. package/node_modules/@noble/hashes/src/hmac.ts +94 -0
  675. package/node_modules/@noble/hashes/src/index.ts +31 -0
  676. package/node_modules/@noble/hashes/src/legacy.ts +293 -0
  677. package/node_modules/@noble/hashes/src/pbkdf2.ts +122 -0
  678. package/node_modules/@noble/hashes/src/ripemd160.ts +12 -0
  679. package/node_modules/@noble/hashes/src/scrypt.ts +257 -0
  680. package/node_modules/@noble/hashes/src/sha1.ts +10 -0
  681. package/node_modules/@noble/hashes/src/sha2.ts +402 -0
  682. package/node_modules/@noble/hashes/src/sha256.ts +24 -0
  683. package/node_modules/@noble/hashes/src/sha3-addons.ts +499 -0
  684. package/node_modules/@noble/hashes/src/sha3.ts +258 -0
  685. package/node_modules/@noble/hashes/src/sha512.ts +34 -0
  686. package/node_modules/@noble/hashes/src/utils.ts +395 -0
  687. package/node_modules/@noble/hashes/utils.d.ts +161 -0
  688. package/node_modules/@noble/hashes/utils.d.ts.map +1 -0
  689. package/node_modules/@noble/hashes/utils.js +313 -0
  690. package/node_modules/@noble/hashes/utils.js.map +1 -0
  691. package/package.json +179 -8
  692. package/schemas/catalog.schema.json +357 -0
  693. package/src/align.ts +239 -0
  694. package/src/audio-init-parser.ts +189 -0
  695. package/src/audio-ring-buffer.ts +120 -0
  696. package/src/authored-timing.ts +63 -0
  697. package/src/block-policy.ts +903 -0
  698. package/src/carp-catalog.ts +1065 -0
  699. package/src/catalog-fec-params.ts +729 -0
  700. package/src/catalog-network-source.ts +74 -0
  701. package/src/catalog-validator.ts +34 -0
  702. package/src/cmaf-block-assembler.ts +1255 -0
  703. package/src/cmaf-group-batcher.ts +104 -0
  704. package/src/cmcd-producer.ts +329 -0
  705. package/src/codec-utils.ts +1984 -0
  706. package/src/conceal-timeline.ts +293 -0
  707. package/src/delivery-gap.ts +147 -0
  708. package/src/duplicate-ledger.ts +372 -0
  709. package/src/fec-codec.ts +61 -0
  710. package/src/fec-manager.ts +4298 -0
  711. package/src/fec-starvation-detector.ts +128 -0
  712. package/src/fec-state.ts +219 -0
  713. package/src/fec-worker-setup.ts +283 -0
  714. package/src/fmp4-completion.ts +47 -0
  715. package/src/fmp4-reader.ts +112 -0
  716. package/src/index.ts +590 -21
  717. package/src/iso-block-locator.ts +329 -0
  718. package/src/iso-bmff-timing.ts +813 -0
  719. package/src/loc.ts +128 -154
  720. package/src/manifest-auth-plan.ts +107 -0
  721. package/src/media-router.ts +841 -0
  722. package/src/mfu-reassembler.ts +3480 -155
  723. package/src/mfu-reassembly-policy.ts +134 -0
  724. package/src/mmtp-container-parser.ts +2380 -0
  725. package/src/mmtp-decode-pipeline.ts +406 -0
  726. package/src/mmtp-router.ts +4860 -0
  727. package/src/mmtp-to-cmaf.ts +977 -0
  728. package/src/multicast-auth-catalog.ts +340 -0
  729. package/src/multicast-input.ts +793 -0
  730. package/src/multicast-manager.ts +2783 -0
  731. package/src/multicast-transport.ts +1058 -0
  732. package/src/multicast-unwrap.ts +132 -0
  733. package/src/no-modules.ts +21 -0
  734. package/src/phase14-catalog-override.ts +336 -0
  735. package/src/repair-fetch.ts +772 -0
  736. package/src/repair-layers.ts +533 -0
  737. package/src/sample-combiner.ts +938 -0
  738. package/src/signaling.ts +78 -0
  739. package/src/source-auth.ts +1 -0
  740. package/src/switching-set-alignment.ts +109 -0
  741. package/src/timestamp-codec.ts +265 -0
  742. package/src/track-pipeline-setup.ts +205 -0
  743. package/src/track-pipeline.ts +332 -0
  744. package/src/track-session.ts +1010 -0
  745. package/src/transport-pool.ts +128 -0
  746. package/src/wasm-mfu-reassembler.ts +405 -0
  747. package/src/wasm-mmtp-container-parser.ts +23 -0
  748. package/test-vectors/align.json +199 -0
  749. package/test-vectors/catalog/README.md +106 -0
  750. package/test-vectors/catalog/negative/archive-origin-with-path.json +33 -0
  751. package/test-vectors/catalog/negative/archive-unknown-field.json +34 -0
  752. package/test-vectors/catalog/negative/fec-block-profile-missing.json +51 -0
  753. package/test-vectors/catalog/negative/fec-block-profile-unknown.json +52 -0
  754. package/test-vectors/catalog/negative/fec-enhancement-repair-removed.json +28 -0
  755. package/test-vectors/catalog/negative/fec-repair-layer-geometry.json +33 -0
  756. package/test-vectors/catalog/negative/fec-repair-layer-missing-symbols.json +31 -0
  757. package/test-vectors/catalog/negative/fec-repair-multiple-depends.json +32 -0
  758. package/test-vectors/catalog/negative/fec-repair-overlay-with-layer.json +34 -0
  759. package/test-vectors/catalog/negative/fec-repair-priority-out-of-band.json +24 -0
  760. package/test-vectors/catalog/negative/fec-repair-source-symbols-without-scope.json +33 -0
  761. package/test-vectors/catalog/negative/legacy-selection-params.json +15 -0
  762. package/test-vectors/catalog/negative/media-track-repair-layer.json +16 -0
  763. package/test-vectors/catalog/negative/missing-mmtp-fields.json +12 -0
  764. package/test-vectors/catalog/negative/multicast-auth-padded-key.json +37 -0
  765. package/test-vectors/catalog/negative/multicast-auth-reused-track-format.json +53 -0
  766. package/test-vectors/catalog/negative/multicast-auth-trailing-pad-bits.json +37 -0
  767. package/test-vectors/catalog/negative/multicast-endpoint-missing-protocol-and-source.json +24 -0
  768. package/test-vectors/catalog/negative/multicast-network-source-empty.json +44 -0
  769. package/test-vectors/catalog/negative/multicast-packet-id-signaling.json +26 -0
  770. package/test-vectors/catalog/negative/network-source-object.json +25 -0
  771. package/test-vectors/catalog/negative/raptorq-source-symbols-over-max.json +24 -0
  772. package/test-vectors/catalog/negative/raptorq-unaligned-symbol.json +27 -0
  773. package/test-vectors/catalog/negative/repair-track-legacy-shape.json +19 -0
  774. package/test-vectors/catalog/negative/track-role-empty.json +16 -0
  775. package/test-vectors/catalog/negative/track-role-non-string.json +16 -0
  776. package/test-vectors/catalog/positive/archive-origin.json +34 -0
  777. package/test-vectors/catalog/positive/fec-iso-ssbg1.json +52 -0
  778. package/test-vectors/catalog/positive/fec-layered-repair.json +106 -0
  779. package/test-vectors/catalog/positive/fec-multicast.json +52 -0
  780. package/test-vectors/catalog/positive/flat-av.json +30 -0
  781. package/test-vectors/catalog/positive/multicast-auth-rotation.json +55 -0
  782. package/test-vectors/catalog/positive/multicast-native-ssm-no-network-source.json +43 -0
  783. package/test-vectors/catalog/positive/ticks-and-mixed-timescales.json +39 -0
  784. package/test-vectors/catalog/positive/track-role.json +49 -0
  785. package/test-vectors/catalog/releases/moqcast-native-v16-v1/catalog.json +65 -0
  786. package/test-vectors/catalog/releases/moqcast-native-v16-v1.archive.sha256 +1 -0
  787. package/test-vectors/catalog-multicast-auth-v1.json +26 -0
  788. package/test-vectors/catalog-validation.json +732 -0
  789. package/test-vectors/catalog-validator-public-api.mjs +25 -0
  790. package/test-vectors/generate-source-auth-fixture.mjs +114 -0
  791. package/test-vectors/hevc-x265-repeat-headers-v1.json +40 -0
  792. package/test-vectors/source-auth-v1.json +61 -0
  793. package/test-vectors/source-contiguity-v1.json +131 -0
  794. package/test-vectors/subsample-placement-v1.json +230 -0
  795. package/dist/mmtp.d.ts +0 -73
  796. package/dist/mmtp.d.ts.map +0 -1
  797. package/dist/mmtp.js +0 -210
  798. package/dist/mmtp.js.map +0 -1
  799. package/src/mmtp.ts +0 -277
@@ -0,0 +1,716 @@
1
+ // src/mmtp-to-cmaf.ts
2
+ function box(type, ...children) {
3
+ let size = 8;
4
+ for (const c of children) size += c.length;
5
+ const buf = new Uint8Array(size);
6
+ new DataView(buf.buffer).setUint32(0, size);
7
+ buf[4] = type.charCodeAt(0);
8
+ buf[5] = type.charCodeAt(1);
9
+ buf[6] = type.charCodeAt(2);
10
+ buf[7] = type.charCodeAt(3);
11
+ let pos = 8;
12
+ for (const c of children) {
13
+ buf.set(c, pos);
14
+ pos += c.length;
15
+ }
16
+ return buf;
17
+ }
18
+ function fullBox(type, version, flags, ...children) {
19
+ let size = 12;
20
+ for (const c of children) size += c.length;
21
+ const buf = new Uint8Array(size);
22
+ const dv = new DataView(buf.buffer);
23
+ dv.setUint32(0, size);
24
+ buf[4] = type.charCodeAt(0);
25
+ buf[5] = type.charCodeAt(1);
26
+ buf[6] = type.charCodeAt(2);
27
+ buf[7] = type.charCodeAt(3);
28
+ dv.setUint32(8, version << 24 | flags & 16777215);
29
+ let pos = 12;
30
+ for (const c of children) {
31
+ buf.set(c, pos);
32
+ pos += c.length;
33
+ }
34
+ return buf;
35
+ }
36
+ function u32(v) {
37
+ const b = new Uint8Array(4);
38
+ new DataView(b.buffer).setUint32(0, v);
39
+ return b;
40
+ }
41
+ var KEYFRAME_FLAGS = 33554432;
42
+ var DELTA_FLAGS = 16842752;
43
+ var UINT32_MAX = 4294967295;
44
+ var MAX_TRACK_ID = UINT32_MAX - 1;
45
+ var INT32_MIN = -2147483648;
46
+ var INT32_MAX = 2147483647;
47
+ function assertTrackId(trackId, label) {
48
+ if (!Number.isInteger(trackId) || trackId <= 0 || trackId > MAX_TRACK_ID) {
49
+ throw new RangeError(`${label} must be an integer in 1..${MAX_TRACK_ID}, got ${trackId}`);
50
+ }
51
+ }
52
+ function assertTimescale(timescale, label) {
53
+ if (!Number.isInteger(timescale) || timescale <= 0 || timescale > UINT32_MAX) {
54
+ throw new RangeError(`${label} must be an integer in 1..${UINT32_MAX}, got ${timescale}`);
55
+ }
56
+ }
57
+ function assertCompositionTimeOffsets(samples) {
58
+ for (let i = 0; i < samples.length; i++) {
59
+ const offset = samples[i].compositionTimeOffset;
60
+ if (offset !== void 0 && (!Number.isInteger(offset) || offset < INT32_MIN || offset > INT32_MAX)) {
61
+ throw new RangeError(
62
+ `sample ${i} compositionTimeOffset must be an integer in ${INT32_MIN}..${INT32_MAX}, got ${offset}`
63
+ );
64
+ }
65
+ }
66
+ }
67
+ function encodeMultiSampleSegment(samples, baseDecodeTime, sequence, trackId = 1) {
68
+ if (samples.length === 0) return new Uint8Array(0);
69
+ assertTrackId(trackId, "trackId");
70
+ assertCompositionTimeOffsets(samples);
71
+ const mfhd = fullBox("mfhd", 0, 0, u32(sequence));
72
+ const tfhd = fullBox("tfhd", 0, 131072, u32(trackId));
73
+ const tfdtBody = new Uint8Array(8);
74
+ const tfdtView = new DataView(tfdtBody.buffer);
75
+ tfdtView.setUint32(0, Math.floor(baseDecodeTime / 4294967296));
76
+ tfdtView.setUint32(4, baseDecodeTime >>> 0);
77
+ const tfdt = fullBox("tfdt", 1, 0, tfdtBody);
78
+ const hasCompositionTimeOffset = samples.some((sample) => sample.compositionTimeOffset !== void 0);
79
+ const trunVersion = hasCompositionTimeOffset ? 1 : 0;
80
+ const trunFlags = 1793 | (hasCompositionTimeOffset ? 2048 : 0);
81
+ const sampleCount = samples.length;
82
+ const sampleEntrySize = hasCompositionTimeOffset ? 16 : 12;
83
+ const trunBody = new Uint8Array(8 + sampleCount * sampleEntrySize);
84
+ const trunView = new DataView(trunBody.buffer);
85
+ trunView.setUint32(0, sampleCount);
86
+ trunView.setUint32(4, 0);
87
+ for (let i = 0; i < sampleCount; i++) {
88
+ const s = samples[i];
89
+ const off = 8 + i * sampleEntrySize;
90
+ trunView.setUint32(off, s.duration >>> 0);
91
+ trunView.setUint32(off + 4, s.data.length);
92
+ trunView.setUint32(off + 8, s.keyframe ? KEYFRAME_FLAGS : DELTA_FLAGS);
93
+ if (hasCompositionTimeOffset) {
94
+ trunView.setInt32(off + 12, s.compositionTimeOffset ?? 0);
95
+ }
96
+ }
97
+ const trun = fullBox("trun", trunVersion, trunFlags, trunBody);
98
+ const traf = box("traf", tfhd, tfdt, trun);
99
+ const moof = box("moof", mfhd, traf);
100
+ let mdatSize = 0;
101
+ for (const s of samples) mdatSize += s.data.length;
102
+ const mdatPayload = new Uint8Array(mdatSize);
103
+ let pos = 0;
104
+ for (const s of samples) {
105
+ mdatPayload.set(s.data, pos);
106
+ pos += s.data.length;
107
+ }
108
+ const mdat = box("mdat", mdatPayload);
109
+ const dataOffsetPos = 8 + mfhd.length + 8 + tfhd.length + tfdt.length + 12 + 4;
110
+ new DataView(moof.buffer).setUint32(dataOffsetPos, moof.length + 8);
111
+ const result = new Uint8Array(moof.length + mdat.length);
112
+ result.set(moof, 0);
113
+ result.set(mdat, moof.length);
114
+ return result;
115
+ }
116
+ function generateSilenceFrame(codec, sampleRate, channels) {
117
+ if (codec.startsWith("opus") || codec.startsWith("Opus")) {
118
+ return generateSilenceOpus(channels);
119
+ }
120
+ return generateSilenceAAC(sampleRate, channels);
121
+ }
122
+ function generateSilenceAAC(sampleRate, channels) {
123
+ if (channels >= 2) {
124
+ return new Uint8Array([
125
+ 33,
126
+ 0,
127
+ 73,
128
+ 144,
129
+ 2,
130
+ 25,
131
+ 0,
132
+ 35,
133
+ 128
134
+ ]);
135
+ }
136
+ return new Uint8Array([
137
+ 1,
138
+ 0,
139
+ 2,
140
+ 0,
141
+ 0,
142
+ 0,
143
+ 0
144
+ ]);
145
+ }
146
+ function generateSilenceOpus(channels) {
147
+ return new Uint8Array([248, 255, 254]);
148
+ }
149
+ function normalizeAacSampleForCmaf(data) {
150
+ if (data.length < 7 || data[0] !== 255 || (data[1] & 246) !== 240) {
151
+ return data;
152
+ }
153
+ const headerLength = data[1] & 1 ? 7 : 9;
154
+ if (data.length <= headerLength) return data;
155
+ const frameLength = (data[3] & 3) << 11 | data[4] << 3 | (data[5] & 224) >>> 5;
156
+ if (frameLength !== data.length || frameLength <= headerLength) return data;
157
+ return data.subarray(headerLength);
158
+ }
159
+ function encodeDataSegment(data, timestamp, duration, keyframe, sequence, trackId = 1, compositionTimeOffset) {
160
+ assertTrackId(trackId, "trackId");
161
+ assertCompositionTimeOffsets([{ compositionTimeOffset }]);
162
+ if (compositionTimeOffset !== void 0) {
163
+ return encodeMultiSampleSegment(
164
+ [{ data, duration, keyframe, compositionTimeOffset }],
165
+ timestamp,
166
+ sequence,
167
+ trackId
168
+ );
169
+ }
170
+ const sampleFlags = keyframe ? KEYFRAME_FLAGS : DELTA_FLAGS;
171
+ const mfhd = fullBox("mfhd", 0, 0, u32(sequence));
172
+ const tfhd = fullBox("tfhd", 0, 131072, u32(trackId));
173
+ const tfdtBody = new Uint8Array(8);
174
+ const tfdtView = new DataView(tfdtBody.buffer);
175
+ tfdtView.setUint32(0, Math.floor(timestamp / 4294967296));
176
+ tfdtView.setUint32(4, timestamp >>> 0);
177
+ const tfdt = fullBox("tfdt", 1, 0, tfdtBody);
178
+ const trunBody = new Uint8Array(20);
179
+ const trunView = new DataView(trunBody.buffer);
180
+ trunView.setUint32(0, 1);
181
+ trunView.setUint32(4, 0);
182
+ trunView.setUint32(8, duration >>> 0);
183
+ trunView.setUint32(12, data.length);
184
+ trunView.setUint32(16, sampleFlags);
185
+ const trun = fullBox("trun", 0, 1793, trunBody);
186
+ const traf = box("traf", tfhd, tfdt, trun);
187
+ const moof = box("moof", mfhd, traf);
188
+ const mdat = box("mdat", data);
189
+ const dataOffsetPos = 8 + mfhd.length + 8 + tfhd.length + tfdt.length + 12 + 4;
190
+ new DataView(moof.buffer).setUint32(dataOffsetPos, moof.length + 8);
191
+ const result = new Uint8Array(moof.length + mdat.length);
192
+ result.set(moof, 0);
193
+ result.set(mdat, moof.length);
194
+ return result;
195
+ }
196
+ function buildVideoInitSegment(avcC, width, height, timescale = 1e6, trackId = 1) {
197
+ return buildVisualInitSegment("avc1", "avcC", avcC, width, height, timescale, trackId);
198
+ }
199
+ function buildHevcVideoInitSegment(sampleEntry, hvcC, width, height, timescale, trackId) {
200
+ if (sampleEntry !== "hev1" && sampleEntry !== "hvc1") {
201
+ throw new Error(`HEVC init segment requires an hev1 or hvc1 sample entry, got ${String(sampleEntry)}`);
202
+ }
203
+ return buildVisualInitSegment(sampleEntry, "hvcC", hvcC, width, height, timescale, trackId);
204
+ }
205
+ function buildVisualInitSegment(sampleEntryType, configBoxType, configRecord, width, height, timescale, trackId) {
206
+ assertTrackId(trackId, "video trackId");
207
+ assertTimescale(timescale, "video timescale");
208
+ const ftyp = box("ftyp", new Uint8Array([
209
+ 105,
210
+ 115,
211
+ 111,
212
+ 109,
213
+ 0,
214
+ 0,
215
+ 2,
216
+ 0,
217
+ 105,
218
+ 115,
219
+ 111,
220
+ 109,
221
+ 105,
222
+ 115,
223
+ 111,
224
+ 54,
225
+ 109,
226
+ 112,
227
+ 52,
228
+ 49
229
+ ]));
230
+ const configBox = box(configBoxType, configRecord);
231
+ const sampleEntryBody = new Uint8Array(78 + configBox.length);
232
+ const sampleEntryView = new DataView(sampleEntryBody.buffer);
233
+ sampleEntryView.setUint16(6, 1);
234
+ sampleEntryView.setUint16(24, width);
235
+ sampleEntryView.setUint16(26, height);
236
+ sampleEntryView.setUint32(28, 4718592);
237
+ sampleEntryView.setUint32(32, 4718592);
238
+ sampleEntryView.setUint16(40, 1);
239
+ sampleEntryView.setUint16(74, 24);
240
+ sampleEntryView.setInt16(76, -1);
241
+ sampleEntryBody.set(configBox, 78);
242
+ const visualSampleEntry = box(sampleEntryType, sampleEntryBody);
243
+ const stsd = fullBox("stsd", 0, 0, u32(1), visualSampleEntry);
244
+ const stbl = box(
245
+ "stbl",
246
+ stsd,
247
+ fullBox("stts", 0, 0, u32(0)),
248
+ fullBox("stsc", 0, 0, u32(0)),
249
+ fullBox("stsz", 0, 0, u32(0), u32(0)),
250
+ fullBox("stco", 0, 0, u32(0))
251
+ );
252
+ const dinf = box("dinf", fullBox("dref", 0, 0, u32(1), fullBox("url ", 0, 1)));
253
+ const minf = box("minf", fullBox("vmhd", 0, 1, new Uint8Array(8)), dinf, stbl);
254
+ const hdlr = fullBox("hdlr", 0, 0, new Uint8Array([
255
+ 0,
256
+ 0,
257
+ 0,
258
+ 0,
259
+ 118,
260
+ 105,
261
+ 100,
262
+ 101,
263
+ 0,
264
+ 0,
265
+ 0,
266
+ 0,
267
+ 0,
268
+ 0,
269
+ 0,
270
+ 0,
271
+ 0,
272
+ 0,
273
+ 0,
274
+ 0,
275
+ 86,
276
+ 105,
277
+ 100,
278
+ 101,
279
+ 111,
280
+ 0
281
+ ]));
282
+ const mdhdBody = new Uint8Array(20);
283
+ new DataView(mdhdBody.buffer).setUint32(8, timescale);
284
+ const mdhd = fullBox("mdhd", 0, 0, mdhdBody);
285
+ const mdia = box("mdia", mdhd, hdlr, minf);
286
+ const tkhdBody = new Uint8Array(80);
287
+ const tkhdView = new DataView(tkhdBody.buffer);
288
+ tkhdView.setUint32(8, trackId);
289
+ tkhdView.setUint32(36, 65536);
290
+ tkhdView.setUint32(52, 65536);
291
+ tkhdView.setUint32(64, 1073741824);
292
+ tkhdView.setUint32(72, width << 16);
293
+ tkhdView.setUint32(76, height << 16);
294
+ const tkhd = fullBox("tkhd", 0, 3, tkhdBody);
295
+ const trak = box("trak", tkhd, mdia);
296
+ const mvhdBody = new Uint8Array(96);
297
+ const mvhdView = new DataView(mvhdBody.buffer);
298
+ mvhdView.setUint32(8, timescale);
299
+ mvhdView.setUint32(16, 65536);
300
+ mvhdView.setUint16(20, 256);
301
+ mvhdView.setUint32(32, 65536);
302
+ mvhdView.setUint32(48, 65536);
303
+ mvhdView.setUint32(60, 1073741824);
304
+ mvhdView.setUint32(92, trackId + 1);
305
+ const mvhd = fullBox("mvhd", 0, 0, mvhdBody);
306
+ const trexBody = new Uint8Array(20);
307
+ new DataView(trexBody.buffer).setUint32(0, trackId);
308
+ new DataView(trexBody.buffer).setUint32(4, 1);
309
+ const mvex = box("mvex", fullBox("trex", 0, 0, trexBody));
310
+ const moov = box("moov", mvhd, trak, mvex);
311
+ const result = new Uint8Array(ftyp.length + moov.length);
312
+ result.set(ftyp, 0);
313
+ result.set(moov, ftyp.length);
314
+ return result;
315
+ }
316
+ function buildAudioInitSegment(sampleRate, channels, asc, timescale, trackId = 1) {
317
+ assertTrackId(trackId, "audio trackId");
318
+ const ts = timescale ?? sampleRate;
319
+ assertTimescale(ts, "audio timescale");
320
+ if (!asc) {
321
+ const freqTable = [96e3, 88200, 64e3, 48e3, 44100, 32e3, 24e3, 22050, 16e3, 12e3, 11025, 8e3, 7350];
322
+ const fi = freqTable.indexOf(sampleRate);
323
+ const freqIdx = fi >= 0 ? fi : 15;
324
+ if (freqIdx <= 14) {
325
+ const v = 2 << 11 | freqIdx << 7 | channels << 3;
326
+ asc = new Uint8Array([v >> 8 & 255, v & 255]);
327
+ } else {
328
+ asc = new Uint8Array([
329
+ 2 << 3 | 7,
330
+ (8 | sampleRate >> 20 & 7) & 255,
331
+ sampleRate >> 12 & 255,
332
+ sampleRate >> 4 & 255,
333
+ ((sampleRate & 15) << 4 | channels << 0) & 255
334
+ ]);
335
+ }
336
+ }
337
+ const dsi = new Uint8Array(2 + asc.length);
338
+ dsi[0] = 5;
339
+ dsi[1] = asc.length;
340
+ dsi.set(asc, 2);
341
+ const dcdBody = new Uint8Array(13 + dsi.length);
342
+ dcdBody[0] = 64;
343
+ dcdBody[1] = 21;
344
+ dcdBody.set(dsi, 13);
345
+ const dcd = new Uint8Array(2 + dcdBody.length);
346
+ dcd[0] = 4;
347
+ dcd[1] = dcdBody.length;
348
+ dcd.set(dcdBody, 2);
349
+ const esBody = new Uint8Array(3 + dcd.length);
350
+ esBody[0] = 0;
351
+ esBody[1] = 1;
352
+ esBody[2] = 0;
353
+ esBody.set(dcd, 3);
354
+ const es = new Uint8Array(2 + esBody.length);
355
+ es[0] = 3;
356
+ es[1] = esBody.length;
357
+ es.set(esBody, 2);
358
+ const esdsBox = fullBox("esds", 0, 0, es);
359
+ const mp4aBody = new Uint8Array(28 + esdsBox.length);
360
+ const mp4aView = new DataView(mp4aBody.buffer);
361
+ mp4aView.setUint16(6, 1);
362
+ mp4aView.setUint16(16, channels);
363
+ mp4aView.setUint16(18, 16);
364
+ mp4aView.setUint32(24, sampleRate << 16);
365
+ mp4aBody.set(esdsBox, 28);
366
+ const mp4a = box("mp4a", mp4aBody);
367
+ const stsd = fullBox("stsd", 0, 0, u32(1), mp4a);
368
+ const stbl = box(
369
+ "stbl",
370
+ stsd,
371
+ fullBox("stts", 0, 0, u32(0)),
372
+ fullBox("stsc", 0, 0, u32(0)),
373
+ fullBox("stsz", 0, 0, u32(0), u32(0)),
374
+ fullBox("stco", 0, 0, u32(0))
375
+ );
376
+ const dinf = box("dinf", fullBox("dref", 0, 0, u32(1), fullBox("url ", 0, 1)));
377
+ const minf = box("minf", fullBox("smhd", 0, 0, new Uint8Array(4)), dinf, stbl);
378
+ const hdlr = fullBox("hdlr", 0, 0, new Uint8Array([
379
+ 0,
380
+ 0,
381
+ 0,
382
+ 0,
383
+ 115,
384
+ 111,
385
+ 117,
386
+ 110,
387
+ 0,
388
+ 0,
389
+ 0,
390
+ 0,
391
+ 0,
392
+ 0,
393
+ 0,
394
+ 0,
395
+ 0,
396
+ 0,
397
+ 0,
398
+ 0,
399
+ 83,
400
+ 111,
401
+ 117,
402
+ 110,
403
+ 100,
404
+ 0
405
+ ]));
406
+ const mdhdBody = new Uint8Array(20);
407
+ new DataView(mdhdBody.buffer).setUint32(8, ts);
408
+ const mdhd = fullBox("mdhd", 0, 0, mdhdBody);
409
+ const mdia = box("mdia", mdhd, hdlr, minf);
410
+ const tkhdBody = new Uint8Array(80);
411
+ const tkhdView = new DataView(tkhdBody.buffer);
412
+ tkhdView.setUint32(8, trackId);
413
+ tkhdView.setUint32(36, 65536);
414
+ tkhdView.setUint32(52, 65536);
415
+ tkhdView.setUint32(64, 1073741824);
416
+ const tkhd = fullBox("tkhd", 0, 3, tkhdBody);
417
+ const trak = box("trak", tkhd, mdia);
418
+ const mvhdBody = new Uint8Array(96);
419
+ const mvhdView = new DataView(mvhdBody.buffer);
420
+ mvhdView.setUint32(8, ts);
421
+ mvhdView.setUint32(16, 65536);
422
+ mvhdView.setUint16(20, 256);
423
+ mvhdView.setUint32(32, 65536);
424
+ mvhdView.setUint32(48, 65536);
425
+ mvhdView.setUint32(60, 1073741824);
426
+ mvhdView.setUint32(92, trackId + 1);
427
+ const mvhd = fullBox("mvhd", 0, 0, mvhdBody);
428
+ const trexBody = new Uint8Array(20);
429
+ new DataView(trexBody.buffer).setUint32(0, trackId);
430
+ new DataView(trexBody.buffer).setUint32(4, 1);
431
+ const mvex = box("mvex", fullBox("trex", 0, 0, trexBody));
432
+ const moov = box("moov", mvhd, trak, mvex);
433
+ const ftyp = box("ftyp", new Uint8Array([
434
+ 105,
435
+ 115,
436
+ 111,
437
+ 109,
438
+ 0,
439
+ 0,
440
+ 2,
441
+ 0,
442
+ 105,
443
+ 115,
444
+ 111,
445
+ 109,
446
+ 105,
447
+ 115,
448
+ 111,
449
+ 54,
450
+ 109,
451
+ 112,
452
+ 52,
453
+ 49
454
+ ]));
455
+ const result = new Uint8Array(ftyp.length + moov.length);
456
+ result.set(ftyp, 0);
457
+ result.set(moov, ftyp.length);
458
+ return result;
459
+ }
460
+ var MmtpToCmaf = class {
461
+ #videoSeq = 1;
462
+ #audioSeq = 1;
463
+ #videoInitSegment = null;
464
+ // Known only for locally-built init segments. Wire-supplied MPU metadata is
465
+ // intentionally opaque here, so setVideoTrackParams remains the API that
466
+ // lets a caller declare its track geometry before wrapping samples.
467
+ #videoInitTrackId = null;
468
+ #audioInitSegment = null;
469
+ #lastVideoTimestamp = 0;
470
+ // Sticky sample duration in video timescale units, updated from caller-
471
+ // supplied durations or adjacent-timestamp deltas. null means "nothing
472
+ // observed yet", in which case #videoFrameDuration derives ~30fps from the
473
+ // configured timescale (33333 at the 1_000_000 default, i.e. unchanged).
474
+ #frameDuration = null;
475
+ // Per-track rebase: each track anchors on its OWN first sample so
476
+ // baseMediaDecodeTime is never negative. A shared base was wrong — if the
477
+ // first sample of one track arrives later than the other's first sample,
478
+ // the earlier track computes `timestamp - sharedBase` as a negative number,
479
+ // which serializes into tfdt as a huge unsigned uint64 (~2^64 - 46) and
480
+ // Chromium rejects the segment with CHUNK_DEMUXER_ERROR_APPEND_FAILED,
481
+ // closing the MediaSource and detaching all SourceBuffers.
482
+ // For A/V alignment, choose a COMMON anchor: set when the first sample of
483
+ // EITHER track arrives, but only if that sample's timestamp is <= any
484
+ // subsequent track's first sample. Implementation: each track rebases to
485
+ // the minimum timestamp seen across tracks on their respective first sample.
486
+ #videoBaseTs = -1;
487
+ #audioBaseTs = -1;
488
+ // Video track geometry. These pair with the video init segment's tkhd
489
+ // track_ID and mdhd/mvhd timescale: every moof this converter emits must
490
+ // reference the same track at the same rate or the browser either drops the
491
+ // fragment (unknown track) or plays it at the wrong rate. They are
492
+ // configuration rather than stream state, so — unlike the sequence numbers
493
+ // and time bases above — reset() deliberately preserves them, matching the
494
+ // fact that reset() also preserves #videoInitSegment.
495
+ #videoTrackId = 1;
496
+ #videoTimescale = 1e6;
497
+ /**
498
+ * Point the single-sample video wrappers at a specific track and rate.
499
+ *
500
+ * Call this when the init segment came off the wire (setInitSegmentFromMpu)
501
+ * rather than from buildVideoInit, so the wrappers match the publisher's
502
+ * tkhd/mdhd instead of assuming trackId=1 at microsecond rate. Consumers
503
+ * that build their init through buildVideoInit can pass the same values
504
+ * there instead and skip this call.
505
+ *
506
+ * The rate is settable only until the first single-sample wrap — see the
507
+ * throw below for why.
508
+ */
509
+ setVideoTrackParams(trackId, timescale) {
510
+ assertTrackId(trackId, "video trackId");
511
+ assertTimescale(timescale, "video timescale");
512
+ if (trackId !== this.#videoTrackId && this.#videoInitTrackId !== null) {
513
+ throw new Error(
514
+ `video track ID cannot change from ${this.#videoTrackId} to ${trackId} after a video init has been cached; replace the init atomically`
515
+ );
516
+ }
517
+ if (timescale !== this.#videoTimescale && this.#videoBaseTs >= 0) {
518
+ throw new Error(
519
+ `video timescale cannot change from ${this.#videoTimescale} to ${timescale} after video samples have been wrapped; call reset() first`
520
+ );
521
+ }
522
+ this.#videoTrackId = trackId;
523
+ this.#videoTimescale = timescale;
524
+ }
525
+ /** Set init segment from MPU metadata packet (fragment_type=0).
526
+ * These are complete ftyp+moov bytes from FFmpeg — use directly. */
527
+ setInitSegmentFromMpu(data, isAudio) {
528
+ if (isAudio) {
529
+ this.#audioInitSegment = data;
530
+ } else {
531
+ this.#videoInitSegment = data;
532
+ this.#videoInitTrackId = null;
533
+ }
534
+ }
535
+ /** Build init segment from codec config (catalog path — no MPU metadata available).
536
+ * Passing timescale/trackId also configures the wrappers via
537
+ * setVideoTrackParams, so init and media segments cannot disagree. */
538
+ buildVideoInit(avcC, width, height, timescale, trackId) {
539
+ const nextTimescale = timescale ?? this.#videoTimescale;
540
+ const nextTrackId = trackId ?? this.#videoTrackId;
541
+ assertTrackId(nextTrackId, "video trackId");
542
+ assertTimescale(nextTimescale, "video timescale");
543
+ if (nextTimescale !== this.#videoTimescale && this.#videoBaseTs >= 0) {
544
+ throw new Error(
545
+ `video timescale cannot change from ${this.#videoTimescale} to ${nextTimescale} after video samples have been wrapped; call reset() first`
546
+ );
547
+ }
548
+ const init = buildVideoInitSegment(
549
+ avcC,
550
+ width,
551
+ height,
552
+ nextTimescale,
553
+ nextTrackId
554
+ );
555
+ this.#videoTimescale = nextTimescale;
556
+ this.#videoTrackId = nextTrackId;
557
+ this.#videoInitSegment = init;
558
+ this.#videoInitTrackId = nextTrackId;
559
+ }
560
+ buildAudioInit(sampleRate, channels, asc, timescale) {
561
+ const ts = timescale ?? sampleRate;
562
+ const init = buildAudioInitSegment(sampleRate, channels, asc, ts);
563
+ this.#audioTimescale = ts;
564
+ this.#audioInitSegment = init;
565
+ }
566
+ get videoInitSegment() {
567
+ return this.#videoInitSegment;
568
+ }
569
+ get audioInitSegment() {
570
+ return this.#audioInitSegment;
571
+ }
572
+ /** Convert a raw video sample to an fMP4 moof+mdat segment. */
573
+ wrapVideoSample(data, timestamp, keyframe, duration, compositionTimeOffset) {
574
+ return this.wrapVideoSampleWithTiming(data, timestamp, keyframe, duration, compositionTimeOffset).segment;
575
+ }
576
+ /**
577
+ * Convert a raw video sample and return the exact browser media interval
578
+ * encoded into tfdt/trun. Consumers that correlate SourceBuffer appends with
579
+ * requestVideoFrameCallback must use this rebased timestamp, not the wire or
580
+ * caller-owned timestamp passed above.
581
+ *
582
+ * `compositionTimeOffset` is the signed authored PTS-DTS delta, in the same
583
+ * #videoTimescale units as `timestamp` and `duration` — unlike wrapAudioSample,
584
+ * which takes microseconds and rescales, because every other quantity on this
585
+ * path is already denominated in #videoTimescale (see setVideoTrackParams).
586
+ * Passing it therefore needs no conversion here; rescaling would double-convert.
587
+ * Absent leaves the trun at version 0 with no offset field; a declared 0 is an
588
+ * authored value and still promotes to version 1. Never reconstruct it from
589
+ * arrival time.
590
+ */
591
+ wrapVideoSampleWithTiming(data, timestamp, keyframe, duration, compositionTimeOffset) {
592
+ assertCompositionTimeOffsets([{ compositionTimeOffset }]);
593
+ if (duration !== void 0 && Number.isFinite(duration) && duration > 0) {
594
+ this.#frameDuration = Math.round(duration);
595
+ } else if (this.#lastVideoTimestamp > 0 && timestamp > this.#lastVideoTimestamp) {
596
+ const delta = timestamp - this.#lastVideoTimestamp;
597
+ if (delta > 0 && delta < this.#videoTimescale) this.#frameDuration = delta;
598
+ }
599
+ this.#lastVideoTimestamp = timestamp;
600
+ if (this.#videoBaseTs < 0) this.#videoBaseTs = timestamp;
601
+ const relTs = timestamp - this.#videoBaseTs;
602
+ const frameDuration = this.#videoFrameDuration;
603
+ return Object.freeze({
604
+ segment: encodeDataSegment(
605
+ data,
606
+ relTs,
607
+ frameDuration,
608
+ keyframe,
609
+ this.#videoSeq++,
610
+ this.#videoTrackId,
611
+ compositionTimeOffset
612
+ ),
613
+ mediaTimestamp: relTs,
614
+ duration: frameDuration
615
+ });
616
+ }
617
+ /** Sticky duration if one has been observed, else ~30fps at the current rate. */
618
+ get #videoFrameDuration() {
619
+ return this.#frameDuration ?? Math.max(1, Math.round(this.#videoTimescale / 30));
620
+ }
621
+ /** Convert an append-safe video batch using the caller-owned timeline.
622
+ * Durations, baseDecodeTime, and compositionTimeOffset are in the
623
+ * configured video timescale. compositionTimeOffset is the signed PTS-DTS
624
+ * delta; its presence selects a version-1 trun for the whole batch.
625
+ * An explicit trackId is range-checked before #videoSeq++ for the same
626
+ * reason as wrapAudioSamples: the encoder's own check fires too late to
627
+ * keep the sequence ungapped. */
628
+ wrapVideoSamples(samples, baseDecodeTime, trackId = this.#videoTrackId) {
629
+ assertTrackId(trackId, "video trackId");
630
+ assertCompositionTimeOffsets(samples);
631
+ return encodeMultiSampleSegment(samples, baseDecodeTime, this.#videoSeq++, trackId);
632
+ }
633
+ // Audio timescale from init segment (default 1M µs; real FFmpeg init uses sampleRate).
634
+ // Set by buildAudioInit or setAudioTimescale.
635
+ #audioTimescale = 1e6;
636
+ /** Set audio timescale to match the init segment's mdhd timescale.
637
+ * Call after appending the real encoder init (FT=0 ftyp+moov).
638
+ * Fails closed on a value the mdhd uint32 cannot hold, as the video paths
639
+ * already do. wrapAudioSample rescales the authored composition offset by
640
+ * this value, so the two failure modes are both silent: a 0 multiplies
641
+ * every authored offset to 0 — indistinguishable from a feed that authored
642
+ * none — while a value above uint32 scales the trun to a timescale the
643
+ * mdhd cannot declare, since it is emitted with setUint32 modulo 2^32. */
644
+ setAudioTimescale(timescale) {
645
+ assertTimescale(timescale, "audio timescale");
646
+ this.#audioTimescale = timescale;
647
+ }
648
+ // Audio sample counter for drift-free baseMediaDecodeTime.
649
+ // AAC frames are exactly 1024 samples at sampleRate. Using sequential
650
+ // counter × 1024 avoids floating-point rounding drift from timestamp conversion.
651
+ #audioSampleCount = 0;
652
+ /** AAC access-unit length in samples. ISO/IEC 14496-3: an AAC-LC frame is
653
+ * exactly 1024 samples at every sample rate — it is not rate-dependent. */
654
+ #aacFrameSamples = 1024;
655
+ /** Convert a raw audio sample to an fMP4 moof+mdat segment. */
656
+ wrapAudioSample(data, timestamp, sampleDuration = 21333, compositionTimeOffset) {
657
+ assertCompositionTimeOffsets([{ compositionTimeOffset }]);
658
+ const sampleData = normalizeAacSampleForCmaf(data);
659
+ if (this.#audioBaseTs < 0) this.#audioBaseTs = timestamp;
660
+ const samplesPerFrame = this.#audioTimescale !== 1e6 ? this.#aacFrameSamples : sampleDuration;
661
+ const scaledTs = this.#audioTimescale !== 1e6 ? this.#audioSampleCount * samplesPerFrame : timestamp - this.#audioBaseTs;
662
+ this.#audioSampleCount++;
663
+ const scaledCompositionTimeOffset = compositionTimeOffset === void 0 || this.#audioTimescale === 1e6 ? compositionTimeOffset : Math.round(compositionTimeOffset * this.#audioTimescale / 1e6);
664
+ return encodeDataSegment(
665
+ sampleData,
666
+ scaledTs,
667
+ samplesPerFrame,
668
+ true,
669
+ this.#audioSeq++,
670
+ 1,
671
+ scaledCompositionTimeOffset
672
+ );
673
+ }
674
+ /** Convert an ordered audio batch using the caller-owned timeline. */
675
+ wrapAudioSamples(samples, baseDecodeTime, trackId = 1) {
676
+ assertTrackId(trackId, "audio trackId");
677
+ assertCompositionTimeOffsets(samples);
678
+ return encodeMultiSampleSegment(
679
+ samples.map((sample) => ({
680
+ data: normalizeAacSampleForCmaf(sample.data),
681
+ duration: sample.duration,
682
+ keyframe: true,
683
+ compositionTimeOffset: sample.compositionTimeOffset
684
+ })),
685
+ baseDecodeTime,
686
+ this.#audioSeq++,
687
+ trackId
688
+ );
689
+ }
690
+ /** Clear per-stream sequencing and time bases.
691
+ * Cached init segments and the video track geometry survive, so a converter
692
+ * reset mid-subscription keeps emitting moofs the existing init can resolve.
693
+ * Clearing the timescale-denominated timing state also re-opens the video
694
+ * rate for change — this is the sanctioned way to retarget mid-subscription. */
695
+ reset() {
696
+ this.#videoSeq = 1;
697
+ this.#audioSeq = 1;
698
+ this.#audioSampleCount = 0;
699
+ this.#lastVideoTimestamp = 0;
700
+ this.#frameDuration = null;
701
+ this.#videoBaseTs = -1;
702
+ this.#audioBaseTs = -1;
703
+ this.#audioTimescale = 1e6;
704
+ }
705
+ };
706
+ export {
707
+ MmtpToCmaf,
708
+ buildAudioInitSegment,
709
+ buildHevcVideoInitSegment,
710
+ buildVideoInitSegment,
711
+ encodeDataSegment,
712
+ encodeMultiSampleSegment,
713
+ generateSilenceFrame,
714
+ normalizeAacSampleForCmaf
715
+ };
716
+ //# sourceMappingURL=mmtp-to-cmaf.js.map