@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,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseVideo = void 0;
4
- const process_box_1 = require("./boxes/iso-base-media/process-box");
5
- const parse_box_1 = require("./boxes/riff/parse-box");
6
- const parse_webm_header_1 = require("./boxes/webm/parse-webm-header");
7
- const log_1 = require("./log");
8
- const parseVideo = ({ iterator, options, signal, logLevel, fields, }) => {
9
- if (iterator.bytesRemaining() === 0) {
10
- return Promise.reject(new Error('no bytes'));
11
- }
12
- if (iterator.isRiff()) {
13
- log_1.Log.verbose(logLevel, 'Detected RIFF container');
14
- return Promise.resolve((0, parse_box_1.parseRiff)({ iterator, options, fields }));
15
- }
16
- if (iterator.isIsoBaseMedia()) {
17
- log_1.Log.verbose(logLevel, 'Detected ISO Base Media container');
18
- return (0, process_box_1.parseIsoBaseMediaBoxes)({
19
- iterator,
20
- maxBytes: Infinity,
21
- allowIncompleteBoxes: true,
22
- initialBoxes: [],
23
- options,
24
- continueMdat: false,
25
- signal,
26
- logLevel,
27
- fields,
28
- });
29
- }
30
- if (iterator.isWebm()) {
31
- log_1.Log.verbose(logLevel, 'Detected Matroska container');
32
- return (0, parse_webm_header_1.parseWebm)({ counter: iterator, parserContext: options, fields });
33
- }
34
- if (iterator.isMp3()) {
35
- return Promise.reject(new Error('MP3 files are not yet supported'));
36
- }
37
- return Promise.reject(new Error('Unknown video format'));
38
- };
39
- exports.parseVideo = parseVideo;
@@ -1,10 +0,0 @@
1
- import type { ParserState } from './state/parser-state';
2
- import type { OnAudioTrack, OnVideoTrack } from './webcodec-sample-types';
3
- export type ParserContext = {
4
- onAudioTrack: OnAudioTrack | null;
5
- onVideoTrack: OnVideoTrack | null;
6
- parserState: ParserState;
7
- nullifySamples: boolean;
8
- supportsContentRange: boolean;
9
- nextTrackIndex: number;
10
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,22 +0,0 @@
1
- import type { OnTrackEntrySegment } from './boxes/webm/segments';
2
- import type { TrackInfo } from './boxes/webm/segments/track-entry';
3
- import type { AudioSample, OnAudioSample, OnVideoSample, VideoSample } from './webcodec-sample-types';
4
- export type InternalStats = {};
5
- export declare const makeParserState: ({ hasAudioCallbacks, hasVideoCallbacks, signal, }: {
6
- hasAudioCallbacks: boolean;
7
- hasVideoCallbacks: boolean;
8
- signal: AbortSignal | undefined;
9
- }) => {
10
- onTrackEntrySegment: OnTrackEntrySegment;
11
- getTrackInfoByNumber: (id: number) => TrackInfo;
12
- registerVideoSampleCallback: (id: number, callback: OnVideoSample | null) => Promise<void>;
13
- setTimestampOffset: (byteOffset: number, timestamp: number) => void;
14
- getTimestampOffsetForByteOffset: (byteOffset: number) => number | undefined;
15
- registerAudioSampleCallback: (id: number, callback: OnAudioSample | null) => Promise<void>;
16
- onAudioSample: (trackId: number, audioSample: AudioSample) => Promise<void>;
17
- onVideoSample: (trackId: number, videoSample: VideoSample) => Promise<void>;
18
- getInternalStats: () => {};
19
- getTimescale: () => number;
20
- setTimescale: (newTimescale: number) => void;
21
- };
22
- export type ParserState = ReturnType<typeof makeParserState>;
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeParserState = void 0;
4
- const traversal_1 = require("./boxes/webm/traversal");
5
- const makeParserState = ({ hasAudioCallbacks, hasVideoCallbacks, signal, }) => {
6
- const trackEntries = {};
7
- const onTrackEntrySegment = (trackEntry) => {
8
- var _a;
9
- const trackId = (0, traversal_1.getTrackId)(trackEntry);
10
- if (!trackId) {
11
- throw new Error('Expected track id');
12
- }
13
- if (trackEntries[trackId]) {
14
- return;
15
- }
16
- const codec = (0, traversal_1.getTrackCodec)(trackEntry);
17
- if (!codec) {
18
- throw new Error('Expected codec');
19
- }
20
- const trackTimescale = (0, traversal_1.getTrackTimestampScale)(trackEntry);
21
- trackEntries[trackId] = {
22
- codec: codec.value,
23
- trackTimescale: (_a = trackTimescale === null || trackTimescale === void 0 ? void 0 : trackTimescale.value) !== null && _a !== void 0 ? _a : null,
24
- };
25
- };
26
- const videoSampleCallbacks = {};
27
- const audioSampleCallbacks = {};
28
- const queuedAudioSamples = {};
29
- const queuedVideoSamples = {};
30
- const declinedTrackNumbers = [];
31
- let timescale = null;
32
- const getTimescale = () => {
33
- // https://www.matroska.org/technical/notes.html
34
- // When using the default value of TimestampScale of “1,000,000”, one Segment Tick represents one millisecond.
35
- if (timescale === null) {
36
- return 1000000;
37
- }
38
- return timescale;
39
- };
40
- const setTimescale = (newTimescale) => {
41
- timescale = newTimescale;
42
- };
43
- const timestampMap = new Map();
44
- const setTimestampOffset = (byteOffset, timestamp) => {
45
- timestampMap.set(byteOffset, timestamp);
46
- };
47
- const getTimestampOffsetForByteOffset = (byteOffset) => {
48
- const entries = Array.from(timestampMap.entries());
49
- const sortedByByteOffset = entries
50
- .sort((a, b) => {
51
- return a[0] - b[0];
52
- })
53
- .reverse();
54
- for (const [offset, timestamp] of sortedByByteOffset) {
55
- if (offset >= byteOffset) {
56
- continue;
57
- }
58
- return timestamp;
59
- }
60
- return timestampMap.get(byteOffset);
61
- };
62
- return {
63
- onTrackEntrySegment,
64
- getTrackInfoByNumber: (id) => trackEntries[id],
65
- registerVideoSampleCallback: async (id, callback) => {
66
- var _a;
67
- if (callback === null) {
68
- delete videoSampleCallbacks[id];
69
- declinedTrackNumbers.push(id);
70
- return;
71
- }
72
- videoSampleCallbacks[id] = callback;
73
- for (const queued of (_a = queuedVideoSamples[id]) !== null && _a !== void 0 ? _a : []) {
74
- await callback(queued);
75
- }
76
- queuedVideoSamples[id] = [];
77
- },
78
- setTimestampOffset,
79
- getTimestampOffsetForByteOffset,
80
- registerAudioSampleCallback: async (id, callback) => {
81
- var _a;
82
- if (callback === null) {
83
- delete audioSampleCallbacks[id];
84
- declinedTrackNumbers.push(id);
85
- return;
86
- }
87
- audioSampleCallbacks[id] = callback;
88
- for (const queued of (_a = queuedAudioSamples[id]) !== null && _a !== void 0 ? _a : []) {
89
- await callback(queued);
90
- }
91
- queuedAudioSamples[id] = [];
92
- },
93
- onAudioSample: async (trackId, audioSample) => {
94
- if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
95
- throw new Error('Aborted');
96
- }
97
- const callback = audioSampleCallbacks[trackId];
98
- if (callback) {
99
- await callback(audioSample);
100
- }
101
- else {
102
- if (declinedTrackNumbers.includes(trackId)) {
103
- return;
104
- }
105
- if (!hasAudioCallbacks) {
106
- throw new Error('No audio callbacks registered');
107
- }
108
- }
109
- },
110
- onVideoSample: async (trackId, videoSample) => {
111
- if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
112
- throw new Error('Aborted');
113
- }
114
- const callback = videoSampleCallbacks[trackId];
115
- if (callback) {
116
- await callback(videoSample);
117
- }
118
- else {
119
- if (declinedTrackNumbers.includes(trackId)) {
120
- return;
121
- }
122
- if (!hasVideoCallbacks) {
123
- throw new Error('No video callbacks registered');
124
- }
125
- }
126
- },
127
- getInternalStats: () => ({}),
128
- getTimescale,
129
- setTimescale,
130
- };
131
- };
132
- exports.makeParserState = makeParserState;
@@ -1,2 +0,0 @@
1
- import type { CreateContent } from '../writer';
2
- export declare const createContent: CreateContent;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createContent = void 0;
4
- const createContent = ({ filename, mimeType }) => {
5
- const buf = new ArrayBuffer(0, {
6
- // TODO: Educate that the buffer is limited to 2GB
7
- maxByteLength: 2000000000,
8
- });
9
- if (!buf.resize) {
10
- throw new Error('Could not create buffer writer');
11
- }
12
- const write = (newData) => {
13
- const oldLength = buf.byteLength;
14
- const newLength = oldLength + newData.byteLength;
15
- buf.resize(newLength);
16
- const newArray = new Uint8Array(buf);
17
- newArray.set(newData, oldLength);
18
- };
19
- const updateDataAt = (position, newData) => {
20
- const newArray = new Uint8Array(buf);
21
- newArray.set(newData, position);
22
- };
23
- let writPromise = Promise.resolve();
24
- let removed = false;
25
- const writer = {
26
- write: (arr) => {
27
- writPromise = writPromise.then(() => write(arr));
28
- return writPromise;
29
- },
30
- save: () => {
31
- if (removed) {
32
- return Promise.reject(new Error('Already called .remove() on the result'));
33
- }
34
- const arr = new Uint8Array(buf);
35
- return Promise.resolve(
36
- // TODO: Unhardcode MIME type and file name
37
- new File([arr.slice()], filename, { type: mimeType }));
38
- },
39
- remove() {
40
- removed = true;
41
- return Promise.resolve();
42
- },
43
- getWrittenByteCount: () => buf.byteLength,
44
- updateDataAt: (position, newData) => {
45
- writPromise = writPromise.then(() => updateDataAt(position, newData));
46
- return writPromise;
47
- },
48
- waitForFinish: async () => {
49
- await writPromise;
50
- },
51
- };
52
- return Promise.resolve(writer);
53
- };
54
- exports.createContent = createContent;
@@ -1,2 +0,0 @@
1
- import type { WriterInterface } from './writer';
2
- export declare const bufferWriter: WriterInterface;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bufferWriter = void 0;
4
- const writer_1 = require("./buffer-implementation/writer");
5
- exports.bufferWriter = {
6
- createContent: writer_1.createContent,
7
- };
@@ -1,3 +0,0 @@
1
- import type { WriterInterface } from './writer';
2
- export declare const webFsWriter: WriterInterface;
3
- export declare const canUseWebFsWriter: () => Promise<boolean>;
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.canUseWebFsWriter = exports.webFsWriter = void 0;
4
- const createContent = async ({ filename }) => {
5
- const directoryHandle = await navigator.storage.getDirectory();
6
- directoryHandle.removeEntry(filename);
7
- const fileHandle = await directoryHandle.getFileHandle(filename, {
8
- create: true,
9
- });
10
- const writable = await fileHandle.createWritable();
11
- let written = 0;
12
- let writPromise = Promise.resolve();
13
- const write = async (arr) => {
14
- await writable.write(arr);
15
- written += arr.byteLength;
16
- };
17
- const updateDataAt = async (position, data) => {
18
- await writable.seek(position);
19
- await writable.write(data);
20
- await writable.seek(written);
21
- };
22
- const remove = async () => {
23
- await directoryHandle.removeEntry(filename, {
24
- recursive: true,
25
- });
26
- };
27
- const writer = {
28
- write: (arr) => {
29
- writPromise = writPromise.then(() => write(arr));
30
- return writPromise;
31
- },
32
- save: async () => {
33
- try {
34
- await writable.close();
35
- }
36
- catch (_a) {
37
- // Ignore, could already be closed
38
- }
39
- const newHandle = await directoryHandle.getFileHandle(filename, {
40
- create: true,
41
- });
42
- const newFile = await newHandle.getFile();
43
- return newFile;
44
- },
45
- getWrittenByteCount: () => written,
46
- updateDataAt: (position, data) => {
47
- writPromise = writPromise.then(() => updateDataAt(position, data));
48
- return writPromise;
49
- },
50
- waitForFinish: async () => {
51
- await writPromise;
52
- },
53
- remove,
54
- };
55
- return writer;
56
- };
57
- exports.webFsWriter = {
58
- createContent,
59
- };
60
- const canUseWebFsWriter = async () => {
61
- if (!('storage' in navigator)) {
62
- return false;
63
- }
64
- if (!('getDirectory' in navigator.storage)) {
65
- return false;
66
- }
67
- const directoryHandle = await navigator.storage.getDirectory();
68
- const fileHandle = await directoryHandle.getFileHandle('remotion-probe-web-fs-support', {
69
- create: true,
70
- });
71
- const canUse = fileHandle.createWritable !== undefined;
72
- return canUse;
73
- };
74
- exports.canUseWebFsWriter = canUseWebFsWriter;