@remotion/media-parser 4.0.254 → 4.0.256

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 (299) hide show
  1. package/dist/add-new-matroska-tracks.d.ts +8 -0
  2. package/dist/add-new-matroska-tracks.js +14 -0
  3. package/dist/boxes/avc/parse-avc.d.ts +18 -0
  4. package/dist/boxes/avc/parse-avc.js +96 -0
  5. package/dist/boxes/iso-base-media/base-type.d.ts +4 -0
  6. package/dist/boxes/iso-base-media/base-type.js +2 -0
  7. package/dist/boxes/iso-base-media/esds/decoder-specific-config.d.ts +14 -0
  8. package/dist/boxes/iso-base-media/esds/decoder-specific-config.js +38 -0
  9. package/dist/boxes/iso-base-media/esds/esds-descriptors.d.ts +29 -0
  10. package/dist/boxes/iso-base-media/esds/esds-descriptors.js +82 -0
  11. package/dist/boxes/iso-base-media/esds/esds.d.ts +15 -0
  12. package/dist/boxes/iso-base-media/esds/esds.js +27 -0
  13. package/dist/boxes/iso-base-media/ftyp.d.ts +13 -0
  14. package/dist/boxes/iso-base-media/ftyp.js +22 -0
  15. package/dist/boxes/iso-base-media/get-actual-number-of-channels.d.ts +13 -0
  16. package/dist/boxes/iso-base-media/get-actual-number-of-channels.js +22 -0
  17. package/dist/boxes/iso-base-media/get-sample-positions-from-track.d.ts +4 -0
  18. package/dist/boxes/iso-base-media/get-sample-positions-from-track.js +54 -0
  19. package/dist/boxes/iso-base-media/make-track.d.ts +3 -0
  20. package/dist/boxes/iso-base-media/make-track.js +107 -0
  21. package/dist/boxes/iso-base-media/mdat/mdat.d.ts +25 -0
  22. package/dist/boxes/iso-base-media/mdat/mdat.js +122 -0
  23. package/dist/boxes/iso-base-media/mdhd.d.ts +16 -0
  24. package/dist/boxes/iso-base-media/mdhd.js +32 -0
  25. package/dist/boxes/iso-base-media/meta/hdlr.d.ts +12 -0
  26. package/dist/boxes/iso-base-media/meta/hdlr.js +33 -0
  27. package/dist/boxes/iso-base-media/meta/ilst.d.ts +28 -0
  28. package/dist/boxes/iso-base-media/meta/ilst.js +86 -0
  29. package/dist/boxes/iso-base-media/moov/moov.d.ts +19 -0
  30. package/dist/boxes/iso-base-media/moov/moov.js +27 -0
  31. package/dist/boxes/iso-base-media/mvhd.d.ts +30 -0
  32. package/dist/boxes/iso-base-media/mvhd.js +65 -0
  33. package/dist/boxes/iso-base-media/parse-icc-profile.d.ts +36 -0
  34. package/dist/boxes/iso-base-media/parse-icc-profile.js +115 -0
  35. package/dist/boxes/iso-base-media/process-box.d.ts +34 -0
  36. package/dist/boxes/iso-base-media/process-box.js +710 -0
  37. package/dist/boxes/iso-base-media/stsd/av1c.d.ts +9 -0
  38. package/dist/boxes/iso-base-media/stsd/av1c.js +10 -0
  39. package/dist/boxes/iso-base-media/stsd/avcc.d.ts +10 -0
  40. package/dist/boxes/iso-base-media/stsd/avcc.js +21 -0
  41. package/dist/boxes/iso-base-media/stsd/colr.d.ts +21 -0
  42. package/dist/boxes/iso-base-media/stsd/colr.js +47 -0
  43. package/dist/boxes/iso-base-media/stsd/ctts.d.ts +19 -0
  44. package/dist/boxes/iso-base-media/stsd/ctts.js +34 -0
  45. package/dist/boxes/iso-base-media/stsd/hvcc.d.ts +11 -0
  46. package/dist/boxes/iso-base-media/stsd/hvcc.js +17 -0
  47. package/dist/boxes/iso-base-media/stsd/keys.d.ts +19 -0
  48. package/dist/boxes/iso-base-media/stsd/keys.js +35 -0
  49. package/dist/boxes/iso-base-media/stsd/mebx.d.ts +19 -0
  50. package/dist/boxes/iso-base-media/stsd/mebx.js +32 -0
  51. package/dist/boxes/iso-base-media/stsd/pasp.d.ts +12 -0
  52. package/dist/boxes/iso-base-media/stsd/pasp.js +17 -0
  53. package/dist/boxes/iso-base-media/stsd/samples.d.ts +68 -0
  54. package/dist/boxes/iso-base-media/stsd/samples.js +320 -0
  55. package/dist/boxes/iso-base-media/stsd/stco.d.ts +15 -0
  56. package/dist/boxes/iso-base-media/stsd/stco.js +30 -0
  57. package/dist/boxes/iso-base-media/stsd/stsc.d.ts +19 -0
  58. package/dist/boxes/iso-base-media/stsd/stsc.js +34 -0
  59. package/dist/boxes/iso-base-media/stsd/stsd.d.ts +18 -0
  60. package/dist/boxes/iso-base-media/stsd/stsd.js +33 -0
  61. package/dist/boxes/iso-base-media/stsd/stss.d.ts +13 -0
  62. package/dist/boxes/iso-base-media/stsd/stss.js +28 -0
  63. package/dist/boxes/iso-base-media/stsd/stsz.d.ts +21 -0
  64. package/dist/boxes/iso-base-media/stsd/stsz.js +44 -0
  65. package/dist/boxes/iso-base-media/stsd/stts.d.ts +15 -0
  66. package/dist/boxes/iso-base-media/stsd/stts.js +35 -0
  67. package/dist/boxes/iso-base-media/tfdt.d.ts +12 -0
  68. package/dist/boxes/iso-base-media/tfdt.js +20 -0
  69. package/dist/boxes/iso-base-media/tfhd.d.ts +16 -0
  70. package/dist/boxes/iso-base-media/tfhd.js +41 -0
  71. package/dist/boxes/iso-base-media/tkhd.d.ts +25 -0
  72. package/dist/boxes/iso-base-media/tkhd.js +87 -0
  73. package/dist/boxes/iso-base-media/to-date.d.ts +2 -0
  74. package/dist/boxes/iso-base-media/to-date.js +19 -0
  75. package/dist/boxes/iso-base-media/trak/trak.d.ts +19 -0
  76. package/dist/boxes/iso-base-media/trak/trak.js +27 -0
  77. package/dist/boxes/iso-base-media/traversal.d.ts +39 -0
  78. package/dist/boxes/iso-base-media/traversal.js +201 -0
  79. package/dist/boxes/iso-base-media/trun.d.ts +21 -0
  80. package/dist/boxes/iso-base-media/trun.js +44 -0
  81. package/dist/boxes/iso-base-media/void-box.d.ts +4 -0
  82. package/dist/boxes/iso-base-media/void-box.js +2 -0
  83. package/dist/boxes/riff/expect-riff-box.d.ts +17 -0
  84. package/dist/boxes/riff/expect-riff-box.js +49 -0
  85. package/dist/boxes/riff/get-tracks-from-avi.d.ts +22 -0
  86. package/dist/boxes/riff/get-tracks-from-avi.js +114 -0
  87. package/dist/boxes/riff/is-movi.d.ts +2 -0
  88. package/dist/boxes/riff/is-movi.js +12 -0
  89. package/dist/boxes/riff/parse-avih.d.ts +6 -0
  90. package/dist/boxes/riff/parse-avih.js +32 -0
  91. package/dist/boxes/riff/parse-box.d.ts +15 -0
  92. package/dist/boxes/riff/parse-box.js +146 -0
  93. package/dist/boxes/riff/parse-fmt-box.d.ts +7 -0
  94. package/dist/boxes/riff/parse-fmt-box.js +33 -0
  95. package/dist/boxes/riff/parse-isft.d.ts +6 -0
  96. package/dist/boxes/riff/parse-isft.js +17 -0
  97. package/dist/boxes/riff/parse-list-box.d.ts +8 -0
  98. package/dist/boxes/riff/parse-list-box.js +30 -0
  99. package/dist/boxes/riff/parse-movi.d.ts +17 -0
  100. package/dist/boxes/riff/parse-movi.js +133 -0
  101. package/dist/boxes/riff/parse-riff-box.d.ts +10 -0
  102. package/dist/boxes/riff/parse-riff-box.js +37 -0
  103. package/dist/boxes/riff/parse-strf.d.ts +7 -0
  104. package/dist/boxes/riff/parse-strf.js +67 -0
  105. package/dist/boxes/riff/parse-strh.d.ts +6 -0
  106. package/dist/boxes/riff/parse-strh.js +46 -0
  107. package/dist/boxes/riff/riff-box.d.ts +85 -0
  108. package/dist/boxes/riff/riff-box.js +2 -0
  109. package/dist/boxes/riff/timescale.d.ts +1 -0
  110. package/dist/boxes/riff/timescale.js +4 -0
  111. package/dist/boxes/riff/traversal.d.ts +8 -0
  112. package/dist/boxes/riff/traversal.js +36 -0
  113. package/dist/boxes/webm/allowed-partial-segments.d.ts +1 -0
  114. package/dist/boxes/webm/allowed-partial-segments.js +4 -0
  115. package/dist/boxes/webm/av1-codec-private.d.ts +2 -0
  116. package/dist/boxes/webm/av1-codec-private.js +95 -0
  117. package/dist/boxes/webm/color.d.ts +4 -0
  118. package/dist/boxes/webm/color.js +127 -0
  119. package/dist/boxes/webm/description.d.ts +2 -0
  120. package/dist/boxes/webm/description.js +83 -0
  121. package/dist/boxes/webm/ebml.d.ts +2 -0
  122. package/dist/boxes/webm/ebml.js +94 -0
  123. package/dist/boxes/webm/get-ready-tracks.d.ts +3 -0
  124. package/dist/boxes/webm/get-ready-tracks.js +29 -0
  125. package/dist/boxes/webm/get-sample-from-block.d.ts +17 -0
  126. package/dist/boxes/webm/get-sample-from-block.js +81 -0
  127. package/dist/boxes/webm/make-header.d.ts +8 -0
  128. package/dist/boxes/webm/make-header.js +187 -0
  129. package/dist/boxes/webm/make-track.d.ts +9 -0
  130. package/dist/boxes/webm/make-track.js +261 -0
  131. package/dist/boxes/webm/parse-ebml.d.ts +12 -0
  132. package/dist/boxes/webm/parse-ebml.js +185 -0
  133. package/dist/boxes/webm/parse-webm-header.d.ts +9 -0
  134. package/dist/boxes/webm/parse-webm-header.js +36 -0
  135. package/dist/boxes/webm/segments/all-segments.d.ts +976 -0
  136. package/dist/boxes/webm/segments/all-segments.js +724 -0
  137. package/dist/boxes/webm/segments/block-simple-block-flags.d.ts +9 -0
  138. package/dist/boxes/webm/segments/block-simple-block-flags.js +38 -0
  139. package/dist/boxes/webm/segments/parse-children.d.ts +23 -0
  140. package/dist/boxes/webm/segments/parse-children.js +145 -0
  141. package/dist/boxes/webm/segments/track-entry.d.ts +9 -0
  142. package/dist/boxes/webm/segments/track-entry.js +24 -0
  143. package/dist/boxes/webm/segments.d.ts +15 -0
  144. package/dist/boxes/webm/segments.js +161 -0
  145. package/dist/boxes/webm/traversal.d.ts +33 -0
  146. package/dist/boxes/webm/traversal.js +265 -0
  147. package/dist/containers/flac/get-channel-count.d.ts +1 -1
  148. package/dist/create/cluster-segment.d.ts +10 -0
  149. package/dist/create/cluster-segment.js +39 -0
  150. package/dist/create/cluster.d.ts +19 -0
  151. package/dist/create/cluster.js +55 -0
  152. package/dist/create/create-media.d.ts +15 -0
  153. package/dist/create/create-media.js +165 -0
  154. package/dist/create/event-emitter.d.ts +31 -0
  155. package/dist/create/event-emitter.js +25 -0
  156. package/dist/create/iso-base-media/codec-specific/avc1.d.ts +2 -0
  157. package/dist/create/iso-base-media/codec-specific/avc1.js +48 -0
  158. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +22 -0
  159. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +36 -0
  160. package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +2 -0
  161. package/dist/create/iso-base-media/codec-specific/mp4a.js +74 -0
  162. package/dist/create/iso-base-media/create-colr.d.ts +6 -0
  163. package/dist/create/iso-base-media/create-colr.js +26 -0
  164. package/dist/create/iso-base-media/create-ftyp.d.ts +10 -0
  165. package/dist/create/iso-base-media/create-ftyp.js +22 -0
  166. package/dist/create/iso-base-media/create-ilst.d.ts +1 -0
  167. package/dist/create/iso-base-media/create-ilst.js +14 -0
  168. package/dist/create/iso-base-media/create-iso-base-media.d.ts +2 -0
  169. package/dist/create/iso-base-media/create-iso-base-media.js +165 -0
  170. package/dist/create/iso-base-media/create-mdia.d.ts +5 -0
  171. package/dist/create/iso-base-media/create-mdia.js +18 -0
  172. package/dist/create/iso-base-media/create-moov.d.ts +5 -0
  173. package/dist/create/iso-base-media/create-moov.js +18 -0
  174. package/dist/create/iso-base-media/create-mvhd.d.ts +10 -0
  175. package/dist/create/iso-base-media/create-mvhd.js +48 -0
  176. package/dist/create/iso-base-media/create-trak.d.ts +4 -0
  177. package/dist/create/iso-base-media/create-trak.js +17 -0
  178. package/dist/create/iso-base-media/create-udta.d.ts +1 -0
  179. package/dist/create/iso-base-media/create-udta.js +14 -0
  180. package/dist/create/iso-base-media/create-url.d.ts +1 -0
  181. package/dist/create/iso-base-media/create-url.js +16 -0
  182. package/dist/create/iso-base-media/example-stts.d.ts +3 -0
  183. package/dist/create/iso-base-media/example-stts.js +2797 -0
  184. package/dist/create/iso-base-media/ilst/create-cmt.d.ts +1 -0
  185. package/dist/create/iso-base-media/ilst/create-cmt.js +26 -0
  186. package/dist/create/iso-base-media/ilst/create-too.d.ts +1 -0
  187. package/dist/create/iso-base-media/ilst/create-too.js +27 -0
  188. package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +6 -0
  189. package/dist/create/iso-base-media/mdia/create-mdhd.js +33 -0
  190. package/dist/create/iso-base-media/mp4-header.d.ts +6 -0
  191. package/dist/create/iso-base-media/mp4-header.js +48 -0
  192. package/dist/create/iso-base-media/primitives.d.ts +15 -0
  193. package/dist/create/iso-base-media/primitives.js +133 -0
  194. package/dist/create/iso-base-media/serialize-track.d.ts +9 -0
  195. package/dist/create/iso-base-media/serialize-track.js +63 -0
  196. package/dist/create/iso-base-media/trak/create-tkhd.d.ts +27 -0
  197. package/dist/create/iso-base-media/trak/create-tkhd.js +97 -0
  198. package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +4 -0
  199. package/dist/create/iso-base-media/trak/mdia/create-minf.js +19 -0
  200. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +1 -0
  201. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +22 -0
  202. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +1 -0
  203. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +20 -0
  204. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +6 -0
  205. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +35 -0
  206. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +1 -0
  207. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +20 -0
  208. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +2 -0
  209. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +45 -0
  210. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +2 -0
  211. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +28 -0
  212. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +2 -0
  213. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +56 -0
  214. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +2 -0
  215. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +23 -0
  216. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +2 -0
  217. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +25 -0
  218. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +2 -0
  219. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +48 -0
  220. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +1 -0
  221. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +20 -0
  222. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +1 -0
  223. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +16 -0
  224. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +1 -0
  225. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +13 -0
  226. package/dist/create/iso-base-media/udta/create-meta.d.ts +4 -0
  227. package/dist/create/iso-base-media/udta/create-meta.js +20 -0
  228. package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +1 -0
  229. package/dist/create/iso-base-media/udta/meta/create-hdlr.js +32 -0
  230. package/dist/create/make-duration-with-padding.d.ts +1 -0
  231. package/dist/create/make-duration-with-padding.js +15 -0
  232. package/dist/create/make-track-info.d.ts +20 -0
  233. package/dist/create/make-track-info.js +2 -0
  234. package/dist/create/matroska/cluster-segment.d.ts +10 -0
  235. package/dist/create/matroska/cluster-segment.js +39 -0
  236. package/dist/create/matroska/cluster.d.ts +25 -0
  237. package/dist/create/matroska/cluster.js +77 -0
  238. package/dist/create/matroska/create-matroska-media.d.ts +2 -0
  239. package/dist/create/matroska/create-matroska-media.js +187 -0
  240. package/dist/create/matroska/make-duration-with-padding.d.ts +1 -0
  241. package/dist/create/matroska/make-duration-with-padding.js +15 -0
  242. package/dist/create/matroska/matroska-cues.d.ts +6 -0
  243. package/dist/create/matroska/matroska-cues.js +49 -0
  244. package/dist/create/matroska/matroska-header.d.ts +1 -0
  245. package/dist/create/matroska/matroska-header.js +66 -0
  246. package/dist/create/matroska/matroska-info.d.ts +3 -0
  247. package/dist/create/matroska/matroska-info.js +33 -0
  248. package/dist/create/matroska/matroska-seek.d.ts +6 -0
  249. package/dist/create/matroska/matroska-seek.js +32 -0
  250. package/dist/create/matroska/matroska-segment.d.ts +3 -0
  251. package/dist/create/matroska/matroska-segment.js +13 -0
  252. package/dist/create/matroska/matroska-trackentry.d.ts +10 -0
  253. package/dist/create/matroska/matroska-trackentry.js +249 -0
  254. package/dist/create/matroska-cues.d.ts +6 -0
  255. package/dist/create/matroska-cues.js +49 -0
  256. package/dist/create/matroska-header.d.ts +1 -0
  257. package/dist/create/matroska-header.js +66 -0
  258. package/dist/create/matroska-info.d.ts +3 -0
  259. package/dist/create/matroska-info.js +33 -0
  260. package/dist/create/matroska-seek.d.ts +6 -0
  261. package/dist/create/matroska-seek.js +32 -0
  262. package/dist/create/matroska-segment.d.ts +3 -0
  263. package/dist/create/matroska-segment.js +13 -0
  264. package/dist/create/matroska-trackentry.d.ts +27 -0
  265. package/dist/create/matroska-trackentry.js +243 -0
  266. package/dist/create/media-fn.d.ts +33 -0
  267. package/dist/create/media-fn.js +2 -0
  268. package/dist/create/progress-tracker.d.ts +7 -0
  269. package/dist/create/progress-tracker.js +43 -0
  270. package/dist/create/timescale.d.ts +1 -0
  271. package/dist/create/timescale.js +4 -0
  272. package/dist/create/wav/create-wav.d.ts +2 -0
  273. package/dist/create/wav/create-wav.js +110 -0
  274. package/dist/create/with-resolvers.d.ts +10 -0
  275. package/dist/create/with-resolvers.js +28 -0
  276. package/dist/esm/buffer.mjs +56 -0
  277. package/dist/esm/index.mjs +1 -1
  278. package/dist/esm/web-fs.mjs +73 -0
  279. package/dist/parse-video.d.ts +25 -0
  280. package/dist/parse-video.js +39 -0
  281. package/dist/parser-context.d.ts +10 -0
  282. package/dist/parser-context.js +2 -0
  283. package/dist/parser-state.d.ts +22 -0
  284. package/dist/parser-state.js +132 -0
  285. package/dist/version.d.ts +1 -1
  286. package/dist/version.js +1 -1
  287. package/dist/writers/buffer-implementation/writer.d.ts +2 -0
  288. package/dist/writers/buffer-implementation/writer.js +54 -0
  289. package/dist/writers/buffer.d.ts +2 -0
  290. package/dist/writers/buffer.js +7 -0
  291. package/dist/writers/web-fs.d.ts +3 -0
  292. package/dist/writers/web-fs.js +74 -0
  293. package/package.json +3 -3
  294. package/dist/abort.d.ts +0 -1
  295. package/dist/abort.js +0 -7
  296. package/dist/controller.d.ts +0 -17
  297. package/dist/controller.js +0 -31
  298. package/dist/parse-and-download-media.d.ts +0 -2
  299. package/dist/parse-and-download-media.js +0 -57
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseStrf = void 0;
4
+ const parseStrfAudio = ({ iterator, size, }) => {
5
+ const box = iterator.startBox(size);
6
+ const formatTag = iterator.getUint16Le();
7
+ const numberOfChannels = iterator.getUint16Le();
8
+ const samplesPerSec = iterator.getUint32Le();
9
+ const avgBytesPerSec = iterator.getUint32Le();
10
+ const blockAlign = iterator.getUint16Le();
11
+ const bitsPerSample = iterator.getUint16Le();
12
+ const cbSize = iterator.getUint16Le();
13
+ box.expectNoMoreBytes();
14
+ return {
15
+ type: 'strf-box-audio',
16
+ avgBytesPerSecond: avgBytesPerSec,
17
+ bitsPerSample,
18
+ blockAlign,
19
+ cbSize,
20
+ formatTag,
21
+ numberOfChannels,
22
+ sampleRate: samplesPerSec,
23
+ };
24
+ };
25
+ const parseStrfVideo = ({ iterator, size, }) => {
26
+ const box = iterator.startBox(size);
27
+ const biSize = iterator.getUint32Le();
28
+ const width = iterator.getInt32Le();
29
+ const height = iterator.getInt32Le();
30
+ const planes = iterator.getUint16Le();
31
+ const bitCount = iterator.getUint16Le();
32
+ const compression = iterator.getByteString(4);
33
+ const sizeImage = iterator.getUint32Le();
34
+ const xPelsPerMeter = iterator.getInt32Le();
35
+ const yPelsPerMeter = iterator.getInt32Le();
36
+ const clrUsed = iterator.getUint32Le();
37
+ const clrImportant = iterator.getUint32Le();
38
+ box.expectNoMoreBytes();
39
+ return {
40
+ type: 'strf-box-video',
41
+ biSize,
42
+ bitCount,
43
+ clrImportant,
44
+ clrUsed,
45
+ compression,
46
+ height,
47
+ planes,
48
+ sizeImage,
49
+ width,
50
+ xPelsPerMeter,
51
+ yPelsPerMeter,
52
+ };
53
+ };
54
+ const parseStrf = ({ iterator, size, boxes, }) => {
55
+ const strh = boxes.find((b) => b.type === 'strh-box');
56
+ if (!strh) {
57
+ throw new Error('strh box not found');
58
+ }
59
+ if (strh.fccType === 'vids') {
60
+ return parseStrfVideo({ iterator, size });
61
+ }
62
+ if (strh.fccType === 'auds') {
63
+ return parseStrfAudio({ iterator, size });
64
+ }
65
+ throw new Error(`Unsupported fccType: ${strh.fccType}`);
66
+ };
67
+ exports.parseStrf = parseStrf;
@@ -0,0 +1,6 @@
1
+ import type { BufferIterator } from '../../buffer-iterator';
2
+ import type { RiffBox } from './riff-box';
3
+ export declare const parseStrh: ({ iterator, size, }: {
4
+ iterator: BufferIterator;
5
+ size: number;
6
+ }) => RiffBox;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseStrh = void 0;
4
+ const parseStrh = ({ iterator, size, }) => {
5
+ const box = iterator.startBox(size);
6
+ const fccType = iterator.getByteString(4);
7
+ if (fccType !== 'vids' && fccType !== 'auds') {
8
+ throw new Error('Expected AVI handler to be vids / auds');
9
+ }
10
+ const handler = fccType === 'vids' ? iterator.getByteString(4) : iterator.getUint32Le();
11
+ if (typeof handler === 'string' && handler !== 'H264') {
12
+ throw new Error(`Only H264 is supported as a stream type in .avi, got ${handler}`);
13
+ }
14
+ if (fccType === 'auds' && handler !== 1) {
15
+ throw new Error(`Only "1" is supported as a stream type in .avi, got ${handler}`);
16
+ }
17
+ const flags = iterator.getUint32Le();
18
+ const priority = iterator.getUint16Le();
19
+ const language = iterator.getUint16Le();
20
+ const initialFrames = iterator.getUint32Le();
21
+ const scale = iterator.getUint32Le();
22
+ const rate = iterator.getUint32Le();
23
+ const start = iterator.getUint32Le();
24
+ const length = iterator.getUint32Le();
25
+ const suggestedBufferSize = iterator.getUint32Le();
26
+ const quality = iterator.getUint32Le();
27
+ const sampleSize = iterator.getUint32Le();
28
+ box.discardRest();
29
+ return {
30
+ type: 'strh-box',
31
+ fccType,
32
+ handler,
33
+ flags,
34
+ priority,
35
+ initialFrames,
36
+ length,
37
+ quality,
38
+ rate,
39
+ sampleSize,
40
+ scale,
41
+ start,
42
+ suggestedBufferSize,
43
+ language,
44
+ };
45
+ };
46
+ exports.parseStrh = parseStrh;
@@ -0,0 +1,85 @@
1
+ export type WaveFormatBox = {
2
+ type: 'wave-format-box';
3
+ formatTag: 1;
4
+ numberOfChannels: number;
5
+ sampleRate: number;
6
+ blockAlign: number;
7
+ byteRate: number;
8
+ bitsPerSample: number;
9
+ };
10
+ export type ListBox = {
11
+ type: 'list-box';
12
+ listType: string;
13
+ children: RiffBox[];
14
+ };
15
+ export type RiffRegularBox = {
16
+ type: 'riff-box';
17
+ size: number;
18
+ id: string;
19
+ };
20
+ export type AvihBox = {
21
+ type: 'avih-box';
22
+ microSecPerFrame: number;
23
+ maxBytesPerSecond: number;
24
+ paddingGranularity: number;
25
+ flags: number;
26
+ totalFrames: number;
27
+ initialFrames: number;
28
+ streams: number;
29
+ suggestedBufferSize: number;
30
+ width: number;
31
+ height: number;
32
+ };
33
+ export type StrhBox = {
34
+ type: 'strh-box';
35
+ fccType: 'vids' | 'auds';
36
+ handler: 'H264' | number;
37
+ flags: number;
38
+ priority: number;
39
+ initialFrames: number;
40
+ scale: number;
41
+ rate: number;
42
+ start: number;
43
+ length: number;
44
+ suggestedBufferSize: number;
45
+ quality: number;
46
+ sampleSize: number;
47
+ language: number;
48
+ };
49
+ export type StrfBoxVideo = {
50
+ type: 'strf-box-video';
51
+ biSize: number;
52
+ width: number;
53
+ height: number;
54
+ planes: number;
55
+ bitCount: number;
56
+ compression: string;
57
+ sizeImage: number;
58
+ xPelsPerMeter: number;
59
+ yPelsPerMeter: number;
60
+ clrUsed: number;
61
+ clrImportant: number;
62
+ };
63
+ export type StrfBoxAudio = {
64
+ type: 'strf-box-audio';
65
+ formatTag: number;
66
+ numberOfChannels: number;
67
+ sampleRate: number;
68
+ avgBytesPerSecond: number;
69
+ blockAlign: number;
70
+ bitsPerSample: number;
71
+ cbSize: number;
72
+ };
73
+ export type RiffHeader = {
74
+ type: 'riff-header';
75
+ fileSize: number;
76
+ fileType: string;
77
+ };
78
+ export type MoviBox = {
79
+ type: 'movi-box';
80
+ };
81
+ export type IsftBox = {
82
+ type: 'isft-box';
83
+ software: string;
84
+ };
85
+ export type RiffBox = RiffRegularBox | WaveFormatBox | RiffHeader | ListBox | AvihBox | StrhBox | StrfBoxVideo | StrfBoxAudio | MoviBox | IsftBox;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export declare const MEDIA_PARSER_RIFF_TIMESCALE = 1000000;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MEDIA_PARSER_RIFF_TIMESCALE = void 0;
4
+ exports.MEDIA_PARSER_RIFF_TIMESCALE = 1000000;
@@ -0,0 +1,8 @@
1
+ import type { RiffStructure } from '../../parse-result';
2
+ import type { AvihBox, ListBox, RiffBox, StrfBoxAudio, StrfBoxVideo, StrhBox } from './riff-box';
3
+ export declare const isRiffAvi: (structure: RiffStructure) => boolean;
4
+ export declare const getHdlrBox: (structure: RiffStructure) => ListBox | null;
5
+ export declare const getAvihBox: (structure: RiffStructure) => AvihBox | null;
6
+ export declare const getStrlBoxes: (structure: RiffStructure) => ListBox[];
7
+ export declare const getStrhBox: (strlBoxChildren: RiffBox[]) => StrhBox | null;
8
+ export declare const getStrfBox: (strlBoxChildren: RiffBox[]) => StrfBoxAudio | StrfBoxVideo | null;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStrfBox = exports.getStrhBox = exports.getStrlBoxes = exports.getAvihBox = exports.getHdlrBox = exports.isRiffAvi = void 0;
4
+ const isRiffAvi = (structure) => {
5
+ return structure.boxes.some((box) => box.type === 'riff-header' && box.fileType === 'AVI');
6
+ };
7
+ exports.isRiffAvi = isRiffAvi;
8
+ const getHdlrBox = (structure) => {
9
+ return structure.boxes.find((box) => box.type === 'list-box' && box.listType === 'hdrl');
10
+ };
11
+ exports.getHdlrBox = getHdlrBox;
12
+ const getAvihBox = (structure) => {
13
+ const hdlrBox = (0, exports.getHdlrBox)(structure);
14
+ if (!hdlrBox) {
15
+ return null;
16
+ }
17
+ return hdlrBox.children.find((box) => box.type === 'avih-box');
18
+ };
19
+ exports.getAvihBox = getAvihBox;
20
+ const getStrlBoxes = (structure) => {
21
+ const hdlrBox = (0, exports.getHdlrBox)(structure);
22
+ if (!hdlrBox) {
23
+ return [];
24
+ }
25
+ return hdlrBox.children.filter((box) => box.type === 'list-box' && box.listType === 'strl');
26
+ };
27
+ exports.getStrlBoxes = getStrlBoxes;
28
+ const getStrhBox = (strlBoxChildren) => {
29
+ return strlBoxChildren.find((box) => box.type === 'strh-box');
30
+ };
31
+ exports.getStrhBox = getStrhBox;
32
+ const getStrfBox = (strlBoxChildren) => {
33
+ var _a;
34
+ return ((_a = strlBoxChildren.find((box) => box.type === 'strf-box-audio' || box.type === 'strf-box-video')) !== null && _a !== void 0 ? _a : null);
35
+ };
36
+ exports.getStrfBox = getStrfBox;
@@ -0,0 +1 @@
1
+ export declare const allowedPartialSegments: string[];
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allowedPartialSegments = void 0;
4
+ exports.allowedPartialSegments = ['0x1f43b675', '0x18538067'];
@@ -0,0 +1,2 @@
1
+ import type { ColorParameterBox } from '../iso-base-media/stsd/colr';
2
+ export declare const parseAv1PrivateData: (data: Uint8Array, colrAtom: ColorParameterBox | null) => string;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAv1PrivateData = void 0;
4
+ const buffer_iterator_1 = require("../../buffer-iterator");
5
+ const parseAv1PrivateData = (data, colrAtom) => {
6
+ const iterator = (0, buffer_iterator_1.getArrayBufferIterator)(data, data.byteLength);
7
+ iterator.startReadingBits();
8
+ if (iterator.getBits(1) !== 1) {
9
+ iterator.destroy();
10
+ throw new Error('Expected av1 private data to be version 1');
11
+ }
12
+ const version = iterator.getBits(7);
13
+ if (version !== 1) {
14
+ iterator.destroy();
15
+ throw new Error(`Expected av1 private data to be version 1, got ${version}`);
16
+ }
17
+ let str = 'av01.';
18
+ // https://aomediacodec.github.io/av1-isobmff/#codecsparam
19
+ const seqProfile = iterator.getBits(3);
20
+ // Profile
21
+ str += seqProfile;
22
+ str += '.';
23
+ const seq_level_idx = iterator.getBits(5);
24
+ const seq_tier_0 = iterator.getBits(1);
25
+ // Level
26
+ // The level parameter value SHALL equal the first level value indicated by seq_level_idx in the Sequence Header OBU
27
+ str += seq_level_idx.toString(16).padStart(2, '0');
28
+ str += seq_tier_0 ? 'H' : 'M';
29
+ str += '.';
30
+ // bitDepth
31
+ // The bitDepth parameter value SHALL equal the value of BitDepth variable as defined in [AV1] derived from the Sequence Header OBU
32
+ const high_bitdepth = iterator.getBits(1);
33
+ const twelve_bit = iterator.getBits(1);
34
+ const bitDepth = high_bitdepth && seqProfile === 2
35
+ ? twelve_bit
36
+ ? 12
37
+ : 10
38
+ : high_bitdepth
39
+ ? 10
40
+ : 8;
41
+ str += bitDepth.toString().padStart(2, '0');
42
+ str += '.';
43
+ // monochrome
44
+ // The monochrome parameter value, represented by a single digit decimal, SHALL equal the value of mono_chrome in the Sequence Header OBU
45
+ const mono_chrome = iterator.getBits(1);
46
+ str += mono_chrome ? '1' : '0';
47
+ str += '.';
48
+ // The chromaSubsampling parameter value, represented by a three-digit decimal,
49
+ // SHALL have its first digit equal to subsampling_x
50
+ const subsampling_x = iterator.getBits(1);
51
+ str += subsampling_x ? '1' : '0';
52
+ // and its second digit equal to subsampling_y.
53
+ const subsampling_y = iterator.getBits(1);
54
+ str += subsampling_y ? '1' : '0';
55
+ // If both subsampling_x and subsampling_y are set to 1, then the third digit SHALL be equal to chroma_sample_position, otherwise it SHALL be set to 0
56
+ const chroma_sample_position = iterator.getBits(2);
57
+ str +=
58
+ subsampling_x && subsampling_y
59
+ ? chroma_sample_position === 1
60
+ ? '1'
61
+ : '0'
62
+ : '0';
63
+ str += '.';
64
+ if (colrAtom && colrAtom.colorType === 'transfer-characteristics') {
65
+ str += colrAtom.primaries.toString().padStart(2, '0');
66
+ str += '.';
67
+ str += colrAtom.transfer.toString().padStart(2, '0');
68
+ str += '.';
69
+ str += colrAtom.matrixIndex.toString().padStart(2, '0');
70
+ str += '.';
71
+ str += colrAtom.fullRangeFlag ? '1' : '0';
72
+ }
73
+ else {
74
+ // Otherwise, the color_description_present_flag is set to 0 in the Sequence Header OBU. The colorPrimaries, transferCharacteristics, and matrixCoefficients parameter values SHOULD be set to the default values below.
75
+ // colorPrimaries 01 (ITU-R BT.709)
76
+ str += '01';
77
+ str += '.';
78
+ // transferCharacteristics 01 (ITU-R BT.709)
79
+ str += '01';
80
+ str += '.';
81
+ // matrixCoefficients 00 (ITU-R BT.709)
82
+ str += '01';
83
+ str += '.';
84
+ // videoFullRangeFlag 0 (studio swing representation)
85
+ str += '0';
86
+ }
87
+ // If the codecs parameter string ends with ".0.110.01.01.01.0" (containing all the default values below), that trailing part of the string SHOULD be omitted.
88
+ const suffix = '.0.110.01.01.01.0';
89
+ if (str.endsWith(suffix)) {
90
+ str = str.slice(0, -suffix.length);
91
+ }
92
+ iterator.destroy();
93
+ return str;
94
+ };
95
+ exports.parseAv1PrivateData = parseAv1PrivateData;
@@ -0,0 +1,4 @@
1
+ import type { VideoTrackColorParams } from '../../get-tracks';
2
+ import type { ColourSegment } from './segments/all-segments';
3
+ export declare const parseColorSegment: (colourSegment: ColourSegment) => VideoTrackColorParams;
4
+ export declare const makeMatroskaColorBytes: ({ transferCharacteristics, matrixCoefficients, primaries, fullRange, }: VideoTrackColorParams) => import("./segments/all-segments").BytesAndOffset;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeMatroskaColorBytes = exports.parseColorSegment = void 0;
4
+ const truthy_1 = require("../../truthy");
5
+ const make_header_1 = require("./make-header");
6
+ const traversal_1 = require("./traversal");
7
+ const parseColorSegment = (colourSegment) => {
8
+ const transferCharacteristics = (0, traversal_1.getTransferCharacteristicsSegment)(colourSegment);
9
+ const matrixCoefficients = (0, traversal_1.getMatrixCoefficientsSegment)(colourSegment);
10
+ const primaries = (0, traversal_1.getPrimariesSegment)(colourSegment);
11
+ const range = (0, traversal_1.getRangeSegment)(colourSegment);
12
+ return {
13
+ transferCharacteristics: transferCharacteristics
14
+ ? transferCharacteristics.value.value === 1
15
+ ? 'bt709'
16
+ : transferCharacteristics.value.value === 6
17
+ ? 'smpte170m'
18
+ : transferCharacteristics.value.value === 13
19
+ ? 'iec61966-2-1'
20
+ : null
21
+ : null,
22
+ matrixCoefficients: matrixCoefficients
23
+ ? matrixCoefficients.value.value === 1
24
+ ? 'bt709'
25
+ : matrixCoefficients.value.value === 6
26
+ ? 'smpte170m'
27
+ : matrixCoefficients.value.value === 5
28
+ ? 'bt470bg'
29
+ : null
30
+ : null,
31
+ primaries: primaries
32
+ ? primaries.value.value === 1
33
+ ? 'bt709'
34
+ : primaries.value.value === 6
35
+ ? 'smpte170m'
36
+ : primaries.value.value === 5
37
+ ? 'bt470bg'
38
+ : null
39
+ : null,
40
+ fullRange: (transferCharacteristics === null || transferCharacteristics === void 0 ? void 0 : transferCharacteristics.value.value) && (matrixCoefficients === null || matrixCoefficients === void 0 ? void 0 : matrixCoefficients.value.value)
41
+ ? null
42
+ : range
43
+ ? Boolean(range === null || range === void 0 ? void 0 : range.value.value)
44
+ : null,
45
+ };
46
+ };
47
+ exports.parseColorSegment = parseColorSegment;
48
+ const makeMatroskaColorBytes = ({ transferCharacteristics, matrixCoefficients, primaries, fullRange, }) => {
49
+ const rangeValue = transferCharacteristics && matrixCoefficients
50
+ ? 3
51
+ : fullRange === true
52
+ ? 2
53
+ : fullRange === false
54
+ ? 1
55
+ : 0;
56
+ // https://datatracker.ietf.org/doc/draft-ietf-cellar-matroska/
57
+ // 5.1.4.1.28.27
58
+ const primariesValue = primaries === 'bt709'
59
+ ? 1
60
+ : primaries === 'smpte170m'
61
+ ? 6
62
+ : primaries === 'bt470bg'
63
+ ? 5
64
+ : 2;
65
+ const transferChracteristicsValue = transferCharacteristics === 'bt709'
66
+ ? 1
67
+ : transferCharacteristics === 'smpte170m'
68
+ ? 6
69
+ : transferCharacteristics === 'iec61966-2-1'
70
+ ? 13
71
+ : 2;
72
+ if (matrixCoefficients === 'rgb') {
73
+ throw new Error('Cannot encode Matroska in RGB');
74
+ }
75
+ const matrixCoefficientsValue = matrixCoefficients === 'bt709'
76
+ ? 1
77
+ : matrixCoefficients === 'bt470bg'
78
+ ? 5
79
+ : matrixCoefficients === 'smpte170m'
80
+ ? 6
81
+ : 2;
82
+ return (0, make_header_1.makeMatroskaBytes)({
83
+ type: 'Colour',
84
+ minVintWidth: null,
85
+ value: [
86
+ transferChracteristicsValue === 2
87
+ ? null
88
+ : {
89
+ type: 'TransferCharacteristics',
90
+ value: {
91
+ value: transferChracteristicsValue,
92
+ byteLength: null,
93
+ },
94
+ minVintWidth: null,
95
+ },
96
+ matrixCoefficientsValue === 2
97
+ ? null
98
+ : {
99
+ type: 'MatrixCoefficients',
100
+ value: {
101
+ value: matrixCoefficientsValue,
102
+ byteLength: null,
103
+ },
104
+ minVintWidth: null,
105
+ },
106
+ primariesValue === 2
107
+ ? null
108
+ : {
109
+ type: 'Primaries',
110
+ value: {
111
+ value: primariesValue,
112
+ byteLength: null,
113
+ },
114
+ minVintWidth: null,
115
+ },
116
+ {
117
+ type: 'Range',
118
+ value: {
119
+ value: rangeValue,
120
+ byteLength: null,
121
+ },
122
+ minVintWidth: null,
123
+ },
124
+ ].filter(truthy_1.truthy),
125
+ });
126
+ };
127
+ exports.makeMatroskaColorBytes = makeMatroskaColorBytes;
@@ -0,0 +1,2 @@
1
+ import type { TrackEntry } from './segments/all-segments';
2
+ export declare const getAudioDescription: (track: TrackEntry) => undefined | Uint8Array;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAudioDescription = void 0;
4
+ const buffer_iterator_1 = require("../../buffer-iterator");
5
+ const traversal_1 = require("./traversal");
6
+ const getAudioDescription = (track) => {
7
+ const codec = (0, traversal_1.getCodecSegment)(track);
8
+ if (!codec || codec.value !== 'A_VORBIS') {
9
+ return undefined;
10
+ }
11
+ // how to parse vorbis private
12
+ // https://github.com/google/ExoPlayer/blob/dd430f7053a1a3958deea3ead6a0565150c06bfc/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java#L2466
13
+ const privateData = (0, traversal_1.getPrivateData)(track);
14
+ if (!privateData) {
15
+ return undefined;
16
+ }
17
+ if (privateData[0] !== 2) {
18
+ throw new Error('Expected vorbis private data version 2');
19
+ }
20
+ let offset = 1;
21
+ let vorbisInfoLength = 0;
22
+ let vorbisSkipLength = 0;
23
+ while ((privateData[offset] & 0xff) === 0xff) {
24
+ vorbisInfoLength += 0xff;
25
+ offset++;
26
+ }
27
+ vorbisInfoLength += privateData[offset++] & 0xff;
28
+ while ((privateData[offset] & 0xff) === 0xff) {
29
+ vorbisSkipLength += 0xff;
30
+ offset++;
31
+ }
32
+ vorbisSkipLength += privateData[offset++] & 0xff;
33
+ if (privateData[offset] !== 0x01) {
34
+ throw new Error('Error parsing vorbis codec private');
35
+ }
36
+ const vorbisInfo = privateData.slice(offset, offset + vorbisInfoLength);
37
+ offset += vorbisInfoLength;
38
+ if (privateData[offset] !== 0x03) {
39
+ throw new Error('Error parsing vorbis codec private');
40
+ }
41
+ const vorbisComments = privateData.slice(offset, offset + vorbisSkipLength);
42
+ offset += vorbisSkipLength;
43
+ if (privateData[offset] !== 0x05) {
44
+ throw new Error('Error parsing vorbis codec private');
45
+ }
46
+ const vorbisBooks = privateData.slice(offset);
47
+ const bufferIterator = (0, buffer_iterator_1.getArrayBufferIterator)(vorbisInfo.slice(0), vorbisInfo.length);
48
+ // type
49
+ bufferIterator.getUint8();
50
+ // vorbis
51
+ const vorbis = bufferIterator.getByteString(6);
52
+ if (vorbis !== 'vorbis') {
53
+ throw new Error('Error parsing vorbis codec private');
54
+ }
55
+ const vorbisVersion = bufferIterator.getUint32Le();
56
+ if (vorbisVersion !== 0) {
57
+ throw new Error('Error parsing vorbis codec private');
58
+ }
59
+ const vorbisDescription = new Uint8Array([
60
+ // constructing the vorbis description
61
+ // This format consists in the page_segments field
62
+ /**
63
+ * The number of segment entries to appear in the segment table.
64
+ * The maximum number of 255 segments (255 bytes each) sets the maximum possible physical page size at 65307 bytes or just under 64kB (thus we know that a header corrupted so as destroy sizing/alignment information will not cause a runaway bitstream.
65
+ * We'll read in the page according to the corrupted size information that's guaranteed to be a reasonable size regardless, notice the checksum mismatch, drop sync and then look for recapture).
66
+ */
67
+ 2,
68
+ // followed by the segment_table field
69
+ // offset of the comments table
70
+ vorbisInfo.length,
71
+ // offset of the codebooks table
72
+ vorbisComments.length,
73
+ // followed by the three Vorbis header packets,
74
+ // respectively the identification header,
75
+ ...vorbisInfo,
76
+ // the comments header,
77
+ ...vorbisComments,
78
+ // and the setup header, in this order, as described in section 4.2 of [VORBIS].
79
+ ...vorbisBooks,
80
+ ]);
81
+ return vorbisDescription;
82
+ };
83
+ exports.getAudioDescription = getAudioDescription;
@@ -0,0 +1,2 @@
1
+ export declare const measureEBMLVarInt: (value: number) => 2 | 5 | 1 | 3 | 4 | 6;
2
+ export declare const getVariableInt: (value: number, minWidth: number | null) => Uint8Array;