@remotion/media-parser 4.0.270 → 4.0.271

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 (332) hide show
  1. package/dist/aac-codecprivate.js +6 -13
  2. package/dist/add-avc-profile-to-track.js +5 -9
  3. package/dist/buffer-iterator.js +8 -13
  4. package/dist/combine-uint8-arrays.js +1 -5
  5. package/dist/containers/aac/parse-aac.js +9 -13
  6. package/dist/containers/aac/types.js +1 -2
  7. package/dist/containers/avc/codec-string.js +1 -5
  8. package/dist/containers/avc/color.js +3 -9
  9. package/dist/containers/avc/create-sps-pps-data.js +5 -9
  10. package/dist/containers/avc/interpret-sps.js +7 -13
  11. package/dist/containers/avc/key.js +1 -5
  12. package/dist/containers/avc/parse-avc.js +3 -7
  13. package/dist/containers/avc/sps-and-pps.js +1 -5
  14. package/dist/containers/flac/get-block-size.js +1 -5
  15. package/dist/containers/flac/get-channel-count.js +1 -5
  16. package/dist/containers/flac/get-duration-from-flac.js +1 -5
  17. package/dist/containers/flac/get-metadata-from-flac.js +1 -5
  18. package/dist/containers/flac/get-sample-rate.js +1 -5
  19. package/dist/containers/flac/parse-flac-frame.js +14 -19
  20. package/dist/containers/flac/parse-flac.js +15 -19
  21. package/dist/containers/flac/parse-header.js +1 -5
  22. package/dist/containers/flac/parse-metadata.js +1 -5
  23. package/dist/containers/flac/parse-streaminfo.js +3 -7
  24. package/dist/containers/flac/parse-unknown-block.js +1 -5
  25. package/dist/containers/flac/types.d.ts +2 -2
  26. package/dist/containers/flac/types.js +1 -2
  27. package/dist/containers/iso-base-media/base-media-box.js +1 -2
  28. package/dist/containers/iso-base-media/base-type.js +1 -2
  29. package/dist/containers/iso-base-media/esds/decoder-specific-config.js +1 -5
  30. package/dist/containers/iso-base-media/esds/esds-descriptors.js +5 -10
  31. package/dist/containers/iso-base-media/esds/esds.js +3 -7
  32. package/dist/containers/iso-base-media/ftyp.js +1 -5
  33. package/dist/containers/iso-base-media/get-actual-number-of-channels.js +4 -8
  34. package/dist/containers/iso-base-media/get-children.js +3 -7
  35. package/dist/containers/iso-base-media/get-keyframes.js +7 -11
  36. package/dist/containers/iso-base-media/get-moov-atom.js +21 -15
  37. package/dist/containers/iso-base-media/get-sample-positions-from-track.js +20 -24
  38. package/dist/containers/iso-base-media/get-video-codec-from-iso-track.d.ts +1 -1
  39. package/dist/containers/iso-base-media/get-video-codec-from-iso-track.js +3 -7
  40. package/dist/containers/iso-base-media/make-track.js +30 -34
  41. package/dist/containers/iso-base-media/mdat/mdat.js +16 -20
  42. package/dist/containers/iso-base-media/mdhd.js +1 -5
  43. package/dist/containers/iso-base-media/meta/hdlr.js +1 -5
  44. package/dist/containers/iso-base-media/meta/ilst.js +1 -5
  45. package/dist/containers/iso-base-media/moov/moov.js +3 -7
  46. package/dist/containers/iso-base-media/mvhd.js +7 -11
  47. package/dist/containers/iso-base-media/parse-boxes.js +5 -9
  48. package/dist/containers/iso-base-media/parse-icc-profile.js +4 -8
  49. package/dist/containers/iso-base-media/process-box.js +63 -67
  50. package/dist/containers/iso-base-media/stsd/av1c.js +1 -5
  51. package/dist/containers/iso-base-media/stsd/avcc.js +1 -5
  52. package/dist/containers/iso-base-media/stsd/colr.js +3 -7
  53. package/dist/containers/iso-base-media/stsd/ctts.js +1 -5
  54. package/dist/containers/iso-base-media/stsd/hvcc.js +3 -7
  55. package/dist/containers/iso-base-media/stsd/keys.js +1 -5
  56. package/dist/containers/iso-base-media/stsd/mebx.js +3 -7
  57. package/dist/containers/iso-base-media/stsd/pasp.js +1 -5
  58. package/dist/containers/iso-base-media/stsd/samples.js +8 -13
  59. package/dist/containers/iso-base-media/stsd/stco.js +1 -5
  60. package/dist/containers/iso-base-media/stsd/stsc.js +1 -5
  61. package/dist/containers/iso-base-media/stsd/stsd.js +3 -7
  62. package/dist/containers/iso-base-media/stsd/stss.js +1 -5
  63. package/dist/containers/iso-base-media/stsd/stsz.js +1 -5
  64. package/dist/containers/iso-base-media/stsd/stts.js +1 -5
  65. package/dist/containers/iso-base-media/tfdt.js +1 -5
  66. package/dist/containers/iso-base-media/tfhd.js +1 -5
  67. package/dist/containers/iso-base-media/tkhd.js +4 -8
  68. package/dist/containers/iso-base-media/to-date.js +1 -5
  69. package/dist/containers/iso-base-media/trak/trak.js +3 -7
  70. package/dist/containers/iso-base-media/traversal.d.ts +3 -2
  71. package/dist/containers/iso-base-media/traversal.js +42 -57
  72. package/dist/containers/iso-base-media/trun.js +2 -6
  73. package/dist/containers/iso-base-media/void-box.js +1 -2
  74. package/dist/containers/m3u/after-manifest-fetch.d.ts +5 -3
  75. package/dist/containers/m3u/after-manifest-fetch.js +13 -17
  76. package/dist/containers/m3u/fetch-m3u8-stream.d.ts +5 -1
  77. package/dist/containers/m3u/fetch-m3u8-stream.js +4 -12
  78. package/dist/containers/m3u/get-chunks.d.ts +1 -0
  79. package/dist/containers/m3u/get-chunks.js +6 -6
  80. package/dist/containers/m3u/get-duration-from-m3u.js +4 -8
  81. package/dist/containers/m3u/get-playlist.js +6 -12
  82. package/dist/containers/m3u/get-streams.d.ts +11 -5
  83. package/dist/containers/m3u/get-streams.js +5 -15
  84. package/dist/containers/m3u/iterate-over-segment-files.d.ts +19 -0
  85. package/dist/containers/m3u/iterate-over-segment-files.js +106 -0
  86. package/dist/containers/m3u/parse-directive.js +10 -10
  87. package/dist/containers/m3u/parse-m3u-manifest.js +3 -7
  88. package/dist/containers/m3u/parse-m3u-media-directive.d.ts +1 -0
  89. package/dist/containers/m3u/parse-m3u-media-directive.js +7 -7
  90. package/dist/containers/m3u/parse-m3u.js +13 -13
  91. package/dist/containers/m3u/parse-m3u8-text.js +3 -7
  92. package/dist/containers/m3u/parse-stream-inf.js +2 -7
  93. package/dist/containers/m3u/return-packets.d.ts +1 -1
  94. package/dist/containers/m3u/return-packets.js +14 -5
  95. package/dist/containers/m3u/run-over-m3u.js +10 -13
  96. package/dist/containers/m3u/sample-sorter.js +4 -8
  97. package/dist/containers/m3u/select-stream.d.ts +3 -2
  98. package/dist/containers/m3u/select-stream.js +9 -13
  99. package/dist/containers/m3u/types.d.ts +1 -1
  100. package/dist/containers/m3u/types.js +1 -2
  101. package/dist/containers/mp3/get-duration.js +5 -9
  102. package/dist/containers/mp3/get-frame-length.js +2 -7
  103. package/dist/containers/mp3/get-metadata-from-mp3.d.ts +2 -2
  104. package/dist/containers/mp3/get-metadata-from-mp3.js +1 -5
  105. package/dist/containers/mp3/id3-v1.js +1 -5
  106. package/dist/containers/mp3/id3.js +1 -5
  107. package/dist/containers/mp3/parse-mp3.js +7 -11
  108. package/dist/containers/mp3/parse-mpeg-header.js +10 -14
  109. package/dist/containers/mp3/samples-per-mpeg-file.js +1 -5
  110. package/dist/containers/riff/expect-riff-box.js +11 -15
  111. package/dist/containers/riff/get-duration.js +7 -12
  112. package/dist/containers/riff/get-tracks-from-avi.js +20 -28
  113. package/dist/containers/riff/is-movi.js +1 -5
  114. package/dist/containers/riff/parse-avih.js +1 -5
  115. package/dist/containers/riff/parse-isft.js +1 -5
  116. package/dist/containers/riff/parse-list-box.js +3 -7
  117. package/dist/containers/riff/parse-movi.js +13 -18
  118. package/dist/containers/riff/parse-riff-body.js +9 -13
  119. package/dist/containers/riff/parse-riff-box.js +9 -13
  120. package/dist/containers/riff/parse-riff-header.js +1 -5
  121. package/dist/containers/riff/parse-riff.js +5 -9
  122. package/dist/containers/riff/parse-strf.js +1 -5
  123. package/dist/containers/riff/parse-strh.js +3 -7
  124. package/dist/containers/riff/parse-video-section.js +7 -11
  125. package/dist/containers/riff/riff-box.js +1 -2
  126. package/dist/containers/riff/timescale.js +1 -4
  127. package/dist/containers/riff/traversal.js +7 -15
  128. package/dist/containers/transport-stream/adts-header.js +6 -10
  129. package/dist/containers/transport-stream/boxes.js +1 -2
  130. package/dist/containers/transport-stream/discard-rest-of-packet.js +2 -7
  131. package/dist/containers/transport-stream/find-separator.js +1 -4
  132. package/dist/containers/transport-stream/get-tracks.js +7 -12
  133. package/dist/containers/transport-stream/handle-aac-packet.js +12 -16
  134. package/dist/containers/transport-stream/handle-avc-packet.js +22 -26
  135. package/dist/containers/transport-stream/next-pes-header-store.js +1 -5
  136. package/dist/containers/transport-stream/parse-packet.js +13 -17
  137. package/dist/containers/transport-stream/parse-pat.js +5 -10
  138. package/dist/containers/transport-stream/parse-pes.js +1 -5
  139. package/dist/containers/transport-stream/parse-pmt.js +3 -7
  140. package/dist/containers/transport-stream/parse-stream-packet.js +13 -17
  141. package/dist/containers/transport-stream/parse-transport-stream.js +5 -9
  142. package/dist/containers/transport-stream/process-stream-buffers.js +10 -15
  143. package/dist/containers/transport-stream/traversal.js +4 -10
  144. package/dist/containers/wav/get-duration-from-wav.js +3 -8
  145. package/dist/containers/wav/get-metadata-from-wav.d.ts +2 -2
  146. package/dist/containers/wav/get-metadata-from-wav.js +1 -5
  147. package/dist/containers/wav/parse-data.js +5 -9
  148. package/dist/containers/wav/parse-fmt.js +3 -7
  149. package/dist/containers/wav/parse-header.js +1 -5
  150. package/dist/containers/wav/parse-id3.js +1 -5
  151. package/dist/containers/wav/parse-list.js +1 -5
  152. package/dist/containers/wav/parse-video-section.js +3 -7
  153. package/dist/containers/wav/parse-wav.js +15 -19
  154. package/dist/containers/wav/types.d.ts +2 -2
  155. package/dist/containers/wav/types.js +1 -2
  156. package/dist/containers/webm/allowed-partial-segments.js +1 -4
  157. package/dist/containers/webm/av1-codec-private.js +3 -7
  158. package/dist/containers/webm/color.js +6 -10
  159. package/dist/containers/webm/description.js +6 -10
  160. package/dist/containers/webm/get-ready-tracks.js +13 -18
  161. package/dist/containers/webm/get-sample-from-block.js +12 -16
  162. package/dist/containers/webm/make-track.js +43 -48
  163. package/dist/containers/webm/parse-ebml.js +14 -19
  164. package/dist/containers/webm/parse-webm-header.js +3 -7
  165. package/dist/containers/webm/segments/all-segments.js +168 -173
  166. package/dist/containers/webm/segments/block-simple-block-flags.js +4 -8
  167. package/dist/containers/webm/segments/track-entry.js +1 -5
  168. package/dist/containers/webm/segments.js +9 -13
  169. package/dist/containers/webm/traversal.js +37 -67
  170. package/dist/convert-audio-or-video-sample.js +1 -5
  171. package/dist/download-and-parse-media.js +44 -47
  172. package/dist/emit-available-info.js +38 -38
  173. package/dist/emitter.js +1 -5
  174. package/dist/errors.d.ts +2 -17
  175. package/dist/errors.js +10 -30
  176. package/dist/esm/fetch.mjs +93 -67
  177. package/dist/esm/index.mjs +679 -175
  178. package/dist/esm/node.mjs +59 -36
  179. package/dist/esm/universal.mjs +323 -0
  180. package/dist/esm/web-file.mjs +55 -43
  181. package/dist/esm/web.mjs +257 -0
  182. package/dist/esm/worker-server-entry.mjs +13056 -0
  183. package/dist/esm/worker-server.mjs +12914 -0
  184. package/dist/esm/worker-web-entry.mjs +12969 -0
  185. package/dist/esm/worker.mjs +439 -0
  186. package/dist/fetch.js +1 -17
  187. package/dist/file-types/bmp.js +3 -7
  188. package/dist/file-types/detect-file-type.js +24 -38
  189. package/dist/file-types/index.js +22 -26
  190. package/dist/file-types/jpeg.js +4 -9
  191. package/dist/file-types/pdf.js +3 -7
  192. package/dist/file-types/png.js +4 -9
  193. package/dist/file-types/webp.js +3 -7
  194. package/dist/forward-controller.js +1 -5
  195. package/dist/get-audio-codec.js +25 -38
  196. package/dist/get-container.d.ts +3 -3
  197. package/dist/get-container.js +5 -10
  198. package/dist/get-dimensions.js +8 -13
  199. package/dist/get-duration.js +27 -34
  200. package/dist/get-fields-from-callbacks.js +1 -5
  201. package/dist/get-fps.js +24 -34
  202. package/dist/get-is-hdr.js +5 -10
  203. package/dist/get-keyframes.js +6 -11
  204. package/dist/get-location.js +4 -9
  205. package/dist/get-number-of-audio-channels.js +2 -7
  206. package/dist/get-sample-aspect-ratio.js +17 -30
  207. package/dist/get-sample-positions-from-lpcm.js +5 -9
  208. package/dist/get-sample-positions.js +1 -5
  209. package/dist/get-sample-rate.js +2 -7
  210. package/dist/get-tracks.d.ts +5 -0
  211. package/dist/get-tracks.js +37 -44
  212. package/dist/get-video-codec.js +26 -34
  213. package/dist/has-all-info.js +33 -38
  214. package/dist/index.d.ts +15 -11
  215. package/dist/index.js +34 -48
  216. package/dist/init-video.d.ts +1 -1
  217. package/dist/init-video.js +47 -20
  218. package/dist/internal-parse-media.js +36 -40
  219. package/dist/is-audio-structure.d.ts +2 -2
  220. package/dist/is-audio-structure.js +1 -5
  221. package/dist/log.js +8 -12
  222. package/dist/make-hvc1-codec-strings.js +1 -5
  223. package/dist/media-parser-controller.js +7 -11
  224. package/dist/metadata/get-metadata.d.ts +4 -4
  225. package/dist/metadata/get-metadata.js +17 -22
  226. package/dist/metadata/metadata-from-iso.d.ts +3 -3
  227. package/dist/metadata/metadata-from-iso.js +12 -17
  228. package/dist/metadata/metadata-from-matroska.d.ts +2 -2
  229. package/dist/metadata/metadata-from-matroska.js +3 -7
  230. package/dist/metadata/metadata-from-riff.d.ts +2 -2
  231. package/dist/metadata/metadata-from-riff.js +3 -7
  232. package/dist/node-writer.js +1 -17
  233. package/dist/node.js +1 -17
  234. package/dist/options.d.ts +30 -24
  235. package/dist/options.js +1 -2
  236. package/dist/parse-media-on-browser-worker.d.ts +2 -0
  237. package/dist/parse-media-on-browser-worker.js +4 -0
  238. package/dist/parse-media-on-server-worker.d.ts +2 -0
  239. package/dist/parse-media-on-server-worker.js +4 -0
  240. package/dist/parse-media-on-web-worker.d.ts +2 -0
  241. package/dist/parse-media-on-web-worker.js +4 -0
  242. package/dist/parse-media-on-worker-entry.d.ts +2 -0
  243. package/dist/parse-media-on-worker-entry.js +269 -0
  244. package/dist/parse-media-on-worker.d.ts +2 -0
  245. package/dist/parse-media-on-worker.js +4 -0
  246. package/dist/parse-media.js +10 -13
  247. package/dist/parse-result.d.ts +3 -3
  248. package/dist/parse-result.js +1 -2
  249. package/dist/pause-signal.js +1 -5
  250. package/dist/perform-seek.js +6 -10
  251. package/dist/readers/fetch/get-body-and-reader.js +1 -5
  252. package/dist/readers/fetch/resolve-url.d.ts +1 -1
  253. package/dist/readers/fetch/resolve-url.js +1 -5
  254. package/dist/readers/from-fetch.d.ts +4 -1
  255. package/dist/readers/from-fetch.js +109 -94
  256. package/dist/readers/from-node.d.ts +4 -1
  257. package/dist/readers/from-node.js +58 -41
  258. package/dist/readers/from-web-file.d.ts +4 -1
  259. package/dist/readers/from-web-file.js +55 -49
  260. package/dist/readers/reader.d.ts +5 -1
  261. package/dist/readers/reader.js +1 -2
  262. package/dist/readers/universal.d.ts +2 -0
  263. package/dist/readers/universal.js +35 -0
  264. package/dist/readers/web.d.ts +2 -0
  265. package/dist/readers/web.js +22 -0
  266. package/dist/register-track.js +9 -15
  267. package/dist/remotion-license-acknowledge.js +4 -8
  268. package/dist/run-parse-iteration.js +26 -25
  269. package/dist/samples-from-moof.js +8 -12
  270. package/dist/skip.js +1 -5
  271. package/dist/state/aac-state.js +1 -5
  272. package/dist/state/can-skip-tracks.d.ts +2 -2
  273. package/dist/state/can-skip-tracks.js +3 -8
  274. package/dist/state/emitted-fields.js +1 -5
  275. package/dist/state/flac-state.js +1 -5
  276. package/dist/state/has-tracks-section.js +3 -7
  277. package/dist/state/images.js +1 -5
  278. package/dist/state/iso-base-media/cached-sample-positions.js +8 -13
  279. package/dist/state/iso-base-media/iso-state.js +5 -9
  280. package/dist/state/iso-base-media/moov-box.js +1 -5
  281. package/dist/state/keyframes.js +1 -5
  282. package/dist/state/last-eventloop-break.js +3 -7
  283. package/dist/state/m3u-state.d.ts +3 -0
  284. package/dist/state/m3u-state.js +16 -11
  285. package/dist/state/may-skip-video-data.js +3 -7
  286. package/dist/state/mp3.js +1 -5
  287. package/dist/state/need-samples-for-fields.js +1 -5
  288. package/dist/state/parser-state.d.ts +12 -10
  289. package/dist/state/parser-state.js +36 -41
  290. package/dist/state/riff.js +1 -5
  291. package/dist/state/sample-callbacks.js +8 -12
  292. package/dist/state/slow-duration-fps.js +1 -5
  293. package/dist/state/structure.d.ts +4 -4
  294. package/dist/state/structure.js +1 -5
  295. package/dist/state/transport-stream.js +3 -7
  296. package/dist/state/video-section.js +1 -5
  297. package/dist/state/webm.js +5 -9
  298. package/dist/throttled-progress.js +1 -5
  299. package/dist/truthy.js +1 -4
  300. package/dist/universal.d.ts +1 -0
  301. package/dist/universal.js +1 -0
  302. package/dist/version.d.ts +1 -1
  303. package/dist/version.js +1 -4
  304. package/dist/web-file.js +1 -17
  305. package/dist/web.d.ts +1 -0
  306. package/dist/web.js +1 -0
  307. package/dist/webcodec-sample-types.d.ts +6 -4
  308. package/dist/webcodec-sample-types.js +1 -2
  309. package/dist/worker/forward-controller.d.ts +3 -0
  310. package/dist/worker/forward-controller.js +20 -0
  311. package/dist/worker/serialize-error.d.ts +4 -0
  312. package/dist/worker/serialize-error.js +95 -0
  313. package/dist/worker/worker-types.d.ts +243 -0
  314. package/dist/worker/worker-types.js +1 -0
  315. package/dist/worker-bun-entry.d.ts +1 -0
  316. package/dist/worker-bun-entry.js +5 -0
  317. package/dist/worker-entry.d.ts +1 -0
  318. package/dist/worker-entry.js +5 -0
  319. package/dist/worker-server-entry.d.ts +1 -0
  320. package/dist/worker-server-entry.js +5 -0
  321. package/dist/worker-server.d.ts +2 -0
  322. package/dist/worker-server.js +381 -0
  323. package/dist/worker-web-entry.d.ts +1 -0
  324. package/dist/worker-web-entry.js +5 -0
  325. package/dist/worker.d.ts +2 -0
  326. package/dist/worker.js +267 -0
  327. package/dist/writers/node.js +16 -23
  328. package/dist/writers/writer.js +1 -2
  329. package/package.json +40 -21
  330. package/fetch.js +0 -2
  331. package/test.json +0 -663
  332. package/web-file.js +0 -2
@@ -1,21 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasAllInfo = exports.getAvailableInfo = void 0;
4
- const get_streams_1 = require("./containers/m3u/get-streams");
5
- const get_audio_codec_1 = require("./get-audio-codec");
6
- const get_container_1 = require("./get-container");
7
- const get_dimensions_1 = require("./get-dimensions");
8
- const get_duration_1 = require("./get-duration");
9
- const get_fps_1 = require("./get-fps");
10
- const get_is_hdr_1 = require("./get-is-hdr");
11
- const get_keyframes_1 = require("./get-keyframes");
12
- const get_number_of_audio_channels_1 = require("./get-number-of-audio-channels");
13
- const get_sample_rate_1 = require("./get-sample-rate");
14
- const get_tracks_1 = require("./get-tracks");
15
- const get_video_codec_1 = require("./get-video-codec");
16
- const get_metadata_1 = require("./metadata/get-metadata");
17
- const may_skip_video_data_1 = require("./state/may-skip-video-data");
18
- const getAvailableInfo = ({ fieldsToFetch, state, }) => {
1
+ import { m3uHasStreams } from './containers/m3u/get-streams';
2
+ import { hasAudioCodec } from './get-audio-codec';
3
+ import { hasContainer } from './get-container';
4
+ import { hasDimensions } from './get-dimensions';
5
+ import { hasDuration, hasSlowDuration } from './get-duration';
6
+ import { hasFps, hasFpsSuitedForSlowFps } from './get-fps';
7
+ import { hasHdr } from './get-is-hdr';
8
+ import { hasKeyframes } from './get-keyframes';
9
+ import { hasNumberOfAudioChannels } from './get-number-of-audio-channels';
10
+ import { hasSampleRate } from './get-sample-rate';
11
+ import { getHasTracks } from './get-tracks';
12
+ import { hasVideoCodec } from './get-video-codec';
13
+ import { hasMetadata } from './metadata/get-metadata';
14
+ import { maySkipVideoData } from './state/may-skip-video-data';
15
+ export const getAvailableInfo = ({ fieldsToFetch, state, }) => {
19
16
  const keys = Object.entries(fieldsToFetch).filter(([, value]) => value);
20
17
  const structure = state.getStructureOrNull();
21
18
  const infos = keys.map(([_key]) => {
@@ -24,37 +21,37 @@ const getAvailableInfo = ({ fieldsToFetch, state, }) => {
24
21
  return false;
25
22
  }
26
23
  if (key === 'durationInSeconds') {
27
- return Boolean(structure && (0, get_duration_1.hasDuration)(state));
24
+ return Boolean(structure && hasDuration(state));
28
25
  }
29
26
  if (key === 'slowDurationInSeconds') {
30
- return Boolean(structure && (0, get_duration_1.hasSlowDuration)(state));
27
+ return Boolean(structure && hasSlowDuration(state));
31
28
  }
32
29
  if (key === 'dimensions' ||
33
30
  key === 'rotation' ||
34
31
  key === 'unrotatedDimensions') {
35
- return Boolean(structure && (0, get_dimensions_1.hasDimensions)(state));
32
+ return Boolean(structure && hasDimensions(state));
36
33
  }
37
34
  if (key === 'fps') {
38
- return Boolean(structure && (0, get_fps_1.hasFps)(state));
35
+ return Boolean(structure && hasFps(state));
39
36
  }
40
37
  if (key === 'slowFps') {
41
38
  // In case FPS is available an non-null, it also works for `slowFps`
42
- return Boolean(structure && (0, get_fps_1.hasFpsSuitedForSlowFps)(state));
39
+ return Boolean(structure && hasFpsSuitedForSlowFps(state));
43
40
  }
44
41
  if (key === 'isHdr') {
45
- return Boolean(structure && (0, get_is_hdr_1.hasHdr)(state));
42
+ return Boolean(structure && hasHdr(state));
46
43
  }
47
44
  if (key === 'videoCodec') {
48
- return Boolean(structure && (0, get_video_codec_1.hasVideoCodec)(state));
45
+ return Boolean(structure && hasVideoCodec(state));
49
46
  }
50
47
  if (key === 'audioCodec') {
51
- return Boolean(structure && (0, get_audio_codec_1.hasAudioCodec)(state));
48
+ return Boolean(structure && hasAudioCodec(state));
52
49
  }
53
50
  if (key === 'tracks') {
54
- return Boolean(structure && (0, get_tracks_1.getHasTracks)(state));
51
+ return Boolean(structure && getHasTracks(state));
55
52
  }
56
53
  if (key === 'keyframes') {
57
- return Boolean(structure && (0, get_keyframes_1.hasKeyframes)(state));
54
+ return Boolean(structure && hasKeyframes(state));
58
55
  }
59
56
  if (key === 'internalStats') {
60
57
  return true;
@@ -69,10 +66,10 @@ const getAvailableInfo = ({ fieldsToFetch, state, }) => {
69
66
  return true;
70
67
  }
71
68
  if (key === 'container') {
72
- return Boolean(structure && (0, get_container_1.hasContainer)(structure));
69
+ return Boolean(structure && hasContainer(structure));
73
70
  }
74
71
  if (key === 'metadata' || key === 'location' || key === 'images') {
75
- return Boolean(structure && (0, get_metadata_1.hasMetadata)(structure));
72
+ return Boolean(structure && hasMetadata(structure));
76
73
  }
77
74
  if (key === 'slowKeyframes' ||
78
75
  key === 'slowVideoBitrate' ||
@@ -81,13 +78,13 @@ const getAvailableInfo = ({ fieldsToFetch, state, }) => {
81
78
  return false;
82
79
  }
83
80
  if (key === 'numberOfAudioChannels') {
84
- return (0, get_number_of_audio_channels_1.hasNumberOfAudioChannels)(state);
81
+ return hasNumberOfAudioChannels(state);
85
82
  }
86
83
  if (key === 'sampleRate') {
87
- return (0, get_sample_rate_1.hasSampleRate)(state);
84
+ return hasSampleRate(state);
88
85
  }
89
86
  if (key === 'm3uStreams') {
90
- return (0, get_streams_1.m3uHasStreams)(state);
87
+ return m3uHasStreams(state);
91
88
  }
92
89
  throw new Error(`Unknown key: ${key}`);
93
90
  });
@@ -98,16 +95,15 @@ const getAvailableInfo = ({ fieldsToFetch, state, }) => {
98
95
  }
99
96
  return Object.fromEntries(entries);
100
97
  };
101
- exports.getAvailableInfo = getAvailableInfo;
102
- const hasAllInfo = ({ fields, state, }) => {
103
- const availableInfo = (0, exports.getAvailableInfo)({
98
+ export const hasAllInfo = ({ fields, state, }) => {
99
+ const availableInfo = getAvailableInfo({
104
100
  fieldsToFetch: fields !== null && fields !== void 0 ? fields : {},
105
101
  state,
106
102
  });
107
103
  if (!Object.values(availableInfo).every(Boolean)) {
108
104
  return false;
109
105
  }
110
- if ((0, may_skip_video_data_1.maySkipVideoData)({ state })) {
106
+ if (maySkipVideoData({ state })) {
111
107
  return true;
112
108
  }
113
109
  if (state.callbacks.canSkipTracksState.canSkipTracks()) {
@@ -115,4 +111,3 @@ const hasAllInfo = ({ fields, state, }) => {
115
111
  }
116
112
  return false;
117
113
  };
118
- exports.hasAllInfo = hasAllInfo;
package/dist/index.d.ts CHANGED
@@ -1,14 +1,16 @@
1
1
  import type { LogLevel } from './log';
2
2
  export type { MatroskaSegment } from './containers/webm/segments';
3
3
  export type { MatroskaElement } from './containers/webm/segments/all-segments';
4
- export { hasBeenAborted, IsAGifError, IsAnImageError, IsAnUnsupportedAudioTypeError, IsAnUnsupportedFileTypeError, IsAPdfError, MediaParserAbortError, } from './errors';
4
+ export { hasBeenAborted, IsAGifError, IsAnImageError, IsAnUnsupportedFileTypeError, IsAPdfError, MediaParserAbortError, } from './errors';
5
5
  export type { SamplePosition } from './get-sample-positions';
6
6
  export type { AudioTrack, MediaParserAudioCodec, MediaParserVideoCodec, OtherTrack, Track, VideoTrack, VideoTrackColorParams, } from './get-tracks';
7
- export type { MetadataEntry } from './metadata/get-metadata';
7
+ export type { MediaParserMetadataEntry } from './metadata/get-metadata';
8
8
  export type { MediaParserKeyframe, ParseMediaSrc } from './options';
9
+ export { parseMediaOnServerWorker } from './parse-media-on-server-worker';
10
+ export { parseMediaOnWebWorker } from './parse-media-on-web-worker';
9
11
  export type { MediaParserEmbeddedImage } from './state/images';
10
12
  export { downloadAndParseMedia } from './download-and-parse-media';
11
- export type { MediaParserContainer, Options, ParseMediaCallbacks, ParseMediaFields, ParseMediaOnProgress, ParseMediaOptions, ParseMediaProgress, ParseMediaResult, TracksField, } from './options';
13
+ export type { MediaParserContainer, MediaParserTracks, Options, ParseMediaCallbacks, ParseMediaFields, ParseMediaOnProgress, ParseMediaOptions, ParseMediaProgress, ParseMediaResult, } from './options';
12
14
  export { parseMedia } from './parse-media';
13
15
  export type { AudioOrVideoSample, OnAudioSample, OnAudioTrack, OnVideoSample, OnVideoTrack, } from './webcodec-sample-types';
14
16
  export type { Dimensions } from './get-dimensions';
@@ -727,7 +729,7 @@ export declare const MediaParserInternals: {
727
729
  size: number;
728
730
  state: import("./state/parser-state").ParserState;
729
731
  }) => Promise<import("./containers/iso-base-media/stsd/stsd").StsdBox>;
730
- makeParserState: ({ hasAudioTrackHandlers, hasVideoTrackHandlers, controller, fields, onAudioTrack, onVideoTrack, contentLength, logLevel, mode, src, readerInterface, onDiscardedData, selectM3uStreamFn, selectM3uAssociatedPlaylistsFn, }: {
732
+ makeParserState: ({ hasAudioTrackHandlers, hasVideoTrackHandlers, controller, fields, onAudioTrack, onVideoTrack, contentLength, logLevel, mode, src, readerInterface, onDiscardedData, selectM3uStreamFn, selectM3uAssociatedPlaylistsFn, mp4HeaderSegment, }: {
731
733
  hasAudioTrackHandlers: boolean;
732
734
  hasVideoTrackHandlers: boolean;
733
735
  controller: import("./media-parser-controller").MediaParserController;
@@ -742,6 +744,7 @@ export declare const MediaParserInternals: {
742
744
  onDiscardedData: import("./options").OnDiscardedData | null;
743
745
  selectM3uStreamFn: import("./containers/m3u/select-stream").SelectM3uStreamFn;
744
746
  selectM3uAssociatedPlaylistsFn: import("./containers/m3u/select-stream").SelectM3uAssociatedPlaylistsFn;
747
+ mp4HeaderSegment: import("./parse-result").IsoBaseMediaStructure | null;
745
748
  }) => {
746
749
  onAudioTrack: import("./webcodec-sample-types").OnAudioTrack | null;
747
750
  onVideoTrack: import("./webcodec-sample-types").OnVideoTrack | null;
@@ -838,17 +841,15 @@ export declare const MediaParserInternals: {
838
841
  };
839
842
  controller: import("./media-parser-controller").MediaParserController;
840
843
  mode: import("./options").ParseMediaMode;
841
- eventLoop: {
842
- eventLoopBreakIfNeeded: () => Promise<void>;
843
- };
844
844
  src: import("./options").ParseMediaSrc;
845
845
  readerInterface: import("./readers/reader").ReaderInterface;
846
846
  discardReadBytes: (force: boolean) => Promise<void>;
847
847
  selectM3uStreamFn: import("./containers/m3u/select-stream").SelectM3uStreamFn;
848
848
  selectM3uAssociatedPlaylistsFn: import("./containers/m3u/select-stream").SelectM3uAssociatedPlaylistsFn;
849
- getStructureOrNull: () => import("./parse-result").Structure | null;
850
- getStructure: () => import("./parse-result").Structure;
851
- setStructure: (value: import("./parse-result").Structure) => void;
849
+ mp4HeaderSegment: import("./parse-result").IsoBaseMediaStructure | null;
850
+ getStructureOrNull: () => import("./parse-result").MediaParserStructureUnstable | null;
851
+ getStructure: () => import("./parse-result").MediaParserStructureUnstable;
852
+ setStructure: (value: import("./parse-result").MediaParserStructureUnstable) => void;
852
853
  getFlacStructure: () => import("./containers/flac/types").FlacStructure;
853
854
  getIsoStructure: () => import("./parse-result").IsoBaseMediaStructure;
854
855
  getMp3Structure: () => import("./parse-result").Mp3Structure;
@@ -952,6 +953,8 @@ export declare const MediaParserInternals: {
952
953
  addVideoSample: (src: string, sample: import("./webcodec-sample-types").AudioOrVideoSample) => Promise<void>;
953
954
  getNextStreamToRun: (streams: string[]) => string;
954
955
  };
956
+ setMp4HeaderSegment: (playlistUrl: string, structure: import("./parse-result").IsoBaseMediaStructure) => void;
957
+ getMp4HeaderSegment: (playlistUrl: string) => import("./parse-result").IsoBaseMediaStructure;
955
958
  };
956
959
  callbacks: {
957
960
  registerVideoSampleCallback: (id: number, callback: import("./webcodec-sample-types").OnVideoSample | null) => Promise<void>;
@@ -1003,8 +1006,9 @@ export declare const MediaParserInternals: {
1003
1006
  };
1004
1007
  export type { Prettify } from './containers/webm/parse-ebml';
1005
1008
  export type { Ebml, EbmlValue, FloatWithSize, MainSegment, PossibleEbml, TrackEntry, UintWithSize, } from './containers/webm/segments/all-segments';
1009
+ export { MediaParserStructureUnstable } from './parse-result';
1006
1010
  export type { LogLevel };
1007
- export { M3uStream } from './containers/m3u/get-streams';
1011
+ export { M3uAssociatedPlaylist, M3uStream } from './containers/m3u/get-streams';
1008
1012
  export { defaultSelectM3uAssociatedPlaylists, defaultSelectM3uStreamFn, SelectM3uAssociatedPlaylistsFn, SelectM3uStreamFn, SelectM3uStreamFnOptions, } from './containers/m3u/select-stream';
1009
1013
  export { mediaParserController, MediaParserController, } from './media-parser-controller';
1010
1014
  export { VERSION } from './version';
package/dist/index.js CHANGED
@@ -1,49 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VERSION = exports.mediaParserController = exports.defaultSelectM3uStreamFn = exports.defaultSelectM3uAssociatedPlaylists = exports.MediaParserInternals = exports.parseMedia = exports.downloadAndParseMedia = exports.MediaParserAbortError = exports.IsAPdfError = exports.IsAnUnsupportedFileTypeError = exports.IsAnUnsupportedAudioTypeError = exports.IsAnImageError = exports.IsAGifError = exports.hasBeenAborted = void 0;
4
- const aac_codecprivate_1 = require("./aac-codecprivate");
5
- const buffer_iterator_1 = require("./buffer-iterator");
6
- const ftyp_1 = require("./containers/iso-base-media/ftyp");
7
- const mvhd_1 = require("./containers/iso-base-media/mvhd");
8
- const samples_1 = require("./containers/iso-base-media/stsd/samples");
9
- const stsd_1 = require("./containers/iso-base-media/stsd/stsd");
10
- const tkhd_1 = require("./containers/iso-base-media/tkhd");
11
- const parse_ebml_1 = require("./containers/webm/parse-ebml");
12
- const all_segments_1 = require("./containers/webm/segments/all-segments");
13
- const internal_parse_media_1 = require("./internal-parse-media");
14
- const log_1 = require("./log");
15
- const parser_state_1 = require("./state/parser-state");
16
- var errors_1 = require("./errors");
17
- Object.defineProperty(exports, "hasBeenAborted", { enumerable: true, get: function () { return errors_1.hasBeenAborted; } });
18
- Object.defineProperty(exports, "IsAGifError", { enumerable: true, get: function () { return errors_1.IsAGifError; } });
19
- Object.defineProperty(exports, "IsAnImageError", { enumerable: true, get: function () { return errors_1.IsAnImageError; } });
20
- Object.defineProperty(exports, "IsAnUnsupportedAudioTypeError", { enumerable: true, get: function () { return errors_1.IsAnUnsupportedAudioTypeError; } });
21
- Object.defineProperty(exports, "IsAnUnsupportedFileTypeError", { enumerable: true, get: function () { return errors_1.IsAnUnsupportedFileTypeError; } });
22
- Object.defineProperty(exports, "IsAPdfError", { enumerable: true, get: function () { return errors_1.IsAPdfError; } });
23
- Object.defineProperty(exports, "MediaParserAbortError", { enumerable: true, get: function () { return errors_1.MediaParserAbortError; } });
24
- var download_and_parse_media_1 = require("./download-and-parse-media");
25
- Object.defineProperty(exports, "downloadAndParseMedia", { enumerable: true, get: function () { return download_and_parse_media_1.downloadAndParseMedia; } });
26
- var parse_media_1 = require("./parse-media");
27
- Object.defineProperty(exports, "parseMedia", { enumerable: true, get: function () { return parse_media_1.parseMedia; } });
28
- exports.MediaParserInternals = {
29
- Log: log_1.Log,
30
- createAacCodecPrivate: aac_codecprivate_1.createAacCodecPrivate,
31
- matroskaElements: all_segments_1.matroskaElements,
32
- ebmlMap: all_segments_1.ebmlMap,
33
- parseTkhd: tkhd_1.parseTkhd,
34
- getArrayBufferIterator: buffer_iterator_1.getArrayBufferIterator,
35
- parseStsd: stsd_1.parseStsd,
36
- makeParserState: parser_state_1.makeParserState,
37
- processSample: samples_1.processIsoFormatBox,
38
- parseFtyp: ftyp_1.parseFtyp,
39
- parseEbml: parse_ebml_1.parseEbml,
40
- parseMvhd: mvhd_1.parseMvhd,
41
- internalParseMedia: internal_parse_media_1.internalParseMedia,
1
+ import { createAacCodecPrivate } from './aac-codecprivate';
2
+ import { getArrayBufferIterator } from './buffer-iterator';
3
+ import { parseFtyp } from './containers/iso-base-media/ftyp';
4
+ import { parseMvhd } from './containers/iso-base-media/mvhd';
5
+ import { processIsoFormatBox } from './containers/iso-base-media/stsd/samples';
6
+ import { parseStsd } from './containers/iso-base-media/stsd/stsd';
7
+ import { parseTkhd } from './containers/iso-base-media/tkhd';
8
+ import { parseEbml } from './containers/webm/parse-ebml';
9
+ import { ebmlMap, matroskaElements, } from './containers/webm/segments/all-segments';
10
+ import { internalParseMedia } from './internal-parse-media';
11
+ import { Log } from './log';
12
+ import { makeParserState } from './state/parser-state';
13
+ export { hasBeenAborted, IsAGifError, IsAnImageError, IsAnUnsupportedFileTypeError, IsAPdfError, MediaParserAbortError, } from './errors';
14
+ export { parseMediaOnServerWorker } from './parse-media-on-server-worker';
15
+ export { parseMediaOnWebWorker } from './parse-media-on-web-worker';
16
+ export { downloadAndParseMedia } from './download-and-parse-media';
17
+ export { parseMedia } from './parse-media';
18
+ export const MediaParserInternals = {
19
+ Log,
20
+ createAacCodecPrivate,
21
+ matroskaElements,
22
+ ebmlMap,
23
+ parseTkhd,
24
+ getArrayBufferIterator,
25
+ parseStsd,
26
+ makeParserState,
27
+ processSample: processIsoFormatBox,
28
+ parseFtyp,
29
+ parseEbml,
30
+ parseMvhd,
31
+ internalParseMedia,
42
32
  };
43
- var select_stream_1 = require("./containers/m3u/select-stream");
44
- Object.defineProperty(exports, "defaultSelectM3uAssociatedPlaylists", { enumerable: true, get: function () { return select_stream_1.defaultSelectM3uAssociatedPlaylists; } });
45
- Object.defineProperty(exports, "defaultSelectM3uStreamFn", { enumerable: true, get: function () { return select_stream_1.defaultSelectM3uStreamFn; } });
46
- var media_parser_controller_1 = require("./media-parser-controller");
47
- Object.defineProperty(exports, "mediaParserController", { enumerable: true, get: function () { return media_parser_controller_1.mediaParserController; } });
48
- var version_1 = require("./version");
49
- Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
33
+ export { defaultSelectM3uAssociatedPlaylists, defaultSelectM3uStreamFn, } from './containers/m3u/select-stream';
34
+ export { mediaParserController, } from './media-parser-controller';
35
+ export { VERSION } from './version';
@@ -4,4 +4,4 @@ export declare const initVideo: ({ state, mimeType, name, contentLength, }: {
4
4
  mimeType: string | null;
5
5
  name: string | null;
6
6
  contentLength: number;
7
- }) => Promise<never> | undefined;
7
+ }) => Promise<undefined>;
@@ -1,20 +1,48 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initVideo = void 0;
4
- const errors_1 = require("./errors");
5
- const log_1 = require("./log");
6
- const initVideo = ({ state, mimeType, name, contentLength, }) => {
1
+ import { getMoovFromFromIsoStructure } from './containers/iso-base-media/traversal';
2
+ import { IsAGifError, IsAPdfError, IsAnImageError, IsAnUnsupportedFileTypeError, } from './errors';
3
+ import { getTracksFromMoovBox } from './get-tracks';
4
+ import { Log } from './log';
5
+ import { registerAudioTrack, registerVideoTrack } from './register-track';
6
+ export const initVideo = async ({ state, mimeType, name, contentLength, }) => {
7
7
  const fileType = state.iterator.detectFileType();
8
8
  if (fileType.type === 'riff') {
9
- log_1.Log.verbose(state.logLevel, 'Detected RIFF container');
9
+ Log.verbose(state.logLevel, 'Detected RIFF container');
10
10
  state.setStructure({
11
11
  type: 'riff',
12
12
  boxes: [],
13
13
  });
14
14
  return;
15
15
  }
16
+ if (state.mp4HeaderSegment) {
17
+ Log.verbose(state.logLevel, 'Detected ISO Base Media segment');
18
+ const moovAtom = getMoovFromFromIsoStructure(state.mp4HeaderSegment);
19
+ if (!moovAtom) {
20
+ throw new Error('No moov box found');
21
+ }
22
+ const tracks = getTracksFromMoovBox(moovAtom);
23
+ for (const track of tracks.videoTracks) {
24
+ await registerVideoTrack({
25
+ state,
26
+ track,
27
+ container: 'mp4',
28
+ });
29
+ }
30
+ for (const track of tracks.audioTracks) {
31
+ await registerAudioTrack({
32
+ state,
33
+ track,
34
+ container: 'mp4',
35
+ });
36
+ }
37
+ state.callbacks.tracks.setIsDone(state.logLevel);
38
+ state.setStructure({
39
+ type: 'iso-base-media',
40
+ boxes: [],
41
+ });
42
+ return;
43
+ }
16
44
  if (fileType.type === 'iso-base-media') {
17
- log_1.Log.verbose(state.logLevel, 'Detected ISO Base Media container');
45
+ Log.verbose(state.logLevel, 'Detected ISO Base Media container');
18
46
  state.setStructure({
19
47
  type: 'iso-base-media',
20
48
  boxes: [],
@@ -22,7 +50,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
22
50
  return;
23
51
  }
24
52
  if (fileType.type === 'webm') {
25
- log_1.Log.verbose(state.logLevel, 'Detected Matroska container');
53
+ Log.verbose(state.logLevel, 'Detected Matroska container');
26
54
  state.setStructure({
27
55
  boxes: [],
28
56
  type: 'matroska',
@@ -30,7 +58,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
30
58
  return;
31
59
  }
32
60
  if (fileType.type === 'transport-stream') {
33
- log_1.Log.verbose(state.logLevel, 'Detected MPEG-2 Transport Stream');
61
+ Log.verbose(state.logLevel, 'Detected MPEG-2 Transport Stream');
34
62
  state.setStructure({
35
63
  boxes: [],
36
64
  type: 'transport-stream',
@@ -38,7 +66,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
38
66
  return;
39
67
  }
40
68
  if (fileType.type === 'mp3') {
41
- log_1.Log.verbose(state.logLevel, 'Detected MP3');
69
+ Log.verbose(state.logLevel, 'Detected MP3');
42
70
  const structure = {
43
71
  boxes: [],
44
72
  type: 'mp3',
@@ -47,7 +75,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
47
75
  return;
48
76
  }
49
77
  if (fileType.type === 'wav') {
50
- log_1.Log.verbose(state.logLevel, 'Detected WAV');
78
+ Log.verbose(state.logLevel, 'Detected WAV');
51
79
  const structure = {
52
80
  boxes: [],
53
81
  type: 'wav',
@@ -56,7 +84,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
56
84
  return;
57
85
  }
58
86
  if (fileType.type === 'flac') {
59
- log_1.Log.verbose(state.logLevel, 'Detected FLAC');
87
+ Log.verbose(state.logLevel, 'Detected FLAC');
60
88
  const structure = {
61
89
  boxes: [],
62
90
  type: 'flac',
@@ -65,7 +93,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
65
93
  return;
66
94
  }
67
95
  if (fileType.type === 'aac') {
68
- log_1.Log.verbose(state.logLevel, 'Detected AAC');
96
+ Log.verbose(state.logLevel, 'Detected AAC');
69
97
  state.setStructure({
70
98
  type: 'aac',
71
99
  boxes: [],
@@ -73,7 +101,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
73
101
  return;
74
102
  }
75
103
  if (fileType.type === 'm3u') {
76
- log_1.Log.verbose(state.logLevel, 'Detected M3U');
104
+ Log.verbose(state.logLevel, 'Detected M3U');
77
105
  state.setStructure({
78
106
  type: 'm3u',
79
107
  boxes: [],
@@ -81,7 +109,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
81
109
  return;
82
110
  }
83
111
  if (fileType.type === 'gif') {
84
- return Promise.reject(new errors_1.IsAGifError({
112
+ return Promise.reject(new IsAGifError({
85
113
  message: 'GIF files are not yet supported',
86
114
  mimeType,
87
115
  sizeInBytes: contentLength,
@@ -89,7 +117,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
89
117
  }));
90
118
  }
91
119
  if (fileType.type === 'pdf') {
92
- return Promise.reject(new errors_1.IsAPdfError({
120
+ return Promise.reject(new IsAPdfError({
93
121
  message: 'GIF files are not supported',
94
122
  mimeType,
95
123
  sizeInBytes: contentLength,
@@ -100,7 +128,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
100
128
  fileType.type === 'jpeg' ||
101
129
  fileType.type === 'png' ||
102
130
  fileType.type === 'webp') {
103
- return Promise.reject(new errors_1.IsAnImageError({
131
+ return Promise.reject(new IsAnImageError({
104
132
  message: 'Image files are not supported',
105
133
  imageType: fileType.type,
106
134
  dimensions: fileType.dimensions,
@@ -110,7 +138,7 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
110
138
  }));
111
139
  }
112
140
  if (fileType.type === 'unknown') {
113
- return Promise.reject(new errors_1.IsAnUnsupportedFileTypeError({
141
+ return Promise.reject(new IsAnUnsupportedFileTypeError({
114
142
  message: 'Unknown file format',
115
143
  mimeType,
116
144
  sizeInBytes: contentLength,
@@ -119,4 +147,3 @@ const initVideo = ({ state, mimeType, name, contentLength, }) => {
119
147
  }
120
148
  return Promise.reject(new Error('Unknown video format ' + fileType));
121
149
  };
122
- exports.initVideo = initVideo;