@remotion/media-parser 4.0.256 → 4.0.257

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/abort.d.ts +1 -0
  2. package/dist/abort.js +7 -0
  3. package/dist/containers/flac/get-channel-count.d.ts +1 -1
  4. package/dist/controller.d.ts +17 -0
  5. package/dist/controller.js +31 -0
  6. package/dist/esm/index.mjs +1 -1
  7. package/dist/parse-and-download-media.d.ts +2 -0
  8. package/dist/parse-and-download-media.js +57 -0
  9. package/dist/version.d.ts +1 -1
  10. package/dist/version.js +1 -1
  11. package/package.json +3 -3
  12. package/dist/add-new-matroska-tracks.d.ts +0 -8
  13. package/dist/add-new-matroska-tracks.js +0 -14
  14. package/dist/boxes/avc/parse-avc.d.ts +0 -18
  15. package/dist/boxes/avc/parse-avc.js +0 -96
  16. package/dist/boxes/iso-base-media/base-type.d.ts +0 -4
  17. package/dist/boxes/iso-base-media/base-type.js +0 -2
  18. package/dist/boxes/iso-base-media/esds/decoder-specific-config.d.ts +0 -14
  19. package/dist/boxes/iso-base-media/esds/decoder-specific-config.js +0 -38
  20. package/dist/boxes/iso-base-media/esds/esds-descriptors.d.ts +0 -29
  21. package/dist/boxes/iso-base-media/esds/esds-descriptors.js +0 -82
  22. package/dist/boxes/iso-base-media/esds/esds.d.ts +0 -15
  23. package/dist/boxes/iso-base-media/esds/esds.js +0 -27
  24. package/dist/boxes/iso-base-media/ftyp.d.ts +0 -13
  25. package/dist/boxes/iso-base-media/ftyp.js +0 -22
  26. package/dist/boxes/iso-base-media/get-actual-number-of-channels.d.ts +0 -13
  27. package/dist/boxes/iso-base-media/get-actual-number-of-channels.js +0 -22
  28. package/dist/boxes/iso-base-media/get-sample-positions-from-track.d.ts +0 -4
  29. package/dist/boxes/iso-base-media/get-sample-positions-from-track.js +0 -54
  30. package/dist/boxes/iso-base-media/make-track.d.ts +0 -3
  31. package/dist/boxes/iso-base-media/make-track.js +0 -107
  32. package/dist/boxes/iso-base-media/mdat/mdat.d.ts +0 -25
  33. package/dist/boxes/iso-base-media/mdat/mdat.js +0 -122
  34. package/dist/boxes/iso-base-media/mdhd.d.ts +0 -16
  35. package/dist/boxes/iso-base-media/mdhd.js +0 -32
  36. package/dist/boxes/iso-base-media/meta/hdlr.d.ts +0 -12
  37. package/dist/boxes/iso-base-media/meta/hdlr.js +0 -33
  38. package/dist/boxes/iso-base-media/meta/ilst.d.ts +0 -28
  39. package/dist/boxes/iso-base-media/meta/ilst.js +0 -86
  40. package/dist/boxes/iso-base-media/moov/moov.d.ts +0 -19
  41. package/dist/boxes/iso-base-media/moov/moov.js +0 -27
  42. package/dist/boxes/iso-base-media/mvhd.d.ts +0 -30
  43. package/dist/boxes/iso-base-media/mvhd.js +0 -65
  44. package/dist/boxes/iso-base-media/parse-icc-profile.d.ts +0 -36
  45. package/dist/boxes/iso-base-media/parse-icc-profile.js +0 -115
  46. package/dist/boxes/iso-base-media/process-box.d.ts +0 -34
  47. package/dist/boxes/iso-base-media/process-box.js +0 -710
  48. package/dist/boxes/iso-base-media/stsd/av1c.d.ts +0 -9
  49. package/dist/boxes/iso-base-media/stsd/av1c.js +0 -10
  50. package/dist/boxes/iso-base-media/stsd/avcc.d.ts +0 -10
  51. package/dist/boxes/iso-base-media/stsd/avcc.js +0 -21
  52. package/dist/boxes/iso-base-media/stsd/colr.d.ts +0 -21
  53. package/dist/boxes/iso-base-media/stsd/colr.js +0 -47
  54. package/dist/boxes/iso-base-media/stsd/ctts.d.ts +0 -19
  55. package/dist/boxes/iso-base-media/stsd/ctts.js +0 -34
  56. package/dist/boxes/iso-base-media/stsd/hvcc.d.ts +0 -11
  57. package/dist/boxes/iso-base-media/stsd/hvcc.js +0 -17
  58. package/dist/boxes/iso-base-media/stsd/keys.d.ts +0 -19
  59. package/dist/boxes/iso-base-media/stsd/keys.js +0 -35
  60. package/dist/boxes/iso-base-media/stsd/mebx.d.ts +0 -19
  61. package/dist/boxes/iso-base-media/stsd/mebx.js +0 -32
  62. package/dist/boxes/iso-base-media/stsd/pasp.d.ts +0 -12
  63. package/dist/boxes/iso-base-media/stsd/pasp.js +0 -17
  64. package/dist/boxes/iso-base-media/stsd/samples.d.ts +0 -68
  65. package/dist/boxes/iso-base-media/stsd/samples.js +0 -320
  66. package/dist/boxes/iso-base-media/stsd/stco.d.ts +0 -15
  67. package/dist/boxes/iso-base-media/stsd/stco.js +0 -30
  68. package/dist/boxes/iso-base-media/stsd/stsc.d.ts +0 -19
  69. package/dist/boxes/iso-base-media/stsd/stsc.js +0 -34
  70. package/dist/boxes/iso-base-media/stsd/stsd.d.ts +0 -18
  71. package/dist/boxes/iso-base-media/stsd/stsd.js +0 -33
  72. package/dist/boxes/iso-base-media/stsd/stss.d.ts +0 -13
  73. package/dist/boxes/iso-base-media/stsd/stss.js +0 -28
  74. package/dist/boxes/iso-base-media/stsd/stsz.d.ts +0 -21
  75. package/dist/boxes/iso-base-media/stsd/stsz.js +0 -44
  76. package/dist/boxes/iso-base-media/stsd/stts.d.ts +0 -15
  77. package/dist/boxes/iso-base-media/stsd/stts.js +0 -35
  78. package/dist/boxes/iso-base-media/tfdt.d.ts +0 -12
  79. package/dist/boxes/iso-base-media/tfdt.js +0 -20
  80. package/dist/boxes/iso-base-media/tfhd.d.ts +0 -16
  81. package/dist/boxes/iso-base-media/tfhd.js +0 -41
  82. package/dist/boxes/iso-base-media/tkhd.d.ts +0 -25
  83. package/dist/boxes/iso-base-media/tkhd.js +0 -87
  84. package/dist/boxes/iso-base-media/to-date.d.ts +0 -2
  85. package/dist/boxes/iso-base-media/to-date.js +0 -19
  86. package/dist/boxes/iso-base-media/trak/trak.d.ts +0 -19
  87. package/dist/boxes/iso-base-media/trak/trak.js +0 -27
  88. package/dist/boxes/iso-base-media/traversal.d.ts +0 -39
  89. package/dist/boxes/iso-base-media/traversal.js +0 -201
  90. package/dist/boxes/iso-base-media/trun.d.ts +0 -21
  91. package/dist/boxes/iso-base-media/trun.js +0 -44
  92. package/dist/boxes/iso-base-media/void-box.d.ts +0 -4
  93. package/dist/boxes/iso-base-media/void-box.js +0 -2
  94. package/dist/boxes/riff/expect-riff-box.d.ts +0 -17
  95. package/dist/boxes/riff/expect-riff-box.js +0 -49
  96. package/dist/boxes/riff/get-tracks-from-avi.d.ts +0 -22
  97. package/dist/boxes/riff/get-tracks-from-avi.js +0 -114
  98. package/dist/boxes/riff/is-movi.d.ts +0 -2
  99. package/dist/boxes/riff/is-movi.js +0 -12
  100. package/dist/boxes/riff/parse-avih.d.ts +0 -6
  101. package/dist/boxes/riff/parse-avih.js +0 -32
  102. package/dist/boxes/riff/parse-box.d.ts +0 -15
  103. package/dist/boxes/riff/parse-box.js +0 -146
  104. package/dist/boxes/riff/parse-fmt-box.d.ts +0 -7
  105. package/dist/boxes/riff/parse-fmt-box.js +0 -33
  106. package/dist/boxes/riff/parse-isft.d.ts +0 -6
  107. package/dist/boxes/riff/parse-isft.js +0 -17
  108. package/dist/boxes/riff/parse-list-box.d.ts +0 -8
  109. package/dist/boxes/riff/parse-list-box.js +0 -30
  110. package/dist/boxes/riff/parse-movi.d.ts +0 -17
  111. package/dist/boxes/riff/parse-movi.js +0 -133
  112. package/dist/boxes/riff/parse-riff-box.d.ts +0 -10
  113. package/dist/boxes/riff/parse-riff-box.js +0 -37
  114. package/dist/boxes/riff/parse-strf.d.ts +0 -7
  115. package/dist/boxes/riff/parse-strf.js +0 -67
  116. package/dist/boxes/riff/parse-strh.d.ts +0 -6
  117. package/dist/boxes/riff/parse-strh.js +0 -46
  118. package/dist/boxes/riff/riff-box.d.ts +0 -85
  119. package/dist/boxes/riff/riff-box.js +0 -2
  120. package/dist/boxes/riff/timescale.d.ts +0 -1
  121. package/dist/boxes/riff/timescale.js +0 -4
  122. package/dist/boxes/riff/traversal.d.ts +0 -8
  123. package/dist/boxes/riff/traversal.js +0 -36
  124. package/dist/boxes/webm/allowed-partial-segments.d.ts +0 -1
  125. package/dist/boxes/webm/allowed-partial-segments.js +0 -4
  126. package/dist/boxes/webm/av1-codec-private.d.ts +0 -2
  127. package/dist/boxes/webm/av1-codec-private.js +0 -95
  128. package/dist/boxes/webm/color.d.ts +0 -4
  129. package/dist/boxes/webm/color.js +0 -127
  130. package/dist/boxes/webm/description.d.ts +0 -2
  131. package/dist/boxes/webm/description.js +0 -83
  132. package/dist/boxes/webm/ebml.d.ts +0 -2
  133. package/dist/boxes/webm/ebml.js +0 -94
  134. package/dist/boxes/webm/get-ready-tracks.d.ts +0 -3
  135. package/dist/boxes/webm/get-ready-tracks.js +0 -29
  136. package/dist/boxes/webm/get-sample-from-block.d.ts +0 -17
  137. package/dist/boxes/webm/get-sample-from-block.js +0 -81
  138. package/dist/boxes/webm/make-header.d.ts +0 -8
  139. package/dist/boxes/webm/make-header.js +0 -187
  140. package/dist/boxes/webm/make-track.d.ts +0 -9
  141. package/dist/boxes/webm/make-track.js +0 -261
  142. package/dist/boxes/webm/parse-ebml.d.ts +0 -12
  143. package/dist/boxes/webm/parse-ebml.js +0 -185
  144. package/dist/boxes/webm/parse-webm-header.d.ts +0 -9
  145. package/dist/boxes/webm/parse-webm-header.js +0 -36
  146. package/dist/boxes/webm/segments/all-segments.d.ts +0 -976
  147. package/dist/boxes/webm/segments/all-segments.js +0 -724
  148. package/dist/boxes/webm/segments/block-simple-block-flags.d.ts +0 -9
  149. package/dist/boxes/webm/segments/block-simple-block-flags.js +0 -38
  150. package/dist/boxes/webm/segments/parse-children.d.ts +0 -23
  151. package/dist/boxes/webm/segments/parse-children.js +0 -145
  152. package/dist/boxes/webm/segments/track-entry.d.ts +0 -9
  153. package/dist/boxes/webm/segments/track-entry.js +0 -24
  154. package/dist/boxes/webm/segments.d.ts +0 -15
  155. package/dist/boxes/webm/segments.js +0 -161
  156. package/dist/boxes/webm/traversal.d.ts +0 -33
  157. package/dist/boxes/webm/traversal.js +0 -265
  158. package/dist/create/cluster-segment.d.ts +0 -10
  159. package/dist/create/cluster-segment.js +0 -39
  160. package/dist/create/cluster.d.ts +0 -19
  161. package/dist/create/cluster.js +0 -55
  162. package/dist/create/create-media.d.ts +0 -15
  163. package/dist/create/create-media.js +0 -165
  164. package/dist/create/event-emitter.d.ts +0 -31
  165. package/dist/create/event-emitter.js +0 -25
  166. package/dist/create/iso-base-media/codec-specific/avc1.d.ts +0 -2
  167. package/dist/create/iso-base-media/codec-specific/avc1.js +0 -48
  168. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +0 -22
  169. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +0 -36
  170. package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +0 -2
  171. package/dist/create/iso-base-media/codec-specific/mp4a.js +0 -74
  172. package/dist/create/iso-base-media/create-colr.d.ts +0 -6
  173. package/dist/create/iso-base-media/create-colr.js +0 -26
  174. package/dist/create/iso-base-media/create-ftyp.d.ts +0 -10
  175. package/dist/create/iso-base-media/create-ftyp.js +0 -22
  176. package/dist/create/iso-base-media/create-ilst.d.ts +0 -1
  177. package/dist/create/iso-base-media/create-ilst.js +0 -14
  178. package/dist/create/iso-base-media/create-iso-base-media.d.ts +0 -2
  179. package/dist/create/iso-base-media/create-iso-base-media.js +0 -165
  180. package/dist/create/iso-base-media/create-mdia.d.ts +0 -5
  181. package/dist/create/iso-base-media/create-mdia.js +0 -18
  182. package/dist/create/iso-base-media/create-moov.d.ts +0 -5
  183. package/dist/create/iso-base-media/create-moov.js +0 -18
  184. package/dist/create/iso-base-media/create-mvhd.d.ts +0 -10
  185. package/dist/create/iso-base-media/create-mvhd.js +0 -48
  186. package/dist/create/iso-base-media/create-trak.d.ts +0 -4
  187. package/dist/create/iso-base-media/create-trak.js +0 -17
  188. package/dist/create/iso-base-media/create-udta.d.ts +0 -1
  189. package/dist/create/iso-base-media/create-udta.js +0 -14
  190. package/dist/create/iso-base-media/create-url.d.ts +0 -1
  191. package/dist/create/iso-base-media/create-url.js +0 -16
  192. package/dist/create/iso-base-media/example-stts.d.ts +0 -3
  193. package/dist/create/iso-base-media/example-stts.js +0 -2797
  194. package/dist/create/iso-base-media/ilst/create-cmt.d.ts +0 -1
  195. package/dist/create/iso-base-media/ilst/create-cmt.js +0 -26
  196. package/dist/create/iso-base-media/ilst/create-too.d.ts +0 -1
  197. package/dist/create/iso-base-media/ilst/create-too.js +0 -27
  198. package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +0 -6
  199. package/dist/create/iso-base-media/mdia/create-mdhd.js +0 -33
  200. package/dist/create/iso-base-media/mp4-header.d.ts +0 -6
  201. package/dist/create/iso-base-media/mp4-header.js +0 -48
  202. package/dist/create/iso-base-media/primitives.d.ts +0 -15
  203. package/dist/create/iso-base-media/primitives.js +0 -133
  204. package/dist/create/iso-base-media/serialize-track.d.ts +0 -9
  205. package/dist/create/iso-base-media/serialize-track.js +0 -63
  206. package/dist/create/iso-base-media/trak/create-tkhd.d.ts +0 -27
  207. package/dist/create/iso-base-media/trak/create-tkhd.js +0 -97
  208. package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +0 -4
  209. package/dist/create/iso-base-media/trak/mdia/create-minf.js +0 -19
  210. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +0 -1
  211. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +0 -22
  212. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +0 -1
  213. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +0 -20
  214. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +0 -6
  215. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +0 -35
  216. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +0 -1
  217. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +0 -20
  218. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +0 -2
  219. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +0 -45
  220. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +0 -2
  221. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +0 -28
  222. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +0 -2
  223. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +0 -56
  224. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +0 -2
  225. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +0 -23
  226. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +0 -2
  227. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +0 -25
  228. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +0 -2
  229. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +0 -48
  230. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +0 -1
  231. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +0 -20
  232. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +0 -1
  233. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +0 -16
  234. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +0 -1
  235. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +0 -13
  236. package/dist/create/iso-base-media/udta/create-meta.d.ts +0 -4
  237. package/dist/create/iso-base-media/udta/create-meta.js +0 -20
  238. package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +0 -1
  239. package/dist/create/iso-base-media/udta/meta/create-hdlr.js +0 -32
  240. package/dist/create/make-duration-with-padding.d.ts +0 -1
  241. package/dist/create/make-duration-with-padding.js +0 -15
  242. package/dist/create/make-track-info.d.ts +0 -20
  243. package/dist/create/make-track-info.js +0 -2
  244. package/dist/create/matroska/cluster-segment.d.ts +0 -10
  245. package/dist/create/matroska/cluster-segment.js +0 -39
  246. package/dist/create/matroska/cluster.d.ts +0 -25
  247. package/dist/create/matroska/cluster.js +0 -77
  248. package/dist/create/matroska/create-matroska-media.d.ts +0 -2
  249. package/dist/create/matroska/create-matroska-media.js +0 -187
  250. package/dist/create/matroska/make-duration-with-padding.d.ts +0 -1
  251. package/dist/create/matroska/make-duration-with-padding.js +0 -15
  252. package/dist/create/matroska/matroska-cues.d.ts +0 -6
  253. package/dist/create/matroska/matroska-cues.js +0 -49
  254. package/dist/create/matroska/matroska-header.d.ts +0 -1
  255. package/dist/create/matroska/matroska-header.js +0 -66
  256. package/dist/create/matroska/matroska-info.d.ts +0 -3
  257. package/dist/create/matroska/matroska-info.js +0 -33
  258. package/dist/create/matroska/matroska-seek.d.ts +0 -6
  259. package/dist/create/matroska/matroska-seek.js +0 -32
  260. package/dist/create/matroska/matroska-segment.d.ts +0 -3
  261. package/dist/create/matroska/matroska-segment.js +0 -13
  262. package/dist/create/matroska/matroska-trackentry.d.ts +0 -10
  263. package/dist/create/matroska/matroska-trackentry.js +0 -249
  264. package/dist/create/matroska-cues.d.ts +0 -6
  265. package/dist/create/matroska-cues.js +0 -49
  266. package/dist/create/matroska-header.d.ts +0 -1
  267. package/dist/create/matroska-header.js +0 -66
  268. package/dist/create/matroska-info.d.ts +0 -3
  269. package/dist/create/matroska-info.js +0 -33
  270. package/dist/create/matroska-seek.d.ts +0 -6
  271. package/dist/create/matroska-seek.js +0 -32
  272. package/dist/create/matroska-segment.d.ts +0 -3
  273. package/dist/create/matroska-segment.js +0 -13
  274. package/dist/create/matroska-trackentry.d.ts +0 -27
  275. package/dist/create/matroska-trackentry.js +0 -243
  276. package/dist/create/media-fn.d.ts +0 -33
  277. package/dist/create/media-fn.js +0 -2
  278. package/dist/create/progress-tracker.d.ts +0 -7
  279. package/dist/create/progress-tracker.js +0 -43
  280. package/dist/create/timescale.d.ts +0 -1
  281. package/dist/create/timescale.js +0 -4
  282. package/dist/create/wav/create-wav.d.ts +0 -2
  283. package/dist/create/wav/create-wav.js +0 -110
  284. package/dist/create/with-resolvers.d.ts +0 -10
  285. package/dist/create/with-resolvers.js +0 -28
  286. package/dist/esm/buffer.mjs +0 -56
  287. package/dist/esm/web-fs.mjs +0 -73
  288. package/dist/parse-video.d.ts +0 -25
  289. package/dist/parse-video.js +0 -39
  290. package/dist/parser-context.d.ts +0 -10
  291. package/dist/parser-context.js +0 -2
  292. package/dist/parser-state.d.ts +0 -22
  293. package/dist/parser-state.js +0 -132
  294. package/dist/writers/buffer-implementation/writer.d.ts +0 -2
  295. package/dist/writers/buffer-implementation/writer.js +0 -54
  296. package/dist/writers/buffer.d.ts +0 -2
  297. package/dist/writers/buffer.js +0 -7
  298. package/dist/writers/web-fs.d.ts +0 -3
  299. package/dist/writers/web-fs.js +0 -74
@@ -1,9 +0,0 @@
1
- import type { BufferIterator } from '../../../buffer-iterator';
2
- import { matroskaElements } from './all-segments';
3
- type BlockFlags = {
4
- invisible: boolean;
5
- lacing: number;
6
- keyframe: boolean | null;
7
- };
8
- export declare const parseBlockFlags: (iterator: BufferIterator, type: (typeof matroskaElements)["Block"] | (typeof matroskaElements)["SimpleBlock"]) => BlockFlags;
9
- export {};
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseBlockFlags = void 0;
4
- const all_segments_1 = require("./all-segments");
5
- const parseBlockFlags = (iterator, type) => {
6
- if (type === all_segments_1.matroskaElements.Block) {
7
- iterator.startReadingBits();
8
- // Reserved
9
- iterator.getBits(4);
10
- const invisible = Boolean(iterator.getBits(1));
11
- const lacing = iterator.getBits(2);
12
- // unused
13
- iterator.getBits(1);
14
- iterator.stopReadingBits();
15
- return {
16
- invisible,
17
- lacing,
18
- keyframe: null,
19
- };
20
- }
21
- if (type === all_segments_1.matroskaElements.SimpleBlock) {
22
- iterator.startReadingBits();
23
- const keyframe = Boolean(iterator.getBits(1));
24
- // Reserved
25
- iterator.getBits(3);
26
- const invisible = Boolean(iterator.getBits(1));
27
- const lacing = iterator.getBits(2);
28
- iterator.getBits(1);
29
- iterator.stopReadingBits();
30
- return {
31
- invisible,
32
- lacing,
33
- keyframe,
34
- };
35
- }
36
- throw new Error('Unexpected type');
37
- };
38
- exports.parseBlockFlags = parseBlockFlags;
@@ -1,23 +0,0 @@
1
- import type { BufferIterator } from '../../../buffer-iterator';
2
- import type { Options, ParseMediaFields } from '../../../options';
3
- import type { ExpectSegmentParseResult, MatroskaParseResult, MatroskaStructure } from '../../../parse-result';
4
- import type { ParserContext } from '../../../parser-context';
5
- import type { MatroskaSegment } from '../segments';
6
- import type { PossibleEbml } from './all-segments';
7
- export declare const expectAndProcessSegment: ({ iterator, parserContext, offset, children, fields, topLevelStructure, }: {
8
- iterator: BufferIterator;
9
- parserContext: ParserContext;
10
- offset: number;
11
- children: PossibleEbml[];
12
- fields: Options<ParseMediaFields>;
13
- topLevelStructure: MatroskaStructure;
14
- }) => Promise<ExpectSegmentParseResult>;
15
- export declare const expectChildren: ({ iterator, length, children, parserContext, startOffset, fields, topLevelStructure, }: {
16
- iterator: BufferIterator;
17
- length: number;
18
- children: MatroskaSegment[];
19
- parserContext: ParserContext;
20
- startOffset: number;
21
- fields: Options<ParseMediaFields>;
22
- topLevelStructure: MatroskaStructure;
23
- }) => Promise<MatroskaParseResult>;
@@ -1,145 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.expectChildren = exports.expectAndProcessSegment = void 0;
4
- const has_all_info_1 = require("../../../has-all-info");
5
- const segments_1 = require("../segments");
6
- const processParseResult = ({ parseResult, children, state, fields, topLevelStructure, }) => {
7
- if (parseResult.segment && !children.includes(parseResult.segment)) {
8
- children.push(parseResult.segment);
9
- if ((0, has_all_info_1.hasAllInfo)({ fields, state, structure: topLevelStructure })) {
10
- return {
11
- status: 'done',
12
- segment: parseResult.segment,
13
- };
14
- }
15
- if (parseResult.segment.type === 'Tracks') {
16
- state.tracks.setIsDone();
17
- }
18
- }
19
- if (parseResult.status === 'incomplete') {
20
- // No need to decrement because expectSegment already does it
21
- return {
22
- status: 'incomplete',
23
- segment: parseResult.segment,
24
- continueParsing: async () => {
25
- const newParseResult = await parseResult.continueParsing();
26
- return processParseResult({
27
- children,
28
- parseResult: newParseResult,
29
- state,
30
- fields,
31
- topLevelStructure,
32
- });
33
- },
34
- };
35
- }
36
- return {
37
- status: 'done',
38
- segment: parseResult.segment,
39
- };
40
- };
41
- const expectAndProcessSegment = async ({ iterator, parserContext, offset, children, fields, topLevelStructure, }) => {
42
- const segment = await (0, segments_1.expectSegment)({
43
- iterator,
44
- parserContext,
45
- offset,
46
- children,
47
- fields,
48
- topLevelStructure,
49
- });
50
- return processParseResult({
51
- children,
52
- parseResult: segment,
53
- state: parserContext.parserState,
54
- fields,
55
- topLevelStructure,
56
- });
57
- };
58
- exports.expectAndProcessSegment = expectAndProcessSegment;
59
- const continueAfterSegmentResult = async ({ result, length, children, parserContext, iterator, startOffset, fields, topLevelStructure, }) => {
60
- if (result.status === 'done') {
61
- throw new Error('Should not continue after done');
62
- }
63
- const segmentResult = await result.continueParsing();
64
- if (segmentResult.status === 'done') {
65
- return {
66
- status: 'incomplete',
67
- continueParsing: () => {
68
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
69
- return (0, exports.expectChildren)({
70
- children,
71
- iterator,
72
- length,
73
- parserContext,
74
- startOffset,
75
- fields,
76
- topLevelStructure,
77
- });
78
- },
79
- skipTo: null,
80
- };
81
- }
82
- return {
83
- status: 'incomplete',
84
- continueParsing: () => {
85
- return continueAfterSegmentResult({
86
- result: segmentResult,
87
- children,
88
- iterator,
89
- length,
90
- parserContext,
91
- startOffset,
92
- fields,
93
- topLevelStructure,
94
- });
95
- },
96
- skipTo: null,
97
- };
98
- };
99
- const expectChildren = async ({ iterator, length, children, parserContext, startOffset, fields, topLevelStructure, }) => {
100
- while (iterator.counter.getOffset() < startOffset + length) {
101
- if (iterator.bytesRemaining() === 0) {
102
- break;
103
- }
104
- const currentOffset = iterator.counter.getOffset();
105
- const child = await (0, exports.expectAndProcessSegment)({
106
- iterator,
107
- parserContext,
108
- offset: currentOffset,
109
- children,
110
- fields,
111
- topLevelStructure,
112
- });
113
- if ((0, has_all_info_1.hasAllInfo)({
114
- fields,
115
- state: parserContext.parserState,
116
- structure: topLevelStructure,
117
- })) {
118
- return {
119
- status: 'done',
120
- };
121
- }
122
- if (child.status === 'incomplete') {
123
- return {
124
- status: 'incomplete',
125
- continueParsing: () => {
126
- return continueAfterSegmentResult({
127
- result: child,
128
- children,
129
- iterator,
130
- length: length - (currentOffset - startOffset),
131
- parserContext,
132
- startOffset: currentOffset,
133
- fields,
134
- topLevelStructure,
135
- });
136
- },
137
- skipTo: null,
138
- };
139
- }
140
- }
141
- return {
142
- status: 'done',
143
- };
144
- };
145
- exports.expectChildren = expectChildren;
@@ -1,9 +0,0 @@
1
- import type { TrackEntry } from './all-segments';
2
- export type TrackInfo = {
3
- codec: string;
4
- trackTimescale: number | null;
5
- };
6
- type TrackType = 'video' | 'audio' | 'complex' | 'subtitle' | 'button' | 'control' | 'metadata';
7
- export declare const trackTypeToString: (trackType: number) => TrackType;
8
- export type GetTracks = () => TrackEntry[];
9
- export {};
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.trackTypeToString = void 0;
4
- const trackTypeToString = (trackType) => {
5
- switch (trackType) {
6
- case 1:
7
- return 'video';
8
- case 2:
9
- return 'audio';
10
- case 3:
11
- return 'complex';
12
- case 4:
13
- return 'subtitle';
14
- case 5:
15
- return 'button';
16
- case 6:
17
- return 'control';
18
- case 7:
19
- return 'metadata';
20
- default:
21
- throw new Error(`Unknown track type: ${trackType}`);
22
- }
23
- };
24
- exports.trackTypeToString = trackTypeToString;
@@ -1,15 +0,0 @@
1
- import type { BufferIterator } from '../../buffer-iterator';
2
- import type { Options, ParseMediaFields } from '../../options';
3
- import type { ExpectSegmentParseResult, MatroskaStructure } from '../../parse-result';
4
- import type { ParserContext } from '../../parser-context';
5
- import { type PossibleEbml, type TrackEntry } from './segments/all-segments';
6
- export type MatroskaSegment = PossibleEbml;
7
- export type OnTrackEntrySegment = (trackEntry: TrackEntry) => void;
8
- export declare const expectSegment: ({ iterator, parserContext, offset, children, fields, topLevelStructure, }: {
9
- iterator: BufferIterator;
10
- parserContext: ParserContext;
11
- offset: number;
12
- children: PossibleEbml[];
13
- fields: Options<ParseMediaFields>;
14
- topLevelStructure: MatroskaStructure;
15
- }) => Promise<ExpectSegmentParseResult>;
@@ -1,161 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.expectSegment = void 0;
4
- const parse_ebml_1 = require("./parse-ebml");
5
- const parse_children_1 = require("./segments/parse-children");
6
- const continueAfterMatroskaParseResult = async ({ result, iterator, parserContext, segment, }) => {
7
- if (result.status === 'done') {
8
- throw new Error('Should not continue after done');
9
- }
10
- const proceeded = await result.continueParsing();
11
- if (proceeded.status === 'done') {
12
- return {
13
- status: 'done',
14
- segment,
15
- };
16
- }
17
- return {
18
- continueParsing() {
19
- return continueAfterMatroskaParseResult({
20
- result: proceeded,
21
- iterator,
22
- parserContext,
23
- segment,
24
- });
25
- },
26
- segment: null,
27
- status: 'incomplete',
28
- };
29
- };
30
- const expectSegment = async ({ iterator, parserContext, offset, children, fields, topLevelStructure, }) => {
31
- iterator.counter.decrement(iterator.counter.getOffset() - offset);
32
- if (iterator.bytesRemaining() === 0) {
33
- return {
34
- status: 'incomplete',
35
- continueParsing: () => {
36
- return (0, parse_children_1.expectAndProcessSegment)({
37
- iterator,
38
- parserContext,
39
- offset,
40
- children,
41
- fields,
42
- topLevelStructure,
43
- });
44
- },
45
- segment: null,
46
- };
47
- }
48
- const segmentId = iterator.getMatroskaSegmentId();
49
- if (segmentId === null) {
50
- iterator.counter.decrement(iterator.counter.getOffset() - offset);
51
- return {
52
- status: 'incomplete',
53
- continueParsing: () => {
54
- return (0, parse_children_1.expectAndProcessSegment)({
55
- iterator,
56
- parserContext,
57
- offset,
58
- children,
59
- fields,
60
- topLevelStructure,
61
- });
62
- },
63
- segment: null,
64
- };
65
- }
66
- const offsetBeforeVInt = iterator.counter.getOffset();
67
- const length = iterator.getVint();
68
- const offsetAfterVInt = iterator.counter.getOffset();
69
- if (length === null) {
70
- iterator.counter.decrement(iterator.counter.getOffset() - offset);
71
- return {
72
- status: 'incomplete',
73
- continueParsing: () => {
74
- return (0, exports.expectSegment)({
75
- iterator,
76
- parserContext,
77
- offset,
78
- children,
79
- fields,
80
- topLevelStructure,
81
- });
82
- },
83
- segment: null,
84
- };
85
- }
86
- const bytesRemainingNow = iterator.byteLength() - iterator.counter.getOffset();
87
- if (segmentId === '0x18538067' || segmentId === '0x1f43b675') {
88
- const newSegment = {
89
- type: segmentId === '0x18538067' ? 'Segment' : 'Cluster',
90
- minVintWidth: offsetAfterVInt - offsetBeforeVInt,
91
- value: [],
92
- };
93
- const main = await (0, parse_children_1.expectChildren)({
94
- iterator,
95
- length,
96
- children: newSegment.value,
97
- parserContext,
98
- startOffset: iterator.counter.getOffset(),
99
- fields,
100
- topLevelStructure,
101
- });
102
- if (main.status === 'incomplete') {
103
- return {
104
- status: 'incomplete',
105
- continueParsing: () => {
106
- return continueAfterMatroskaParseResult({
107
- iterator,
108
- parserContext,
109
- result: main,
110
- segment: newSegment,
111
- });
112
- },
113
- segment: newSegment,
114
- };
115
- }
116
- return {
117
- status: 'done',
118
- segment: newSegment,
119
- };
120
- }
121
- if (bytesRemainingNow < length) {
122
- const bytesRead = iterator.counter.getOffset() - offset;
123
- iterator.counter.decrement(bytesRead);
124
- return {
125
- status: 'incomplete',
126
- segment: null,
127
- continueParsing: () => {
128
- return (0, exports.expectSegment)({
129
- iterator,
130
- parserContext,
131
- offset,
132
- children,
133
- fields,
134
- topLevelStructure,
135
- });
136
- },
137
- };
138
- }
139
- const segment = await parseSegment({
140
- segmentId,
141
- iterator,
142
- length,
143
- parserContext,
144
- headerReadSoFar: iterator.counter.getOffset() - offset,
145
- });
146
- return {
147
- status: 'done',
148
- segment,
149
- };
150
- };
151
- exports.expectSegment = expectSegment;
152
- const parseSegment = async ({ segmentId, iterator, length, parserContext, headerReadSoFar, }) => {
153
- if (length < 0) {
154
- throw new Error(`Expected length of ${segmentId} to be greater or equal 0`);
155
- }
156
- iterator.counter.decrement(headerReadSoFar);
157
- const offset = iterator.counter.getOffset();
158
- const ebml = await (0, parse_ebml_1.parseEbml)(iterator, parserContext);
159
- const remapped = await (0, parse_ebml_1.postprocessEbml)({ offset, ebml, parserContext });
160
- return remapped;
161
- };
@@ -1,33 +0,0 @@
1
- import type { MatroskaSegment } from './segments';
2
- import type { AudioSegment, ClusterSegment, CodecIdSegment, ColourSegment, DisplayHeightSegment, DisplayWidthSegment, HeightSegment, MainSegment, MatrixCoefficientsSegment, PrimariesSegment, RangeSegment, TimestampScaleSegment, TrackEntry, TrackTypeSegment, TransferCharacteristicsSegment, VideoSegment, WidthSegment } from './segments/all-segments';
3
- export declare const getMainSegment: (segments: MatroskaSegment[]) => MainSegment | null;
4
- export declare const getTrackNumber: (track: TrackEntry) => import("./segments/all-segments").UintWithSize | null;
5
- export declare const getTrackCodec: (track: TrackEntry) => CodecIdSegment | null;
6
- export declare const getTrackTimestampScale: (track: TrackEntry) => import("./segments/all-segments").FloatWithSize | null;
7
- export declare const getTrackByNumber: (tracks: TrackEntry[], id: number) => TrackEntry | undefined;
8
- export declare const getTrackId: (track: TrackEntry) => number;
9
- export declare const getCodecSegment: (track: TrackEntry) => CodecIdSegment | null;
10
- export declare const getColourSegment: (track: TrackEntry) => ColourSegment | null;
11
- export declare const getTransferCharacteristicsSegment: (color: ColourSegment) => TransferCharacteristicsSegment | null;
12
- export declare const getMatrixCoefficientsSegment: (color: ColourSegment) => MatrixCoefficientsSegment | null;
13
- export declare const getPrimariesSegment: (color: ColourSegment) => PrimariesSegment | null;
14
- export declare const getRangeSegment: (color: ColourSegment) => RangeSegment | null;
15
- export declare const getDisplayHeightSegment: (track: TrackEntry) => DisplayHeightSegment | null;
16
- export declare const getTrackTypeSegment: (track: TrackEntry) => TrackTypeSegment | null;
17
- export declare const getWidthSegment: (track: TrackEntry) => WidthSegment | null;
18
- export declare const getHeightSegment: (track: TrackEntry) => HeightSegment | null;
19
- export declare const getDisplayWidthSegment: (track: TrackEntry) => DisplayWidthSegment | null;
20
- export declare const getTracksSegment: (segment: MainSegment) => {
21
- type: "Tracks";
22
- value: import("./segments/all-segments").PossibleEbml[];
23
- minVintWidth: number | null;
24
- } | null;
25
- export declare const getTrackWithUid: (segment: MainSegment, trackUid: string) => number | null;
26
- export declare const getTimescaleSegment: (segment: MainSegment) => TimestampScaleSegment | null;
27
- export declare const getVideoSegment: (track: TrackEntry) => VideoSegment | null;
28
- export declare const getAudioSegment: (track: TrackEntry) => AudioSegment | null;
29
- export declare const getSampleRate: (track: TrackEntry) => number | null;
30
- export declare const getNumberOfChannels: (track: TrackEntry) => number;
31
- export declare const getBitDepth: (track: TrackEntry) => number | null;
32
- export declare const getPrivateData: (track: TrackEntry) => Uint8Array | null;
33
- export declare const getClusterSegment: (segment: MainSegment) => ClusterSegment | null;