@remotion/media-parser 4.0.249 → 4.0.251

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 (405) hide show
  1. package/dist/add-avc-profile-to-track.js +2 -2
  2. package/dist/buffer-iterator.d.ts +3 -5
  3. package/dist/buffer-iterator.js +66 -50
  4. package/dist/containers/aac/parse-aac.d.ts +3 -0
  5. package/dist/containers/aac/parse-aac.js +83 -0
  6. package/dist/containers/aac/types.d.ts +4 -0
  7. package/dist/{boxes → containers}/avc/key.d.ts +1 -1
  8. package/dist/containers/flac/get-block-size.d.ts +2 -0
  9. package/dist/containers/flac/get-block-size.js +26 -0
  10. package/dist/containers/flac/get-channel-count.d.ts +2 -0
  11. package/dist/containers/flac/get-channel-count.js +36 -0
  12. package/dist/containers/flac/get-duration-from-flac.d.ts +2 -0
  13. package/dist/containers/flac/get-duration-from-flac.js +15 -0
  14. package/dist/containers/flac/get-metadata-from-flac.d.ts +2 -0
  15. package/dist/containers/flac/get-metadata-from-flac.js +11 -0
  16. package/dist/containers/flac/get-sample-rate.d.ts +3 -0
  17. package/dist/containers/flac/get-sample-rate.js +60 -0
  18. package/dist/containers/flac/parse-flac-frame.d.ts +15 -0
  19. package/dist/containers/flac/parse-flac-frame.js +175 -0
  20. package/dist/{boxes/riff/parse-box.d.ts → containers/flac/parse-flac.d.ts} +1 -3
  21. package/dist/containers/flac/parse-flac.js +54 -0
  22. package/dist/{boxes/mp3/parse-mpeg-header.d.ts → containers/flac/parse-header.d.ts} +4 -3
  23. package/dist/containers/flac/parse-header.js +10 -0
  24. package/dist/{boxes/mp3/parse-mp3.d.ts → containers/flac/parse-metadata.d.ts} +4 -4
  25. package/dist/containers/flac/parse-metadata.js +24 -0
  26. package/dist/{boxes/webm/parse-webm-header.d.ts → containers/flac/parse-streaminfo.d.ts} +2 -4
  27. package/dist/containers/flac/parse-streaminfo.js +53 -0
  28. package/dist/containers/flac/parse-unknown-block.d.ts +8 -0
  29. package/dist/containers/flac/parse-unknown-block.js +11 -0
  30. package/dist/containers/flac/types.d.ts +26 -0
  31. package/dist/containers/iso-base-media/base-media-box.d.ts +40 -0
  32. package/dist/containers/iso-base-media/get-children.d.ts +6 -0
  33. package/dist/containers/iso-base-media/get-children.js +21 -0
  34. package/dist/{boxes → containers}/iso-base-media/get-sample-positions-from-track.d.ts +1 -1
  35. package/dist/containers/iso-base-media/mdat/mdat.d.ts +2 -0
  36. package/dist/containers/iso-base-media/mdat/mdat.js +91 -0
  37. package/dist/containers/iso-base-media/moov/moov.d.ts +12 -0
  38. package/dist/containers/iso-base-media/moov/moov.js +17 -0
  39. package/dist/containers/iso-base-media/parse-boxes.d.ts +3 -0
  40. package/dist/containers/iso-base-media/parse-boxes.js +40 -0
  41. package/dist/containers/iso-base-media/process-box.d.ts +3 -0
  42. package/dist/{boxes → containers}/iso-base-media/process-box.js +49 -147
  43. package/dist/{boxes → containers}/iso-base-media/stsd/mebx.d.ts +1 -6
  44. package/dist/containers/iso-base-media/stsd/mebx.js +22 -0
  45. package/dist/{boxes → containers}/iso-base-media/stsd/samples.d.ts +6 -16
  46. package/dist/{boxes → containers}/iso-base-media/stsd/samples.js +26 -71
  47. package/dist/{boxes → containers}/iso-base-media/stsd/stsd.d.ts +1 -6
  48. package/dist/{boxes → containers}/iso-base-media/stsd/stsd.js +3 -6
  49. package/dist/containers/iso-base-media/trak/trak.d.ts +12 -0
  50. package/dist/containers/iso-base-media/trak/trak.js +17 -0
  51. package/dist/{boxes → containers}/iso-base-media/traversal.d.ts +2 -3
  52. package/dist/{boxes → containers}/iso-base-media/traversal.js +1 -12
  53. package/dist/containers/iso-base-media/void-box.js +2 -0
  54. package/dist/containers/mp3/get-tracks-from-mp3.d.ts +4 -0
  55. package/dist/{boxes → containers}/mp3/get-tracks-from-mp3.js +6 -6
  56. package/dist/containers/mp3/id3.d.ts +4 -0
  57. package/dist/{boxes → containers}/mp3/id3.js +8 -5
  58. package/dist/containers/mp3/parse-mp3.d.ts +3 -0
  59. package/dist/{boxes → containers}/mp3/parse-mp3.js +4 -20
  60. package/dist/containers/mp3/parse-mpeg-header.d.ts +4 -0
  61. package/dist/{boxes → containers}/mp3/parse-mpeg-header.js +2 -1
  62. package/dist/containers/riff/expect-riff-box.d.ts +7 -0
  63. package/dist/containers/riff/expect-riff-box.js +72 -0
  64. package/dist/containers/riff/get-duration.d.ts +3 -0
  65. package/dist/containers/riff/get-duration.js +33 -0
  66. package/dist/{boxes → containers}/riff/get-tracks-from-avi.d.ts +2 -3
  67. package/dist/{boxes → containers}/riff/get-tracks-from-avi.js +6 -10
  68. package/dist/containers/riff/parse-list-box.d.ts +6 -0
  69. package/dist/containers/riff/parse-list-box.js +29 -0
  70. package/dist/containers/riff/parse-movi.d.ts +11 -0
  71. package/dist/{boxes → containers}/riff/parse-movi.js +37 -57
  72. package/dist/containers/riff/parse-riff-body.d.ts +3 -0
  73. package/dist/containers/riff/parse-riff-body.js +22 -0
  74. package/dist/containers/riff/parse-riff-box.d.ts +7 -0
  75. package/dist/{boxes → containers}/riff/parse-riff-box.js +3 -10
  76. package/dist/containers/riff/parse-riff-header.d.ts +3 -0
  77. package/dist/containers/riff/parse-riff-header.js +23 -0
  78. package/dist/containers/riff/parse-riff.d.ts +3 -0
  79. package/dist/containers/riff/parse-riff.js +12 -0
  80. package/dist/containers/riff/parse-strf.d.ts +7 -0
  81. package/dist/{boxes → containers}/riff/parse-strf.js +4 -8
  82. package/dist/{boxes → containers}/riff/parse-strh.js +11 -0
  83. package/dist/containers/riff/parse-video-section.d.ts +2 -0
  84. package/dist/containers/riff/parse-video-section.js +19 -0
  85. package/dist/{boxes → containers}/riff/riff-box.d.ts +8 -14
  86. package/dist/containers/riff/riff-box.js +2 -0
  87. package/dist/{boxes → containers}/riff/traversal.d.ts +1 -3
  88. package/dist/{boxes → containers}/riff/traversal.js +1 -6
  89. package/dist/containers/transport-stream/boxes.js +2 -0
  90. package/dist/containers/transport-stream/get-tracks.d.ts +4 -0
  91. package/dist/{boxes → containers}/transport-stream/get-tracks.js +4 -3
  92. package/dist/containers/transport-stream/parse-packet.d.ts +5 -0
  93. package/dist/{boxes → containers}/transport-stream/parse-packet.js +4 -5
  94. package/dist/containers/transport-stream/parse-stream-packet.d.ts +9 -0
  95. package/dist/{boxes → containers}/transport-stream/parse-stream-packet.js +11 -12
  96. package/dist/containers/transport-stream/parse-transport-stream.d.ts +3 -0
  97. package/dist/{boxes → containers}/transport-stream/parse-transport-stream.js +8 -37
  98. package/dist/{boxes → containers}/transport-stream/process-stream-buffers.d.ts +1 -2
  99. package/dist/{boxes → containers}/transport-stream/process-stream-buffers.js +3 -3
  100. package/dist/containers/wav/get-duration-from-wav.d.ts +3 -0
  101. package/dist/containers/wav/get-duration-from-wav.js +29 -0
  102. package/dist/containers/wav/get-metadata-from-wav.d.ts +3 -0
  103. package/dist/containers/wav/get-metadata-from-wav.js +11 -0
  104. package/dist/containers/wav/parse-data.d.ts +5 -0
  105. package/dist/containers/wav/parse-data.js +25 -0
  106. package/dist/containers/wav/parse-fmt.d.ts +5 -0
  107. package/dist/containers/wav/parse-fmt.js +56 -0
  108. package/dist/containers/wav/parse-header.d.ts +5 -0
  109. package/dist/containers/wav/parse-header.js +17 -0
  110. package/dist/containers/wav/parse-id3.d.ts +5 -0
  111. package/dist/containers/wav/parse-id3.js +17 -0
  112. package/dist/containers/wav/parse-list.d.ts +5 -0
  113. package/dist/containers/wav/parse-list.js +32 -0
  114. package/dist/containers/wav/parse-video-section.d.ts +5 -0
  115. package/dist/containers/wav/parse-video-section.js +37 -0
  116. package/dist/containers/wav/parse-wav.d.ts +3 -0
  117. package/dist/containers/wav/parse-wav.js +36 -0
  118. package/dist/containers/wav/types.d.ts +30 -0
  119. package/dist/containers/wav/types.js +2 -0
  120. package/dist/{boxes → containers}/webm/parse-ebml.d.ts +1 -2
  121. package/dist/{boxes → containers}/webm/parse-ebml.js +6 -2
  122. package/dist/containers/webm/parse-webm-header.d.ts +3 -0
  123. package/dist/containers/webm/parse-webm-header.js +53 -0
  124. package/dist/containers/webm/segments.d.ts +9 -0
  125. package/dist/containers/webm/segments.js +80 -0
  126. package/dist/emit-available-info.d.ts +1 -3
  127. package/dist/emit-available-info.js +86 -76
  128. package/dist/errors.d.ts +1 -1
  129. package/dist/esm/from-node.mjs +8 -9
  130. package/dist/esm/index.mjs +4951 -4693
  131. package/dist/file-types/detect-file-type.d.ts +5 -1
  132. package/dist/file-types/detect-file-type.js +10 -3
  133. package/dist/file-types/index.js +3 -0
  134. package/dist/get-audio-codec.d.ts +4 -5
  135. package/dist/get-audio-codec.js +5 -5
  136. package/dist/get-container.d.ts +2 -2
  137. package/dist/get-container.js +10 -1
  138. package/dist/get-dimensions.d.ts +2 -3
  139. package/dist/get-dimensions.js +14 -10
  140. package/dist/get-duration.d.ts +5 -5
  141. package/dist/get-duration.js +29 -27
  142. package/dist/get-fields-from-callbacks.js +4 -0
  143. package/dist/get-fps.d.ts +1 -1
  144. package/dist/get-fps.js +12 -4
  145. package/dist/get-is-hdr.d.ts +2 -3
  146. package/dist/get-is-hdr.js +4 -4
  147. package/dist/get-keyframes.d.ts +1 -1
  148. package/dist/get-keyframes.js +4 -3
  149. package/dist/get-number-of-audio-channels.d.ts +3 -0
  150. package/dist/get-number-of-audio-channels.js +14 -0
  151. package/dist/get-sample-aspect-ratio.d.ts +8 -8
  152. package/dist/get-sample-aspect-ratio.js +1 -1
  153. package/dist/get-sample-positions-from-lpcm.d.ts +1 -1
  154. package/dist/get-sample-positions-from-lpcm.js +1 -1
  155. package/dist/get-sample-positions.d.ts +6 -6
  156. package/dist/get-sample-rate.d.ts +3 -0
  157. package/dist/get-sample-rate.js +14 -0
  158. package/dist/get-tracks.d.ts +9 -8
  159. package/dist/get-tracks.js +36 -22
  160. package/dist/get-video-codec.d.ts +3 -4
  161. package/dist/get-video-codec.js +6 -6
  162. package/dist/has-all-info.js +26 -15
  163. package/dist/index.d.ts +145 -41
  164. package/dist/index.js +8 -8
  165. package/dist/init-video.d.ts +7 -0
  166. package/dist/init-video.js +114 -0
  167. package/dist/is-audio-structure.d.ts +2 -0
  168. package/dist/is-audio-structure.js +31 -0
  169. package/dist/metadata/get-metadata.js +16 -1
  170. package/dist/metadata/metadata-from-iso.d.ts +2 -1
  171. package/dist/metadata/metadata-from-iso.js +1 -1
  172. package/dist/metadata/metadata-from-matroska.js +1 -1
  173. package/dist/metadata/metadata-from-riff.d.ts +1 -1
  174. package/dist/options.d.ts +64 -38
  175. package/dist/parse-media.js +125 -43
  176. package/dist/parse-result.d.ts +8 -61
  177. package/dist/perform-seek.d.ts +13 -0
  178. package/dist/perform-seek.js +29 -0
  179. package/dist/readers/from-node.js +7 -8
  180. package/dist/readers/reader.d.ts +1 -1
  181. package/dist/register-track.d.ts +3 -3
  182. package/dist/run-parse-iteration.d.ts +8 -0
  183. package/dist/run-parse-iteration.js +48 -0
  184. package/dist/samples-from-moof.js +1 -1
  185. package/dist/state/aac-state.d.ts +13 -0
  186. package/dist/state/aac-state.js +17 -0
  187. package/dist/state/can-skip-tracks.d.ts +8 -1
  188. package/dist/state/can-skip-tracks.js +42 -27
  189. package/dist/state/emitted-fields.js +4 -0
  190. package/dist/state/flac-state.d.ts +4 -0
  191. package/dist/state/flac-state.js +13 -0
  192. package/dist/state/has-tracks-section.d.ts +2 -1
  193. package/dist/state/has-tracks-section.js +4 -1
  194. package/dist/state/iso-base-media/cached-sample-positions.d.ts +15 -0
  195. package/dist/state/iso-base-media/cached-sample-positions.js +42 -0
  196. package/dist/state/iso-base-media/iso-state.d.ts +8 -0
  197. package/dist/state/iso-base-media/iso-state.js +15 -0
  198. package/dist/{may-skip-video-data → state}/may-skip-video-data.d.ts +1 -1
  199. package/dist/{may-skip-video-data → state}/may-skip-video-data.js +6 -2
  200. package/dist/{may-skip-video-data → state}/need-samples-for-fields.js +4 -0
  201. package/dist/state/parser-state.d.ts +131 -17
  202. package/dist/state/parser-state.js +18 -5
  203. package/dist/state/sample-callbacks.d.ts +6 -2
  204. package/dist/state/sample-callbacks.js +5 -2
  205. package/dist/state/slow-duration-fps.d.ts +2 -0
  206. package/dist/state/slow-duration-fps.js +18 -0
  207. package/dist/state/transport-stream.d.ts +8 -0
  208. package/dist/state/transport-stream.js +11 -0
  209. package/dist/state/video-section.d.ts +16 -0
  210. package/dist/state/video-section.js +37 -0
  211. package/dist/state/webm.d.ts +17 -2
  212. package/dist/state/webm.js +33 -1
  213. package/dist/version.d.ts +1 -1
  214. package/dist/version.js +1 -1
  215. package/dist/webcodec-sample-types.d.ts +3 -3
  216. package/package.json +3 -3
  217. package/test.json +663 -0
  218. package/dist/boxes/iso-base-media/get-children.d.ts +0 -14
  219. package/dist/boxes/iso-base-media/get-children.js +0 -39
  220. package/dist/boxes/iso-base-media/mdat/mdat.d.ts +0 -26
  221. package/dist/boxes/iso-base-media/mdat/mdat.js +0 -141
  222. package/dist/boxes/iso-base-media/moov/moov.d.ts +0 -19
  223. package/dist/boxes/iso-base-media/moov/moov.js +0 -27
  224. package/dist/boxes/iso-base-media/parse-boxes.d.ts +0 -15
  225. package/dist/boxes/iso-base-media/parse-boxes.js +0 -129
  226. package/dist/boxes/iso-base-media/parse-mdat-partially.d.ts +0 -12
  227. package/dist/boxes/iso-base-media/parse-mdat-partially.js +0 -33
  228. package/dist/boxes/iso-base-media/process-box.d.ts +0 -15
  229. package/dist/boxes/iso-base-media/stsd/mebx.js +0 -32
  230. package/dist/boxes/iso-base-media/trak/trak.d.ts +0 -19
  231. package/dist/boxes/iso-base-media/trak/trak.js +0 -27
  232. package/dist/boxes/mp3/get-tracks-from-mp3.d.ts +0 -4
  233. package/dist/boxes/mp3/id3-v2.d.ts +0 -0
  234. package/dist/boxes/mp3/id3-v2.js +0 -1
  235. package/dist/boxes/mp3/id3.d.ts +0 -8
  236. package/dist/boxes/riff/continue-after-riff-result.d.ts +0 -13
  237. package/dist/boxes/riff/continue-after-riff-result.js +0 -34
  238. package/dist/boxes/riff/expect-riff-box.d.ts +0 -19
  239. package/dist/boxes/riff/expect-riff-box.js +0 -50
  240. package/dist/boxes/riff/parse-box.js +0 -35
  241. package/dist/boxes/riff/parse-fmt-box.d.ts +0 -7
  242. package/dist/boxes/riff/parse-fmt-box.js +0 -33
  243. package/dist/boxes/riff/parse-list-box.d.ts +0 -10
  244. package/dist/boxes/riff/parse-list-box.js +0 -31
  245. package/dist/boxes/riff/parse-movi.d.ts +0 -17
  246. package/dist/boxes/riff/parse-riff-body.d.ts +0 -11
  247. package/dist/boxes/riff/parse-riff-body.js +0 -105
  248. package/dist/boxes/riff/parse-riff-box.d.ts +0 -12
  249. package/dist/boxes/riff/parse-strf.d.ts +0 -7
  250. package/dist/boxes/transport-stream/get-tracks.d.ts +0 -5
  251. package/dist/boxes/transport-stream/parse-packet.d.ts +0 -13
  252. package/dist/boxes/transport-stream/parse-stream-packet.d.ts +0 -15
  253. package/dist/boxes/transport-stream/parse-transport-stream.d.ts +0 -13
  254. package/dist/boxes/webm/parse-webm-header.js +0 -37
  255. package/dist/boxes/webm/segments/parse-children.d.ts +0 -23
  256. package/dist/boxes/webm/segments/parse-children.js +0 -144
  257. package/dist/boxes/webm/segments.d.ts +0 -15
  258. package/dist/boxes/webm/segments.js +0 -161
  259. package/dist/continue-mdat-routine.d.ts +0 -17
  260. package/dist/continue-mdat-routine.js +0 -92
  261. package/dist/parse-video.d.ts +0 -28
  262. package/dist/parse-video.js +0 -130
  263. /package/dist/{boxes/iso-base-media/base-type.js → containers/aac/types.js} +0 -0
  264. /package/dist/{boxes → containers}/avc/codec-string.d.ts +0 -0
  265. /package/dist/{boxes → containers}/avc/codec-string.js +0 -0
  266. /package/dist/{boxes → containers}/avc/color.d.ts +0 -0
  267. /package/dist/{boxes → containers}/avc/color.js +0 -0
  268. /package/dist/{boxes → containers}/avc/create-sps-pps-data.d.ts +0 -0
  269. /package/dist/{boxes → containers}/avc/create-sps-pps-data.js +0 -0
  270. /package/dist/{boxes → containers}/avc/interpret-sps.d.ts +0 -0
  271. /package/dist/{boxes → containers}/avc/interpret-sps.js +0 -0
  272. /package/dist/{boxes → containers}/avc/key.js +0 -0
  273. /package/dist/{boxes → containers}/avc/parse-avc.d.ts +0 -0
  274. /package/dist/{boxes → containers}/avc/parse-avc.js +0 -0
  275. /package/dist/{boxes → containers}/avc/sps-and-pps.d.ts +0 -0
  276. /package/dist/{boxes → containers}/avc/sps-and-pps.js +0 -0
  277. /package/dist/{boxes/iso-base-media/void-box.js → containers/flac/types.js} +0 -0
  278. /package/dist/{boxes/riff/riff-box.js → containers/iso-base-media/base-media-box.js} +0 -0
  279. /package/dist/{boxes → containers}/iso-base-media/base-type.d.ts +0 -0
  280. /package/dist/{boxes/transport-stream/boxes.js → containers/iso-base-media/base-type.js} +0 -0
  281. /package/dist/{boxes → containers}/iso-base-media/esds/decoder-specific-config.d.ts +0 -0
  282. /package/dist/{boxes → containers}/iso-base-media/esds/decoder-specific-config.js +0 -0
  283. /package/dist/{boxes → containers}/iso-base-media/esds/esds-descriptors.d.ts +0 -0
  284. /package/dist/{boxes → containers}/iso-base-media/esds/esds-descriptors.js +0 -0
  285. /package/dist/{boxes → containers}/iso-base-media/esds/esds.d.ts +0 -0
  286. /package/dist/{boxes → containers}/iso-base-media/esds/esds.js +0 -0
  287. /package/dist/{boxes → containers}/iso-base-media/ftyp.d.ts +0 -0
  288. /package/dist/{boxes → containers}/iso-base-media/ftyp.js +0 -0
  289. /package/dist/{boxes → containers}/iso-base-media/get-actual-number-of-channels.d.ts +0 -0
  290. /package/dist/{boxes → containers}/iso-base-media/get-actual-number-of-channels.js +0 -0
  291. /package/dist/{boxes → containers}/iso-base-media/get-keyframes.d.ts +0 -0
  292. /package/dist/{boxes → containers}/iso-base-media/get-keyframes.js +0 -0
  293. /package/dist/{boxes → containers}/iso-base-media/get-sample-positions-from-track.js +0 -0
  294. /package/dist/{boxes → containers}/iso-base-media/get-video-codec-from-iso-track.d.ts +0 -0
  295. /package/dist/{boxes → containers}/iso-base-media/get-video-codec-from-iso-track.js +0 -0
  296. /package/dist/{boxes → containers}/iso-base-media/make-track.d.ts +0 -0
  297. /package/dist/{boxes → containers}/iso-base-media/make-track.js +0 -0
  298. /package/dist/{boxes → containers}/iso-base-media/mdhd.d.ts +0 -0
  299. /package/dist/{boxes → containers}/iso-base-media/mdhd.js +0 -0
  300. /package/dist/{boxes → containers}/iso-base-media/meta/hdlr.d.ts +0 -0
  301. /package/dist/{boxes → containers}/iso-base-media/meta/hdlr.js +0 -0
  302. /package/dist/{boxes → containers}/iso-base-media/meta/ilst.d.ts +0 -0
  303. /package/dist/{boxes → containers}/iso-base-media/meta/ilst.js +0 -0
  304. /package/dist/{boxes → containers}/iso-base-media/mvhd.d.ts +0 -0
  305. /package/dist/{boxes → containers}/iso-base-media/mvhd.js +0 -0
  306. /package/dist/{boxes → containers}/iso-base-media/parse-icc-profile.d.ts +0 -0
  307. /package/dist/{boxes → containers}/iso-base-media/parse-icc-profile.js +0 -0
  308. /package/dist/{boxes → containers}/iso-base-media/stsd/av1c.d.ts +0 -0
  309. /package/dist/{boxes → containers}/iso-base-media/stsd/av1c.js +0 -0
  310. /package/dist/{boxes → containers}/iso-base-media/stsd/avcc.d.ts +0 -0
  311. /package/dist/{boxes → containers}/iso-base-media/stsd/avcc.js +0 -0
  312. /package/dist/{boxes → containers}/iso-base-media/stsd/colr.d.ts +0 -0
  313. /package/dist/{boxes → containers}/iso-base-media/stsd/colr.js +0 -0
  314. /package/dist/{boxes → containers}/iso-base-media/stsd/ctts.d.ts +0 -0
  315. /package/dist/{boxes → containers}/iso-base-media/stsd/ctts.js +0 -0
  316. /package/dist/{boxes → containers}/iso-base-media/stsd/hvcc.d.ts +0 -0
  317. /package/dist/{boxes → containers}/iso-base-media/stsd/hvcc.js +0 -0
  318. /package/dist/{boxes → containers}/iso-base-media/stsd/keys.d.ts +0 -0
  319. /package/dist/{boxes → containers}/iso-base-media/stsd/keys.js +0 -0
  320. /package/dist/{boxes → containers}/iso-base-media/stsd/pasp.d.ts +0 -0
  321. /package/dist/{boxes → containers}/iso-base-media/stsd/pasp.js +0 -0
  322. /package/dist/{boxes → containers}/iso-base-media/stsd/stco.d.ts +0 -0
  323. /package/dist/{boxes → containers}/iso-base-media/stsd/stco.js +0 -0
  324. /package/dist/{boxes → containers}/iso-base-media/stsd/stsc.d.ts +0 -0
  325. /package/dist/{boxes → containers}/iso-base-media/stsd/stsc.js +0 -0
  326. /package/dist/{boxes → containers}/iso-base-media/stsd/stss.d.ts +0 -0
  327. /package/dist/{boxes → containers}/iso-base-media/stsd/stss.js +0 -0
  328. /package/dist/{boxes → containers}/iso-base-media/stsd/stsz.d.ts +0 -0
  329. /package/dist/{boxes → containers}/iso-base-media/stsd/stsz.js +0 -0
  330. /package/dist/{boxes → containers}/iso-base-media/stsd/stts.d.ts +0 -0
  331. /package/dist/{boxes → containers}/iso-base-media/stsd/stts.js +0 -0
  332. /package/dist/{boxes → containers}/iso-base-media/tfdt.d.ts +0 -0
  333. /package/dist/{boxes → containers}/iso-base-media/tfdt.js +0 -0
  334. /package/dist/{boxes → containers}/iso-base-media/tfhd.d.ts +0 -0
  335. /package/dist/{boxes → containers}/iso-base-media/tfhd.js +0 -0
  336. /package/dist/{boxes → containers}/iso-base-media/tkhd.d.ts +0 -0
  337. /package/dist/{boxes → containers}/iso-base-media/tkhd.js +0 -0
  338. /package/dist/{boxes → containers}/iso-base-media/to-date.d.ts +0 -0
  339. /package/dist/{boxes → containers}/iso-base-media/to-date.js +0 -0
  340. /package/dist/{boxes → containers}/iso-base-media/trun.d.ts +0 -0
  341. /package/dist/{boxes → containers}/iso-base-media/trun.js +0 -0
  342. /package/dist/{boxes → containers}/iso-base-media/void-box.d.ts +0 -0
  343. /package/dist/{boxes → containers}/mp3/get-duration.d.ts +0 -0
  344. /package/dist/{boxes → containers}/mp3/get-duration.js +0 -0
  345. /package/dist/{boxes → containers}/mp3/get-frame-length.d.ts +0 -0
  346. /package/dist/{boxes → containers}/mp3/get-frame-length.js +0 -0
  347. /package/dist/{boxes → containers}/mp3/get-metadata-from-mp3.d.ts +0 -0
  348. /package/dist/{boxes → containers}/mp3/get-metadata-from-mp3.js +0 -0
  349. /package/dist/{boxes → containers}/mp3/id3-v1.d.ts +0 -0
  350. /package/dist/{boxes → containers}/mp3/id3-v1.js +0 -0
  351. /package/dist/{boxes → containers}/mp3/samples-per-mpeg-file.d.ts +0 -0
  352. /package/dist/{boxes → containers}/mp3/samples-per-mpeg-file.js +0 -0
  353. /package/dist/{boxes → containers}/riff/is-movi.d.ts +0 -0
  354. /package/dist/{boxes → containers}/riff/is-movi.js +0 -0
  355. /package/dist/{boxes → containers}/riff/parse-avih.d.ts +0 -0
  356. /package/dist/{boxes → containers}/riff/parse-avih.js +0 -0
  357. /package/dist/{boxes → containers}/riff/parse-isft.d.ts +0 -0
  358. /package/dist/{boxes → containers}/riff/parse-isft.js +0 -0
  359. /package/dist/{boxes → containers}/riff/parse-strh.d.ts +0 -0
  360. /package/dist/{boxes → containers}/riff/timescale.d.ts +0 -0
  361. /package/dist/{boxes → containers}/riff/timescale.js +0 -0
  362. /package/dist/{boxes → containers}/transport-stream/adts-header.d.ts +0 -0
  363. /package/dist/{boxes → containers}/transport-stream/adts-header.js +0 -0
  364. /package/dist/{boxes → containers}/transport-stream/boxes.d.ts +0 -0
  365. /package/dist/{boxes → containers}/transport-stream/discard-rest-of-packet.d.ts +0 -0
  366. /package/dist/{boxes → containers}/transport-stream/discard-rest-of-packet.js +0 -0
  367. /package/dist/{boxes → containers}/transport-stream/find-separator.d.ts +0 -0
  368. /package/dist/{boxes → containers}/transport-stream/find-separator.js +0 -0
  369. /package/dist/{boxes → containers}/transport-stream/handle-aac-packet.d.ts +0 -0
  370. /package/dist/{boxes → containers}/transport-stream/handle-aac-packet.js +0 -0
  371. /package/dist/{boxes → containers}/transport-stream/handle-avc-packet.d.ts +0 -0
  372. /package/dist/{boxes → containers}/transport-stream/handle-avc-packet.js +0 -0
  373. /package/dist/{boxes → containers}/transport-stream/next-pes-header-store.d.ts +0 -0
  374. /package/dist/{boxes → containers}/transport-stream/next-pes-header-store.js +0 -0
  375. /package/dist/{boxes → containers}/transport-stream/parse-pat.d.ts +0 -0
  376. /package/dist/{boxes → containers}/transport-stream/parse-pat.js +0 -0
  377. /package/dist/{boxes → containers}/transport-stream/parse-pes.d.ts +0 -0
  378. /package/dist/{boxes → containers}/transport-stream/parse-pes.js +0 -0
  379. /package/dist/{boxes → containers}/transport-stream/parse-pmt.d.ts +0 -0
  380. /package/dist/{boxes → containers}/transport-stream/parse-pmt.js +0 -0
  381. /package/dist/{boxes → containers}/transport-stream/traversal.d.ts +0 -0
  382. /package/dist/{boxes → containers}/transport-stream/traversal.js +0 -0
  383. /package/dist/{boxes → containers}/webm/allowed-partial-segments.d.ts +0 -0
  384. /package/dist/{boxes → containers}/webm/allowed-partial-segments.js +0 -0
  385. /package/dist/{boxes → containers}/webm/av1-codec-private.d.ts +0 -0
  386. /package/dist/{boxes → containers}/webm/av1-codec-private.js +0 -0
  387. /package/dist/{boxes → containers}/webm/color.d.ts +0 -0
  388. /package/dist/{boxes → containers}/webm/color.js +0 -0
  389. /package/dist/{boxes → containers}/webm/description.d.ts +0 -0
  390. /package/dist/{boxes → containers}/webm/description.js +0 -0
  391. /package/dist/{boxes → containers}/webm/get-ready-tracks.d.ts +0 -0
  392. /package/dist/{boxes → containers}/webm/get-ready-tracks.js +0 -0
  393. /package/dist/{boxes → containers}/webm/get-sample-from-block.d.ts +0 -0
  394. /package/dist/{boxes → containers}/webm/get-sample-from-block.js +0 -0
  395. /package/dist/{boxes → containers}/webm/make-track.d.ts +0 -0
  396. /package/dist/{boxes → containers}/webm/make-track.js +0 -0
  397. /package/dist/{boxes → containers}/webm/segments/all-segments.d.ts +0 -0
  398. /package/dist/{boxes → containers}/webm/segments/all-segments.js +0 -0
  399. /package/dist/{boxes → containers}/webm/segments/block-simple-block-flags.d.ts +0 -0
  400. /package/dist/{boxes → containers}/webm/segments/block-simple-block-flags.js +0 -0
  401. /package/dist/{boxes → containers}/webm/segments/track-entry.d.ts +0 -0
  402. /package/dist/{boxes → containers}/webm/segments/track-entry.js +0 -0
  403. /package/dist/{boxes → containers}/webm/traversal.d.ts +0 -0
  404. /package/dist/{boxes → containers}/webm/traversal.js +0 -0
  405. /package/dist/{may-skip-video-data → state}/need-samples-for-fields.d.ts +0 -0
@@ -1,9 +1,7 @@
1
1
  import type { AllParseMediaFields, Options, ParseMediaCallbacks, ParseMediaFields, ParseMediaResult } from './options';
2
- import type { ParseResult } from './parse-result';
3
2
  import type { ParserState } from './state/parser-state';
4
- export declare const emitAvailableInfo: ({ hasInfo, parseResult, callbacks, state, returnValue, contentLength, name, mimeType, fieldsInReturnValue, }: {
3
+ export declare const emitAvailableInfo: ({ hasInfo, callbacks, state, returnValue, contentLength, name, mimeType, fieldsInReturnValue, }: {
5
4
  hasInfo: Record<keyof Options<ParseMediaFields>, boolean>;
6
- parseResult: ParseResult | null;
7
5
  callbacks: ParseMediaCallbacks;
8
6
  fieldsInReturnValue: Options<ParseMediaFields>;
9
7
  state: ParserState;
@@ -9,32 +9,30 @@ const get_fps_1 = require("./get-fps");
9
9
  const get_is_hdr_1 = require("./get-is-hdr");
10
10
  const get_keyframes_1 = require("./get-keyframes");
11
11
  const get_location_1 = require("./get-location");
12
+ const get_number_of_audio_channels_1 = require("./get-number-of-audio-channels");
13
+ const get_sample_rate_1 = require("./get-sample-rate");
12
14
  const get_tracks_1 = require("./get-tracks");
13
15
  const get_video_codec_1 = require("./get-video-codec");
14
16
  const get_metadata_1 = require("./metadata/get-metadata");
15
- const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue, contentLength, name, mimeType, fieldsInReturnValue, }) => {
16
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
17
+ const emitAvailableInfo = ({ hasInfo, callbacks, state, returnValue, contentLength, name, mimeType, fieldsInReturnValue, }) => {
18
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
17
19
  const keys = Object.keys(hasInfo);
18
- const segments = state.structure.getStructureOrNull();
19
20
  const { emittedFields } = state;
20
21
  for (const key of keys) {
21
22
  if (key === 'structure') {
22
- if (parseResult &&
23
- hasInfo.structure &&
24
- !emittedFields.structure &&
25
- segments) {
26
- (_a = callbacks.onStructure) === null || _a === void 0 ? void 0 : _a.call(callbacks, segments);
23
+ if (hasInfo.structure && !emittedFields.structure) {
24
+ (_a = callbacks.onStructure) === null || _a === void 0 ? void 0 : _a.call(callbacks, state.structure.getStructure());
27
25
  if (fieldsInReturnValue.structure) {
28
- returnValue.structure = segments;
26
+ returnValue.structure = state.structure.getStructure();
29
27
  }
30
28
  emittedFields.structure = true;
31
29
  }
32
30
  continue;
33
31
  }
34
32
  if (key === 'durationInSeconds') {
35
- if (hasInfo.durationInSeconds && parseResult && segments) {
33
+ if (hasInfo.durationInSeconds) {
36
34
  if (!emittedFields.durationInSeconds) {
37
- const durationInSeconds = (0, get_duration_1.getDuration)(segments, state);
35
+ const durationInSeconds = (0, get_duration_1.getDuration)(state);
38
36
  (_b = callbacks.onDurationInSeconds) === null || _b === void 0 ? void 0 : _b.call(callbacks, durationInSeconds);
39
37
  if (fieldsInReturnValue.durationInSeconds) {
40
38
  returnValue.durationInSeconds = durationInSeconds;
@@ -46,10 +44,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
46
44
  }
47
45
  if (key === 'slowDurationInSeconds') {
48
46
  if (hasInfo.slowDurationInSeconds &&
49
- !emittedFields.slowDurationInSeconds &&
50
- parseResult &&
51
- segments) {
52
- const slowDurationInSeconds = (_c = (0, get_duration_1.getDuration)(segments, state)) !== null && _c !== void 0 ? _c : state.slowDurationAndFps.getSlowDurationInSeconds();
47
+ !emittedFields.slowDurationInSeconds) {
48
+ const slowDurationInSeconds = (_c = (0, get_duration_1.getDuration)(state)) !== null && _c !== void 0 ? _c : state.slowDurationAndFps.getSlowDurationInSeconds();
53
49
  (_d = callbacks.onSlowDurationInSeconds) === null || _d === void 0 ? void 0 : _d.call(callbacks, slowDurationInSeconds);
54
50
  if (fieldsInReturnValue.slowDurationInSeconds) {
55
51
  returnValue.slowDurationInSeconds = slowDurationInSeconds;
@@ -59,9 +55,9 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
59
55
  continue;
60
56
  }
61
57
  if (key === 'fps') {
62
- if (hasInfo.fps && parseResult && segments) {
58
+ if (hasInfo.fps) {
63
59
  if (!emittedFields.fps) {
64
- const fps = (0, get_fps_1.getFps)(segments);
60
+ const fps = (0, get_fps_1.getFps)(state.structure.getStructure());
65
61
  (_e = callbacks.onFps) === null || _e === void 0 ? void 0 : _e.call(callbacks, fps);
66
62
  if (fieldsInReturnValue.fps) {
67
63
  returnValue.fps = fps;
@@ -69,7 +65,7 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
69
65
  emittedFields.fps = true;
70
66
  }
71
67
  if (!emittedFields.slowFps) {
72
- const fps = (0, get_fps_1.getFps)(segments);
68
+ const fps = (0, get_fps_1.getFps)(state.structure.getStructure());
73
69
  if (fps) {
74
70
  (_f = callbacks.onSlowFps) === null || _f === void 0 ? void 0 : _f.call(callbacks, fps);
75
71
  if (fieldsInReturnValue.slowFps) {
@@ -83,10 +79,7 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
83
79
  }
84
80
  // must be handled after fps
85
81
  if (key === 'slowFps') {
86
- if (hasInfo.slowFps &&
87
- !emittedFields.slowFps &&
88
- parseResult &&
89
- segments) {
82
+ if (hasInfo.slowFps && !emittedFields.slowFps) {
90
83
  const slowFps = state.slowDurationAndFps.getFps();
91
84
  (_g = callbacks.onSlowFps) === null || _g === void 0 ? void 0 : _g.call(callbacks, slowFps);
92
85
  if (fieldsInReturnValue.slowFps) {
@@ -97,11 +90,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
97
90
  continue;
98
91
  }
99
92
  if (key === 'dimensions') {
100
- if (hasInfo.dimensions &&
101
- !emittedFields.dimensions &&
102
- parseResult &&
103
- segments) {
104
- const dimensionsQueried = (0, get_dimensions_1.getDimensions)(segments, state);
93
+ if (hasInfo.dimensions && !emittedFields.dimensions) {
94
+ const dimensionsQueried = (0, get_dimensions_1.getDimensions)(state);
105
95
  const dimensions = dimensionsQueried === null
106
96
  ? null
107
97
  : {
@@ -117,11 +107,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
117
107
  continue;
118
108
  }
119
109
  if (key === 'unrotatedDimensions') {
120
- if (hasInfo.unrotatedDimensions &&
121
- !emittedFields.unrotatedDimensions &&
122
- parseResult &&
123
- segments) {
124
- const dimensionsQueried = (0, get_dimensions_1.getDimensions)(segments, state);
110
+ if (hasInfo.unrotatedDimensions && !emittedFields.unrotatedDimensions) {
111
+ const dimensionsQueried = (0, get_dimensions_1.getDimensions)(state);
125
112
  const unrotatedDimensions = dimensionsQueried === null
126
113
  ? null
127
114
  : {
@@ -137,11 +124,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
137
124
  continue;
138
125
  }
139
126
  if (key === 'rotation') {
140
- if (hasInfo.rotation &&
141
- !emittedFields.rotation &&
142
- parseResult &&
143
- segments) {
144
- const dimensionsQueried = (0, get_dimensions_1.getDimensions)(segments, state);
127
+ if (hasInfo.rotation && !emittedFields.rotation) {
128
+ const dimensionsQueried = (0, get_dimensions_1.getDimensions)(state);
145
129
  const rotation = (_k = dimensionsQueried === null || dimensionsQueried === void 0 ? void 0 : dimensionsQueried.rotation) !== null && _k !== void 0 ? _k : 0;
146
130
  (_l = callbacks.onRotation) === null || _l === void 0 ? void 0 : _l.call(callbacks, rotation);
147
131
  if (fieldsInReturnValue.rotation) {
@@ -152,11 +136,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
152
136
  continue;
153
137
  }
154
138
  if (key === 'videoCodec') {
155
- if (!emittedFields.videoCodec &&
156
- hasInfo.videoCodec &&
157
- parseResult &&
158
- segments) {
159
- const videoCodec = (0, get_video_codec_1.getVideoCodec)(segments, state);
139
+ if (!emittedFields.videoCodec && hasInfo.videoCodec) {
140
+ const videoCodec = (0, get_video_codec_1.getVideoCodec)(state);
160
141
  (_m = callbacks.onVideoCodec) === null || _m === void 0 ? void 0 : _m.call(callbacks, videoCodec);
161
142
  if (fieldsInReturnValue.videoCodec) {
162
143
  returnValue.videoCodec = videoCodec;
@@ -166,11 +147,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
166
147
  continue;
167
148
  }
168
149
  if (key === 'audioCodec') {
169
- if (!emittedFields.audioCodec &&
170
- hasInfo.audioCodec &&
171
- parseResult &&
172
- segments) {
173
- const audioCodec = (0, get_audio_codec_1.getAudioCodec)(segments, state);
150
+ if (!emittedFields.audioCodec && hasInfo.audioCodec) {
151
+ const audioCodec = (0, get_audio_codec_1.getAudioCodec)(state);
174
152
  (_o = callbacks.onAudioCodec) === null || _o === void 0 ? void 0 : _o.call(callbacks, audioCodec);
175
153
  if (fieldsInReturnValue.audioCodec) {
176
154
  returnValue.audioCodec = audioCodec;
@@ -180,8 +158,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
180
158
  continue;
181
159
  }
182
160
  if (key === 'tracks') {
183
- if (!emittedFields.tracks && hasInfo.tracks && parseResult && segments) {
184
- const { videoTracks, audioTracks } = (0, get_tracks_1.getTracks)(segments, state);
161
+ if (!emittedFields.tracks && hasInfo.tracks) {
162
+ const { videoTracks, audioTracks } = (0, get_tracks_1.getTracks)(state);
185
163
  (_p = callbacks.onTracks) === null || _p === void 0 ? void 0 : _p.call(callbacks, { videoTracks, audioTracks });
186
164
  if (fieldsInReturnValue.tracks) {
187
165
  returnValue.tracks = { videoTracks, audioTracks };
@@ -232,8 +210,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
232
210
  continue;
233
211
  }
234
212
  if (key === 'isHdr') {
235
- if (!returnValue.isHdr && hasInfo.isHdr && parseResult && segments) {
236
- const isHdr = (0, get_is_hdr_1.getIsHdr)(segments, state);
213
+ if (!returnValue.isHdr && hasInfo.isHdr) {
214
+ const isHdr = (0, get_is_hdr_1.getIsHdr)(state);
237
215
  (_t = callbacks.onIsHdr) === null || _t === void 0 ? void 0 : _t.call(callbacks, isHdr);
238
216
  if (fieldsInReturnValue.isHdr) {
239
217
  returnValue.isHdr = isHdr;
@@ -243,11 +221,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
243
221
  continue;
244
222
  }
245
223
  if (key === 'container') {
246
- if (!returnValue.container &&
247
- hasInfo.container &&
248
- parseResult &&
249
- segments) {
250
- const container = (0, get_container_1.getContainer)(segments);
224
+ if (!returnValue.container && hasInfo.container) {
225
+ const container = (0, get_container_1.getContainer)(state.structure.getStructure());
251
226
  (_u = callbacks.onContainer) === null || _u === void 0 ? void 0 : _u.call(callbacks, container);
252
227
  if (fieldsInReturnValue.container) {
253
228
  returnValue.container = container;
@@ -257,11 +232,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
257
232
  continue;
258
233
  }
259
234
  if (key === 'metadata') {
260
- if (!emittedFields.metadata &&
261
- hasInfo.metadata &&
262
- parseResult &&
263
- segments) {
264
- const metadata = (0, get_metadata_1.getMetadata)(segments);
235
+ if (!emittedFields.metadata && hasInfo.metadata) {
236
+ const metadata = (0, get_metadata_1.getMetadata)(state.structure.getStructure());
265
237
  (_v = callbacks.onMetadata) === null || _v === void 0 ? void 0 : _v.call(callbacks, metadata);
266
238
  if (fieldsInReturnValue.metadata) {
267
239
  returnValue.metadata = metadata;
@@ -271,11 +243,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
271
243
  continue;
272
244
  }
273
245
  if (key === 'location') {
274
- if (!emittedFields.location &&
275
- hasInfo.location &&
276
- parseResult &&
277
- segments) {
278
- const location = (0, get_location_1.getLocation)(segments);
246
+ if (!emittedFields.location && hasInfo.location) {
247
+ const location = (0, get_location_1.getLocation)(state.structure.getStructure());
279
248
  (_w = callbacks.onLocation) === null || _w === void 0 ? void 0 : _w.call(callbacks, location);
280
249
  if (fieldsInReturnValue.location) {
281
250
  returnValue.location = location;
@@ -285,9 +254,7 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
285
254
  continue;
286
255
  }
287
256
  if (key === 'slowKeyframes') {
288
- if (!emittedFields.slowKeyframes &&
289
- hasInfo.slowKeyframes &&
290
- parseResult) {
257
+ if (!emittedFields.slowKeyframes && hasInfo.slowKeyframes) {
291
258
  (_x = callbacks.onSlowKeyframes) === null || _x === void 0 ? void 0 : _x.call(callbacks, state.keyframes.getKeyframes());
292
259
  if (fieldsInReturnValue.slowKeyframes) {
293
260
  returnValue.slowKeyframes = state.keyframes.getKeyframes();
@@ -297,9 +264,7 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
297
264
  continue;
298
265
  }
299
266
  if (key === 'slowNumberOfFrames') {
300
- if (!emittedFields.slowNumberOfFrames &&
301
- hasInfo.slowNumberOfFrames &&
302
- parseResult) {
267
+ if (!emittedFields.slowNumberOfFrames && hasInfo.slowNumberOfFrames) {
303
268
  (_y = callbacks.onSlowNumberOfFrames) === null || _y === void 0 ? void 0 : _y.call(callbacks, state.slowDurationAndFps.getSlowNumberOfFrames());
304
269
  if (fieldsInReturnValue.slowNumberOfFrames) {
305
270
  returnValue.slowNumberOfFrames =
@@ -309,9 +274,31 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
309
274
  }
310
275
  continue;
311
276
  }
277
+ if (key === 'slowAudioBitrate') {
278
+ if (!emittedFields.slowAudioBitrate && hasInfo.slowAudioBitrate) {
279
+ (_z = callbacks.onSlowAudioBitrate) === null || _z === void 0 ? void 0 : _z.call(callbacks, state.slowDurationAndFps.getAudioBitrate());
280
+ if (fieldsInReturnValue.slowAudioBitrate) {
281
+ returnValue.slowAudioBitrate =
282
+ state.slowDurationAndFps.getAudioBitrate();
283
+ }
284
+ emittedFields.slowAudioBitrate = true;
285
+ }
286
+ continue;
287
+ }
288
+ if (key === 'slowVideoBitrate') {
289
+ if (!emittedFields.slowVideoBitrate && hasInfo.slowVideoBitrate) {
290
+ (_0 = callbacks.onSlowVideoBitrate) === null || _0 === void 0 ? void 0 : _0.call(callbacks, state.slowDurationAndFps.getVideoBitrate());
291
+ if (fieldsInReturnValue.slowVideoBitrate) {
292
+ returnValue.slowVideoBitrate =
293
+ state.slowDurationAndFps.getVideoBitrate();
294
+ }
295
+ emittedFields.slowVideoBitrate = true;
296
+ }
297
+ continue;
298
+ }
312
299
  if (key === 'keyframes') {
313
- if (!emittedFields.keyframes && hasInfo.keyframes && parseResult) {
314
- (_z = callbacks.onKeyframes) === null || _z === void 0 ? void 0 : _z.call(callbacks, (0, get_keyframes_1.getKeyframes)(state.structure.getStructure()));
300
+ if (!emittedFields.keyframes && hasInfo.keyframes) {
301
+ (_1 = callbacks.onKeyframes) === null || _1 === void 0 ? void 0 : _1.call(callbacks, (0, get_keyframes_1.getKeyframes)(state.structure.getStructure()));
315
302
  if (fieldsInReturnValue.keyframes) {
316
303
  returnValue.keyframes = (0, get_keyframes_1.getKeyframes)(state.structure.getStructure());
317
304
  }
@@ -320,8 +307,8 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
320
307
  continue;
321
308
  }
322
309
  if (key === 'images') {
323
- if (!emittedFields.images && hasInfo.images && parseResult) {
324
- (_0 = callbacks.onImages) === null || _0 === void 0 ? void 0 : _0.call(callbacks, state.images.images);
310
+ if (!emittedFields.images && hasInfo.images) {
311
+ (_2 = callbacks.onImages) === null || _2 === void 0 ? void 0 : _2.call(callbacks, state.images.images);
325
312
  if (fieldsInReturnValue.images) {
326
313
  returnValue.images = state.images.images;
327
314
  }
@@ -329,6 +316,29 @@ const emitAvailableInfo = ({ hasInfo, parseResult, callbacks, state, returnValue
329
316
  }
330
317
  continue;
331
318
  }
319
+ if (key === 'sampleRate') {
320
+ if (!emittedFields.sampleRate && hasInfo.sampleRate) {
321
+ const sampleRate = (0, get_sample_rate_1.getSampleRate)(state);
322
+ (_3 = callbacks.onSampleRate) === null || _3 === void 0 ? void 0 : _3.call(callbacks, sampleRate);
323
+ if (fieldsInReturnValue.sampleRate) {
324
+ returnValue.sampleRate = sampleRate;
325
+ }
326
+ emittedFields.sampleRate = true;
327
+ }
328
+ continue;
329
+ }
330
+ if (key === 'numberOfAudioChannels') {
331
+ if (!emittedFields.numberOfAudioChannels &&
332
+ hasInfo.numberOfAudioChannels) {
333
+ const numberOfAudioChannels = (0, get_number_of_audio_channels_1.getNumberOfAudioChannels)(state);
334
+ (_4 = callbacks.onNumberOfAudioChannels) === null || _4 === void 0 ? void 0 : _4.call(callbacks, numberOfAudioChannels);
335
+ if (fieldsInReturnValue.numberOfAudioChannels) {
336
+ returnValue.numberOfAudioChannels = numberOfAudioChannels;
337
+ }
338
+ emittedFields.numberOfAudioChannels = true;
339
+ }
340
+ continue;
341
+ }
332
342
  throw new Error(`Unhandled key: ${key}`);
333
343
  }
334
344
  };
package/dist/errors.d.ts CHANGED
@@ -51,7 +51,7 @@ export declare class IsAnUnsupportedFileTypeError extends Error {
51
51
  fileName: string | null;
52
52
  });
53
53
  }
54
- type UnsupportedAudioType = 'mp3' | 'wav' | 'aac';
54
+ type UnsupportedAudioType = never;
55
55
  export declare class IsAnUnsupportedAudioTypeError extends Error {
56
56
  mimeType: string | null;
57
57
  sizeInBytes: number | null;
@@ -1,10 +1,9 @@
1
1
  // src/readers/from-node.ts
2
- import { createReadStream } from "fs";
3
- import { stat } from "node:fs/promises";
2
+ import { createReadStream, statSync } from "fs";
4
3
  import { sep } from "path";
5
4
  import { Readable } from "stream";
6
5
  var nodeReader = {
7
- read: async (src, range, signal) => {
6
+ read: (src, range, signal) => {
8
7
  if (typeof src !== "string") {
9
8
  throw new Error("src must be a string when using `nodeReader`");
10
9
  }
@@ -17,7 +16,7 @@ var nodeReader = {
17
16
  signal?.addEventListener("abort", () => {
18
17
  controller.abort();
19
18
  }, { once: true });
20
- const stats = await stat(src);
19
+ const stats = statSync(src);
21
20
  const reader = Readable.toWeb(stream).getReader();
22
21
  if (signal) {
23
22
  signal.addEventListener("abort", () => {
@@ -25,7 +24,7 @@ var nodeReader = {
25
24
  });
26
25
  }, { once: true });
27
26
  }
28
- return {
27
+ return Promise.resolve({
29
28
  reader: {
30
29
  reader,
31
30
  abort: () => {
@@ -36,14 +35,14 @@ var nodeReader = {
36
35
  contentType: null,
37
36
  name: src.split(sep).pop(),
38
37
  supportsContentRange: true
39
- };
38
+ });
40
39
  },
41
- getLength: async (src) => {
40
+ getLength: (src) => {
42
41
  if (typeof src !== "string") {
43
42
  throw new Error("src must be a string when using `nodeReader`");
44
43
  }
45
- const stats = await stat(src);
46
- return stats.size;
44
+ const stats = statSync(src);
45
+ return Promise.resolve(stats.size);
47
46
  }
48
47
  };
49
48
  export {