@remotion/media-parser 4.0.270 → 4.0.272

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 (338) 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.d.ts +1 -1
  16. package/dist/containers/flac/get-channel-count.js +1 -5
  17. package/dist/containers/flac/get-duration-from-flac.js +1 -5
  18. package/dist/containers/flac/get-metadata-from-flac.d.ts +1 -1
  19. package/dist/containers/flac/get-metadata-from-flac.js +1 -5
  20. package/dist/containers/flac/get-sample-rate.js +1 -5
  21. package/dist/containers/flac/parse-flac-frame.js +14 -19
  22. package/dist/containers/flac/parse-flac.js +15 -19
  23. package/dist/containers/flac/parse-header.js +1 -5
  24. package/dist/containers/flac/parse-metadata.js +1 -5
  25. package/dist/containers/flac/parse-streaminfo.js +3 -7
  26. package/dist/containers/flac/parse-unknown-block.js +1 -5
  27. package/dist/containers/flac/types.d.ts +2 -2
  28. package/dist/containers/flac/types.js +1 -2
  29. package/dist/containers/iso-base-media/base-media-box.js +1 -2
  30. package/dist/containers/iso-base-media/base-type.js +1 -2
  31. package/dist/containers/iso-base-media/esds/decoder-specific-config.js +1 -5
  32. package/dist/containers/iso-base-media/esds/esds-descriptors.js +5 -10
  33. package/dist/containers/iso-base-media/esds/esds.js +3 -7
  34. package/dist/containers/iso-base-media/ftyp.js +1 -5
  35. package/dist/containers/iso-base-media/get-actual-number-of-channels.js +4 -8
  36. package/dist/containers/iso-base-media/get-children.js +3 -7
  37. package/dist/containers/iso-base-media/get-keyframes.js +7 -11
  38. package/dist/containers/iso-base-media/get-moov-atom.js +21 -15
  39. package/dist/containers/iso-base-media/get-sample-positions-from-track.js +20 -24
  40. package/dist/containers/iso-base-media/get-video-codec-from-iso-track.d.ts +1 -1
  41. package/dist/containers/iso-base-media/get-video-codec-from-iso-track.js +3 -7
  42. package/dist/containers/iso-base-media/make-track.js +30 -34
  43. package/dist/containers/iso-base-media/mdat/mdat.js +16 -20
  44. package/dist/containers/iso-base-media/mdhd.js +1 -5
  45. package/dist/containers/iso-base-media/meta/hdlr.js +1 -5
  46. package/dist/containers/iso-base-media/meta/ilst.js +1 -5
  47. package/dist/containers/iso-base-media/moov/moov.js +3 -7
  48. package/dist/containers/iso-base-media/mvhd.js +7 -11
  49. package/dist/containers/iso-base-media/parse-boxes.js +5 -9
  50. package/dist/containers/iso-base-media/parse-icc-profile.js +4 -8
  51. package/dist/containers/iso-base-media/process-box.js +63 -67
  52. package/dist/containers/iso-base-media/stsd/av1c.js +1 -5
  53. package/dist/containers/iso-base-media/stsd/avcc.js +1 -5
  54. package/dist/containers/iso-base-media/stsd/colr.js +3 -7
  55. package/dist/containers/iso-base-media/stsd/ctts.js +1 -5
  56. package/dist/containers/iso-base-media/stsd/hvcc.js +3 -7
  57. package/dist/containers/iso-base-media/stsd/keys.js +1 -5
  58. package/dist/containers/iso-base-media/stsd/mebx.js +3 -7
  59. package/dist/containers/iso-base-media/stsd/pasp.js +1 -5
  60. package/dist/containers/iso-base-media/stsd/samples.js +8 -13
  61. package/dist/containers/iso-base-media/stsd/stco.js +1 -5
  62. package/dist/containers/iso-base-media/stsd/stsc.js +1 -5
  63. package/dist/containers/iso-base-media/stsd/stsd.js +3 -7
  64. package/dist/containers/iso-base-media/stsd/stss.js +1 -5
  65. package/dist/containers/iso-base-media/stsd/stsz.js +1 -5
  66. package/dist/containers/iso-base-media/stsd/stts.js +1 -5
  67. package/dist/containers/iso-base-media/tfdt.js +1 -5
  68. package/dist/containers/iso-base-media/tfhd.js +1 -5
  69. package/dist/containers/iso-base-media/tkhd.js +4 -8
  70. package/dist/containers/iso-base-media/to-date.js +1 -5
  71. package/dist/containers/iso-base-media/trak/trak.js +3 -7
  72. package/dist/containers/iso-base-media/traversal.d.ts +3 -2
  73. package/dist/containers/iso-base-media/traversal.js +42 -57
  74. package/dist/containers/iso-base-media/trun.js +2 -6
  75. package/dist/containers/iso-base-media/void-box.js +1 -2
  76. package/dist/containers/m3u/after-manifest-fetch.d.ts +5 -3
  77. package/dist/containers/m3u/after-manifest-fetch.js +13 -17
  78. package/dist/containers/m3u/fetch-m3u8-stream.d.ts +5 -1
  79. package/dist/containers/m3u/fetch-m3u8-stream.js +4 -12
  80. package/dist/containers/m3u/get-chunks.d.ts +1 -0
  81. package/dist/containers/m3u/get-chunks.js +6 -6
  82. package/dist/containers/m3u/get-duration-from-m3u.js +4 -8
  83. package/dist/containers/m3u/get-playlist.js +6 -12
  84. package/dist/containers/m3u/get-streams.d.ts +11 -5
  85. package/dist/containers/m3u/get-streams.js +5 -15
  86. package/dist/containers/m3u/iterate-over-segment-files.d.ts +19 -0
  87. package/dist/containers/m3u/iterate-over-segment-files.js +110 -0
  88. package/dist/containers/m3u/parse-directive.js +24 -10
  89. package/dist/containers/m3u/parse-m3u-manifest.js +3 -7
  90. package/dist/containers/m3u/parse-m3u-media-directive.d.ts +1 -0
  91. package/dist/containers/m3u/parse-m3u-media-directive.js +7 -7
  92. package/dist/containers/m3u/parse-m3u.js +13 -13
  93. package/dist/containers/m3u/parse-m3u8-text.js +3 -7
  94. package/dist/containers/m3u/parse-stream-inf.js +2 -7
  95. package/dist/containers/m3u/return-packets.d.ts +1 -1
  96. package/dist/containers/m3u/return-packets.js +14 -5
  97. package/dist/containers/m3u/run-over-m3u.js +68 -57
  98. package/dist/containers/m3u/sample-sorter.d.ts +2 -0
  99. package/dist/containers/m3u/sample-sorter.js +17 -9
  100. package/dist/containers/m3u/select-stream.d.ts +3 -2
  101. package/dist/containers/m3u/select-stream.js +9 -13
  102. package/dist/containers/m3u/types.d.ts +9 -2
  103. package/dist/containers/m3u/types.js +1 -2
  104. package/dist/containers/mp3/get-duration.js +5 -9
  105. package/dist/containers/mp3/get-frame-length.js +2 -7
  106. package/dist/containers/mp3/get-metadata-from-mp3.d.ts +2 -2
  107. package/dist/containers/mp3/get-metadata-from-mp3.js +1 -5
  108. package/dist/containers/mp3/id3-v1.js +1 -5
  109. package/dist/containers/mp3/id3.js +1 -5
  110. package/dist/containers/mp3/parse-mp3.js +7 -11
  111. package/dist/containers/mp3/parse-mpeg-header.js +10 -14
  112. package/dist/containers/mp3/samples-per-mpeg-file.js +1 -5
  113. package/dist/containers/riff/expect-riff-box.js +11 -15
  114. package/dist/containers/riff/get-duration.js +7 -12
  115. package/dist/containers/riff/get-tracks-from-avi.js +20 -28
  116. package/dist/containers/riff/is-movi.js +1 -5
  117. package/dist/containers/riff/parse-avih.js +1 -5
  118. package/dist/containers/riff/parse-isft.js +1 -5
  119. package/dist/containers/riff/parse-list-box.js +3 -7
  120. package/dist/containers/riff/parse-movi.js +13 -18
  121. package/dist/containers/riff/parse-riff-body.js +9 -13
  122. package/dist/containers/riff/parse-riff-box.js +9 -13
  123. package/dist/containers/riff/parse-riff-header.js +1 -5
  124. package/dist/containers/riff/parse-riff.js +5 -9
  125. package/dist/containers/riff/parse-strf.js +1 -5
  126. package/dist/containers/riff/parse-strh.js +3 -7
  127. package/dist/containers/riff/parse-video-section.js +7 -11
  128. package/dist/containers/riff/riff-box.js +1 -2
  129. package/dist/containers/riff/timescale.js +1 -4
  130. package/dist/containers/riff/traversal.js +7 -15
  131. package/dist/containers/transport-stream/adts-header.js +6 -10
  132. package/dist/containers/transport-stream/boxes.js +1 -2
  133. package/dist/containers/transport-stream/discard-rest-of-packet.js +2 -7
  134. package/dist/containers/transport-stream/find-separator.js +1 -4
  135. package/dist/containers/transport-stream/get-tracks.d.ts +2 -0
  136. package/dist/containers/transport-stream/get-tracks.js +13 -14
  137. package/dist/containers/transport-stream/handle-aac-packet.js +12 -16
  138. package/dist/containers/transport-stream/handle-avc-packet.js +22 -26
  139. package/dist/containers/transport-stream/next-pes-header-store.js +1 -5
  140. package/dist/containers/transport-stream/parse-packet.js +13 -17
  141. package/dist/containers/transport-stream/parse-pat.js +5 -10
  142. package/dist/containers/transport-stream/parse-pes.js +1 -5
  143. package/dist/containers/transport-stream/parse-pmt.js +8 -12
  144. package/dist/containers/transport-stream/parse-stream-packet.js +13 -17
  145. package/dist/containers/transport-stream/parse-transport-stream.js +5 -9
  146. package/dist/containers/transport-stream/process-stream-buffers.js +12 -16
  147. package/dist/containers/transport-stream/traversal.js +4 -10
  148. package/dist/containers/wav/get-duration-from-wav.js +3 -8
  149. package/dist/containers/wav/get-metadata-from-wav.d.ts +2 -2
  150. package/dist/containers/wav/get-metadata-from-wav.js +1 -5
  151. package/dist/containers/wav/parse-data.js +5 -9
  152. package/dist/containers/wav/parse-fmt.js +3 -7
  153. package/dist/containers/wav/parse-header.js +1 -5
  154. package/dist/containers/wav/parse-id3.js +1 -5
  155. package/dist/containers/wav/parse-list.js +1 -5
  156. package/dist/containers/wav/parse-video-section.js +3 -7
  157. package/dist/containers/wav/parse-wav.js +15 -19
  158. package/dist/containers/wav/types.d.ts +2 -2
  159. package/dist/containers/wav/types.js +1 -2
  160. package/dist/containers/webm/allowed-partial-segments.js +1 -4
  161. package/dist/containers/webm/av1-codec-private.js +3 -7
  162. package/dist/containers/webm/color.js +6 -10
  163. package/dist/containers/webm/description.js +6 -10
  164. package/dist/containers/webm/get-ready-tracks.js +13 -18
  165. package/dist/containers/webm/get-sample-from-block.js +12 -16
  166. package/dist/containers/webm/make-track.js +43 -48
  167. package/dist/containers/webm/parse-ebml.js +14 -19
  168. package/dist/containers/webm/parse-webm-header.js +3 -7
  169. package/dist/containers/webm/segments/all-segments.js +168 -173
  170. package/dist/containers/webm/segments/block-simple-block-flags.js +4 -8
  171. package/dist/containers/webm/segments/track-entry.js +1 -5
  172. package/dist/containers/webm/segments.js +9 -13
  173. package/dist/containers/webm/traversal.js +37 -67
  174. package/dist/convert-audio-or-video-sample.js +1 -5
  175. package/dist/download-and-parse-media.js +44 -47
  176. package/dist/emit-available-info.js +38 -38
  177. package/dist/emitter.js +1 -5
  178. package/dist/errors.d.ts +2 -17
  179. package/dist/errors.js +10 -30
  180. package/dist/esm/fetch.mjs +93 -67
  181. package/dist/esm/index.mjs +742 -194
  182. package/dist/esm/node.mjs +59 -36
  183. package/dist/esm/universal.mjs +323 -0
  184. package/dist/esm/web-file.mjs +55 -43
  185. package/dist/esm/web.mjs +257 -0
  186. package/dist/esm/worker-server-entry.mjs +13100 -0
  187. package/dist/esm/worker-server.mjs +12914 -0
  188. package/dist/esm/worker-web-entry.mjs +13013 -0
  189. package/dist/esm/worker.mjs +439 -0
  190. package/dist/fetch.js +1 -17
  191. package/dist/file-types/bmp.js +3 -7
  192. package/dist/file-types/detect-file-type.js +24 -38
  193. package/dist/file-types/index.js +22 -26
  194. package/dist/file-types/jpeg.js +4 -9
  195. package/dist/file-types/pdf.js +3 -7
  196. package/dist/file-types/png.js +4 -9
  197. package/dist/file-types/webp.js +3 -7
  198. package/dist/forward-controller.js +1 -5
  199. package/dist/get-audio-codec.js +25 -38
  200. package/dist/get-container.d.ts +3 -3
  201. package/dist/get-container.js +5 -10
  202. package/dist/get-dimensions.js +8 -13
  203. package/dist/get-duration.js +27 -34
  204. package/dist/get-fields-from-callbacks.js +1 -5
  205. package/dist/get-fps.js +24 -34
  206. package/dist/get-is-hdr.js +5 -10
  207. package/dist/get-keyframes.js +6 -11
  208. package/dist/get-location.js +4 -9
  209. package/dist/get-number-of-audio-channels.js +2 -7
  210. package/dist/get-sample-aspect-ratio.js +17 -30
  211. package/dist/get-sample-positions-from-lpcm.js +5 -9
  212. package/dist/get-sample-positions.js +1 -5
  213. package/dist/get-sample-rate.js +2 -7
  214. package/dist/get-tracks.d.ts +5 -0
  215. package/dist/get-tracks.js +37 -44
  216. package/dist/get-video-codec.js +26 -34
  217. package/dist/has-all-info.js +33 -38
  218. package/dist/index.d.ts +18 -11
  219. package/dist/index.js +34 -48
  220. package/dist/init-video.d.ts +1 -1
  221. package/dist/init-video.js +47 -20
  222. package/dist/internal-parse-media.js +36 -40
  223. package/dist/is-audio-structure.d.ts +2 -2
  224. package/dist/is-audio-structure.js +1 -5
  225. package/dist/log.js +8 -12
  226. package/dist/make-hvc1-codec-strings.js +1 -5
  227. package/dist/media-parser-controller.js +7 -11
  228. package/dist/metadata/get-metadata.d.ts +4 -4
  229. package/dist/metadata/get-metadata.js +17 -22
  230. package/dist/metadata/metadata-from-iso.d.ts +3 -3
  231. package/dist/metadata/metadata-from-iso.js +12 -17
  232. package/dist/metadata/metadata-from-matroska.d.ts +2 -2
  233. package/dist/metadata/metadata-from-matroska.js +3 -7
  234. package/dist/metadata/metadata-from-riff.d.ts +2 -2
  235. package/dist/metadata/metadata-from-riff.js +3 -7
  236. package/dist/node-writer.js +1 -17
  237. package/dist/node.js +1 -17
  238. package/dist/options.d.ts +30 -24
  239. package/dist/options.js +1 -2
  240. package/dist/parse-media-on-browser-worker.d.ts +2 -0
  241. package/dist/parse-media-on-browser-worker.js +4 -0
  242. package/dist/parse-media-on-server-worker.d.ts +2 -0
  243. package/dist/parse-media-on-server-worker.js +4 -0
  244. package/dist/parse-media-on-web-worker.d.ts +2 -0
  245. package/dist/parse-media-on-web-worker.js +4 -0
  246. package/dist/parse-media-on-worker-entry.d.ts +2 -0
  247. package/dist/parse-media-on-worker-entry.js +269 -0
  248. package/dist/parse-media-on-worker.d.ts +2 -0
  249. package/dist/parse-media-on-worker.js +4 -0
  250. package/dist/parse-media.js +10 -13
  251. package/dist/parse-result.d.ts +3 -3
  252. package/dist/parse-result.js +1 -2
  253. package/dist/pause-signal.js +1 -5
  254. package/dist/perform-seek.js +6 -10
  255. package/dist/readers/fetch/get-body-and-reader.js +1 -5
  256. package/dist/readers/fetch/resolve-url.d.ts +1 -1
  257. package/dist/readers/fetch/resolve-url.js +1 -5
  258. package/dist/readers/from-fetch.d.ts +4 -1
  259. package/dist/readers/from-fetch.js +109 -94
  260. package/dist/readers/from-node.d.ts +4 -1
  261. package/dist/readers/from-node.js +58 -41
  262. package/dist/readers/from-web-file.d.ts +4 -1
  263. package/dist/readers/from-web-file.js +55 -49
  264. package/dist/readers/reader.d.ts +5 -1
  265. package/dist/readers/reader.js +1 -2
  266. package/dist/readers/universal.d.ts +2 -0
  267. package/dist/readers/universal.js +35 -0
  268. package/dist/readers/web.d.ts +2 -0
  269. package/dist/readers/web.js +22 -0
  270. package/dist/register-track.js +9 -15
  271. package/dist/remotion-license-acknowledge.js +4 -8
  272. package/dist/run-parse-iteration.js +26 -25
  273. package/dist/samples-from-moof.js +8 -12
  274. package/dist/skip.js +1 -5
  275. package/dist/state/aac-state.js +1 -5
  276. package/dist/state/can-skip-tracks.d.ts +2 -2
  277. package/dist/state/can-skip-tracks.js +3 -8
  278. package/dist/state/emitted-fields.js +1 -5
  279. package/dist/state/flac-state.js +1 -5
  280. package/dist/state/has-tracks-section.d.ts +2 -2
  281. package/dist/state/has-tracks-section.js +6 -8
  282. package/dist/state/images.js +1 -5
  283. package/dist/state/iso-base-media/cached-sample-positions.js +8 -13
  284. package/dist/state/iso-base-media/iso-state.js +5 -9
  285. package/dist/state/iso-base-media/moov-box.js +1 -5
  286. package/dist/state/keyframes.js +1 -5
  287. package/dist/state/last-eventloop-break.js +3 -7
  288. package/dist/state/m3u-state.d.ts +6 -0
  289. package/dist/state/m3u-state.js +20 -12
  290. package/dist/state/may-skip-video-data.js +3 -7
  291. package/dist/state/mp3.js +1 -5
  292. package/dist/state/need-samples-for-fields.js +1 -5
  293. package/dist/state/parser-state.d.ts +15 -10
  294. package/dist/state/parser-state.js +37 -41
  295. package/dist/state/riff.js +1 -5
  296. package/dist/state/sample-callbacks.d.ts +3 -2
  297. package/dist/state/sample-callbacks.js +8 -12
  298. package/dist/state/slow-duration-fps.js +1 -5
  299. package/dist/state/structure.d.ts +4 -4
  300. package/dist/state/structure.js +1 -5
  301. package/dist/state/transport-stream.js +3 -7
  302. package/dist/state/video-section.js +1 -5
  303. package/dist/state/webm.js +5 -9
  304. package/dist/throttled-progress.js +1 -5
  305. package/dist/truthy.js +1 -4
  306. package/dist/universal.d.ts +1 -0
  307. package/dist/universal.js +1 -0
  308. package/dist/version.d.ts +1 -1
  309. package/dist/version.js +1 -4
  310. package/dist/web-file.js +1 -17
  311. package/dist/web.d.ts +1 -0
  312. package/dist/web.js +1 -0
  313. package/dist/webcodec-sample-types.d.ts +6 -4
  314. package/dist/webcodec-sample-types.js +1 -2
  315. package/dist/worker/forward-controller.d.ts +3 -0
  316. package/dist/worker/forward-controller.js +20 -0
  317. package/dist/worker/serialize-error.d.ts +4 -0
  318. package/dist/worker/serialize-error.js +95 -0
  319. package/dist/worker/worker-types.d.ts +243 -0
  320. package/dist/worker/worker-types.js +1 -0
  321. package/dist/worker-bun-entry.d.ts +1 -0
  322. package/dist/worker-bun-entry.js +5 -0
  323. package/dist/worker-entry.d.ts +1 -0
  324. package/dist/worker-entry.js +5 -0
  325. package/dist/worker-server-entry.d.ts +1 -0
  326. package/dist/worker-server-entry.js +5 -0
  327. package/dist/worker-server.d.ts +2 -0
  328. package/dist/worker-server.js +381 -0
  329. package/dist/worker-web-entry.d.ts +1 -0
  330. package/dist/worker-web-entry.js +5 -0
  331. package/dist/worker.d.ts +2 -0
  332. package/dist/worker.js +267 -0
  333. package/dist/writers/node.js +16 -23
  334. package/dist/writers/writer.js +1 -2
  335. package/package.json +40 -21
  336. package/fetch.js +0 -2
  337. package/test.json +0 -663
  338. package/web-file.js +0 -2
@@ -1,18 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasHdr = exports.getIsHdr = void 0;
4
- const get_tracks_1 = require("./get-tracks");
1
+ import { getHasTracks, getTracks } from './get-tracks';
5
2
  const isVideoTrackHdr = (track) => {
6
3
  return (track.color.matrixCoefficients === 'bt2020' &&
7
4
  track.color.transferCharacteristics === 'arib-std-b67' &&
8
5
  track.color.primaries === 'bt2020');
9
6
  };
10
- const getIsHdr = (state) => {
11
- const { videoTracks } = (0, get_tracks_1.getTracks)(state);
7
+ export const getIsHdr = (state) => {
8
+ const { videoTracks } = getTracks(state);
12
9
  return videoTracks.some((track) => isVideoTrackHdr(track));
13
10
  };
14
- exports.getIsHdr = getIsHdr;
15
- const hasHdr = (state) => {
16
- return (0, get_tracks_1.getHasTracks)(state);
11
+ export const hasHdr = (state) => {
12
+ return getHasTracks(state);
17
13
  };
18
- exports.hasHdr = hasHdr;
@@ -1,22 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasKeyframes = exports.getKeyframes = void 0;
4
- const get_keyframes_1 = require("./containers/iso-base-media/get-keyframes");
5
- const get_tracks_1 = require("./get-tracks");
6
- const getKeyframes = (state) => {
1
+ import { getKeyframesFromIsoBaseMedia } from './containers/iso-base-media/get-keyframes';
2
+ import { getHasTracks } from './get-tracks';
3
+ export const getKeyframes = (state) => {
7
4
  const structure = state.getStructure();
8
5
  if (structure.type === 'iso-base-media') {
9
- return (0, get_keyframes_1.getKeyframesFromIsoBaseMedia)(state);
6
+ return getKeyframesFromIsoBaseMedia(state);
10
7
  }
11
8
  return null;
12
9
  };
13
- exports.getKeyframes = getKeyframes;
14
- const hasKeyframes = (parserState) => {
10
+ export const hasKeyframes = (parserState) => {
15
11
  const structure = parserState.getStructure();
16
12
  if (structure.type === 'iso-base-media') {
17
- return (0, get_tracks_1.getHasTracks)(parserState);
13
+ return getHasTracks(parserState);
18
14
  }
19
15
  // Has, but will be null
20
16
  return true;
21
17
  };
22
- exports.hasKeyframes = hasKeyframes;
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLocation = void 0;
4
- exports.parseLocation = parseLocation;
5
- const get_metadata_1 = require("./metadata/get-metadata");
6
- function parseLocation(locationString) {
1
+ import { getMetadata } from './metadata/get-metadata';
2
+ export function parseLocation(locationString) {
7
3
  const locationPattern = /^([+-]\d{2}\.?\d{0,10})([+-]\d{3}\.?\d{0,10})([+-]\d+(\.\d+)?)?\/$/;
8
4
  const match = locationString.match(locationPattern);
9
5
  if (!match) {
@@ -19,8 +15,8 @@ function parseLocation(locationString) {
19
15
  altitude,
20
16
  };
21
17
  }
22
- const getLocation = (state) => {
23
- const metadata = (0, get_metadata_1.getMetadata)(state);
18
+ export const getLocation = (state) => {
19
+ const metadata = getMetadata(state);
24
20
  const locationEntry = metadata.find((entry) => entry.key === 'com.apple.quicktime.location.ISO6709');
25
21
  const horizontalAccuracy = metadata.find((entry) => entry.key === 'com.apple.quicktime.location.accuracy.horizontal');
26
22
  if (locationEntry) {
@@ -37,4 +33,3 @@ const getLocation = (state) => {
37
33
  }
38
34
  return null;
39
35
  };
40
- exports.getLocation = getLocation;
@@ -1,14 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasNumberOfAudioChannels = exports.getNumberOfAudioChannels = void 0;
4
- const getNumberOfAudioChannels = (state) => {
1
+ export const getNumberOfAudioChannels = (state) => {
5
2
  var _a, _b;
6
3
  return ((_b = (_a = state.callbacks.tracks.getTracks().find((track) => {
7
4
  return track.type === 'audio';
8
5
  })) === null || _a === void 0 ? void 0 : _a.numberOfChannels) !== null && _b !== void 0 ? _b : null);
9
6
  };
10
- exports.getNumberOfAudioChannels = getNumberOfAudioChannels;
11
- const hasNumberOfAudioChannels = (state) => {
7
+ export const hasNumberOfAudioChannels = (state) => {
12
8
  return state.callbacks.tracks.hasAllTracks();
13
9
  };
14
- exports.hasNumberOfAudioChannels = hasNumberOfAudioChannels;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDisplayAspectRatio = exports.applyAspectRatios = exports.applyTkhdBox = exports.getColrBox = exports.getSampleAspectRatio = exports.getHvccBox = exports.getPaspBox = exports.getAv1CBox = exports.getAvccBox = exports.getStsdVideoConfig = void 0;
4
- const traversal_1 = require("./containers/iso-base-media/traversal");
5
- const getStsdVideoConfig = (trakBox) => {
6
- const stsdBox = (0, traversal_1.getStsdBox)(trakBox);
1
+ import { getStsdBox } from './containers/iso-base-media/traversal';
2
+ export const getStsdVideoConfig = (trakBox) => {
3
+ const stsdBox = getStsdBox(trakBox);
7
4
  if (!stsdBox) {
8
5
  return null;
9
6
  }
@@ -13,9 +10,8 @@ const getStsdVideoConfig = (trakBox) => {
13
10
  }
14
11
  return videoConfig;
15
12
  };
16
- exports.getStsdVideoConfig = getStsdVideoConfig;
17
- const getAvccBox = (trakBox) => {
18
- const videoConfig = (0, exports.getStsdVideoConfig)(trakBox);
13
+ export const getAvccBox = (trakBox) => {
14
+ const videoConfig = getStsdVideoConfig(trakBox);
19
15
  if (!videoConfig) {
20
16
  return null;
21
17
  }
@@ -25,9 +21,8 @@ const getAvccBox = (trakBox) => {
25
21
  }
26
22
  return avccBox;
27
23
  };
28
- exports.getAvccBox = getAvccBox;
29
- const getAv1CBox = (trakBox) => {
30
- const videoConfig = (0, exports.getStsdVideoConfig)(trakBox);
24
+ export const getAv1CBox = (trakBox) => {
25
+ const videoConfig = getStsdVideoConfig(trakBox);
31
26
  if (!videoConfig) {
32
27
  return null;
33
28
  }
@@ -37,9 +32,8 @@ const getAv1CBox = (trakBox) => {
37
32
  }
38
33
  return av1cBox;
39
34
  };
40
- exports.getAv1CBox = getAv1CBox;
41
- const getPaspBox = (trakBox) => {
42
- const videoConfig = (0, exports.getStsdVideoConfig)(trakBox);
35
+ export const getPaspBox = (trakBox) => {
36
+ const videoConfig = getStsdVideoConfig(trakBox);
43
37
  if (!videoConfig) {
44
38
  return null;
45
39
  }
@@ -49,9 +43,8 @@ const getPaspBox = (trakBox) => {
49
43
  }
50
44
  return paspBox;
51
45
  };
52
- exports.getPaspBox = getPaspBox;
53
- const getHvccBox = (trakBox) => {
54
- const videoConfig = (0, exports.getStsdVideoConfig)(trakBox);
46
+ export const getHvccBox = (trakBox) => {
47
+ const videoConfig = getStsdVideoConfig(trakBox);
55
48
  if (!videoConfig) {
56
49
  return null;
57
50
  }
@@ -61,9 +54,8 @@ const getHvccBox = (trakBox) => {
61
54
  }
62
55
  return hvccBox;
63
56
  };
64
- exports.getHvccBox = getHvccBox;
65
- const getSampleAspectRatio = (trakBox) => {
66
- const paspBox = (0, exports.getPaspBox)(trakBox);
57
+ export const getSampleAspectRatio = (trakBox) => {
58
+ const paspBox = getPaspBox(trakBox);
67
59
  if (!paspBox) {
68
60
  return {
69
61
  numerator: 1,
@@ -75,16 +67,14 @@ const getSampleAspectRatio = (trakBox) => {
75
67
  denominator: paspBox.vSpacing,
76
68
  };
77
69
  };
78
- exports.getSampleAspectRatio = getSampleAspectRatio;
79
- const getColrBox = (videoSample) => {
70
+ export const getColrBox = (videoSample) => {
80
71
  const colrBox = videoSample.descriptors.find((c) => c.type === 'colr-box');
81
72
  if (!colrBox || colrBox.type !== 'colr-box') {
82
73
  return null;
83
74
  }
84
75
  return colrBox;
85
76
  };
86
- exports.getColrBox = getColrBox;
87
- const applyTkhdBox = (aspectRatioApplied, tkhdBox) => {
77
+ export const applyTkhdBox = (aspectRatioApplied, tkhdBox) => {
88
78
  if (tkhdBox === null || tkhdBox.rotation === 0) {
89
79
  return {
90
80
  displayAspectWidth: aspectRatioApplied.width,
@@ -102,8 +92,7 @@ const applyTkhdBox = (aspectRatioApplied, tkhdBox) => {
102
92
  displayAspectHeight: aspectRatioApplied.height,
103
93
  };
104
94
  };
105
- exports.applyTkhdBox = applyTkhdBox;
106
- const applyAspectRatios = ({ dimensions, sampleAspectRatio, displayAspectRatio, }) => {
95
+ export const applyAspectRatios = ({ dimensions, sampleAspectRatio, displayAspectRatio, }) => {
107
96
  if (displayAspectRatio.numerator === 0) {
108
97
  return dimensions;
109
98
  }
@@ -118,7 +107,6 @@ const applyAspectRatios = ({ dimensions, sampleAspectRatio, displayAspectRatio,
118
107
  height: newHeight,
119
108
  };
120
109
  };
121
- exports.applyAspectRatios = applyAspectRatios;
122
110
  function gcd(a, b) {
123
111
  return b === 0 ? a : gcd(b, a % b);
124
112
  }
@@ -129,9 +117,8 @@ function reduceFraction(numerator, denominator) {
129
117
  denominator: denominator / greatestCommonDivisor,
130
118
  };
131
119
  }
132
- const getDisplayAspectRatio = ({ sampleAspectRatio, nativeDimensions, }) => {
120
+ export const getDisplayAspectRatio = ({ sampleAspectRatio, nativeDimensions, }) => {
133
121
  const num = Math.round(nativeDimensions.width * sampleAspectRatio.numerator);
134
122
  const den = Math.round(nativeDimensions.height * sampleAspectRatio.denominator);
135
123
  return reduceFraction(num, den);
136
124
  };
137
- exports.getDisplayAspectRatio = getDisplayAspectRatio;
@@ -1,14 +1,11 @@
1
- "use strict";
2
1
  // If an audio is of type, LPCM, the data structure will include 44100-48000 samples per second
3
2
  // We need to handle this case differently and treat each chunk as a sample instead
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getSamplePositionsFromLpcm = void 0;
6
- const traversal_1 = require("./containers/iso-base-media/traversal");
3
+ import { getStcoBox, getStscBox, getStszBox, } from './containers/iso-base-media/traversal';
7
4
  // example video: mehmet.mov
8
- const getSamplePositionsFromLpcm = (trakBox) => {
9
- const stscBox = (0, traversal_1.getStscBox)(trakBox);
10
- const stszBox = (0, traversal_1.getStszBox)(trakBox);
11
- const stcoBox = (0, traversal_1.getStcoBox)(trakBox);
5
+ export const getSamplePositionsFromLpcm = (trakBox) => {
6
+ const stscBox = getStscBox(trakBox);
7
+ const stszBox = getStszBox(trakBox);
8
+ const stcoBox = getStcoBox(trakBox);
12
9
  if (!stscBox) {
13
10
  throw new Error('Expected stsc box in trak box');
14
11
  }
@@ -43,4 +40,3 @@ const getSamplePositionsFromLpcm = (trakBox) => {
43
40
  }
44
41
  return samples;
45
42
  };
46
- exports.getSamplePositionsFromLpcm = getSamplePositionsFromLpcm;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSamplePositions = void 0;
4
- const getSamplePositions = ({ stcoBox, stszBox, stscBox, stssBox, sttsBox, cttsBox, }) => {
1
+ export const getSamplePositions = ({ stcoBox, stszBox, stscBox, stssBox, sttsBox, cttsBox, }) => {
5
2
  var _a;
6
3
  const sttsDeltas = [];
7
4
  for (const distribution of sttsBox.sampleDistribution) {
@@ -52,4 +49,3 @@ const getSamplePositions = ({ stcoBox, stszBox, stscBox, stssBox, sttsBox, cttsB
52
49
  }
53
50
  return samples;
54
51
  };
55
- exports.getSamplePositions = getSamplePositions;
@@ -1,14 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasSampleRate = exports.getSampleRate = void 0;
4
- const getSampleRate = (state) => {
1
+ export const getSampleRate = (state) => {
5
2
  var _a, _b;
6
3
  return ((_b = (_a = state.callbacks.tracks.getTracks().find((track) => {
7
4
  return track.type === 'audio';
8
5
  })) === null || _a === void 0 ? void 0 : _a.sampleRate) !== null && _b !== void 0 ? _b : null);
9
6
  };
10
- exports.getSampleRate = getSampleRate;
11
- const hasSampleRate = (state) => {
7
+ export const hasSampleRate = (state) => {
12
8
  return state.callbacks.tracks.hasAllTracks();
13
9
  };
14
- exports.hasSampleRate = hasSampleRate;
@@ -57,6 +57,11 @@ export type Track = VideoTrack | AudioTrack | OtherTrack;
57
57
  export declare const getNumberOfTracks: (moovBox: MoovBox) => number;
58
58
  export declare const isoBaseMediaHasTracks: (state: ParserState) => boolean;
59
59
  export declare const getHasTracks: (state: ParserState) => boolean;
60
+ export declare const getTracksFromMoovBox: (moovBox: MoovBox) => {
61
+ videoTracks: VideoTrack[];
62
+ audioTracks: AudioTrack[];
63
+ otherTracks: OtherTrack[];
64
+ };
60
65
  export declare const getTracksFromIsoBaseMedia: (state: ParserState) => {
61
66
  videoTracks: VideoTrack[];
62
67
  audioTracks: AudioTrack[];
@@ -1,36 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTracks = exports.defaultHasallTracks = exports.defaultGetTracks = exports.getTracksFromIsoBaseMedia = exports.getHasTracks = exports.isoBaseMediaHasTracks = exports.getNumberOfTracks = void 0;
4
- const make_track_1 = require("./containers/iso-base-media/make-track");
5
- const traversal_1 = require("./containers/iso-base-media/traversal");
6
- const get_tracks_from_avi_1 = require("./containers/riff/get-tracks-from-avi");
7
- const get_tracks_1 = require("./containers/transport-stream/get-tracks");
8
- const get_ready_tracks_1 = require("./containers/webm/get-ready-tracks");
9
- const getNumberOfTracks = (moovBox) => {
10
- const mvHdBox = (0, traversal_1.getMvhdBox)(moovBox);
1
+ import { makeBaseMediaTrack } from './containers/iso-base-media/make-track';
2
+ import { getMoovBoxFromState, getMvhdBox, getTraks, } from './containers/iso-base-media/traversal';
3
+ import { getTracksFromAvi, hasAllTracksFromAvi, } from './containers/riff/get-tracks-from-avi';
4
+ import { getTracksFromTransportStream, hasAllTracksFromTransportStream, } from './containers/transport-stream/get-tracks';
5
+ import { getTracksFromMatroska, matroskaHasTracks, } from './containers/webm/get-ready-tracks';
6
+ export const getNumberOfTracks = (moovBox) => {
7
+ const mvHdBox = getMvhdBox(moovBox);
11
8
  if (!mvHdBox) {
12
9
  return 0;
13
10
  }
14
11
  return mvHdBox.nextTrackId - 1;
15
12
  };
16
- exports.getNumberOfTracks = getNumberOfTracks;
17
- const isoBaseMediaHasTracks = (state) => {
18
- return Boolean((0, traversal_1.getMoovBox)(state));
13
+ export const isoBaseMediaHasTracks = (state) => {
14
+ return Boolean(getMoovBoxFromState(state));
19
15
  };
20
- exports.isoBaseMediaHasTracks = isoBaseMediaHasTracks;
21
- const getHasTracks = (state) => {
16
+ export const getHasTracks = (state) => {
22
17
  const structure = state.getStructure();
23
18
  if (structure.type === 'matroska') {
24
- return (0, get_ready_tracks_1.matroskaHasTracks)(state);
19
+ return matroskaHasTracks(state);
25
20
  }
26
21
  if (structure.type === 'iso-base-media') {
27
- return (0, exports.isoBaseMediaHasTracks)(state);
22
+ return isoBaseMediaHasTracks(state);
28
23
  }
29
24
  if (structure.type === 'riff') {
30
- return (0, get_tracks_from_avi_1.hasAllTracksFromAvi)(state);
25
+ return hasAllTracksFromAvi(state);
31
26
  }
32
27
  if (structure.type === 'transport-stream') {
33
- return (0, get_tracks_1.hasAllTracksFromTransportStream)(state);
28
+ return hasAllTracksFromTransportStream(state);
34
29
  }
35
30
  if (structure.type === 'mp3') {
36
31
  return state.callbacks.tracks.getTracks().length > 0;
@@ -49,12 +44,11 @@ const getHasTracks = (state) => {
49
44
  }
50
45
  throw new Error('Unknown container ' + structure);
51
46
  };
52
- exports.getHasTracks = getHasTracks;
53
47
  const getCategorizedTracksFromMatroska = (state) => {
54
48
  const videoTracks = [];
55
49
  const audioTracks = [];
56
50
  const otherTracks = [];
57
- const { resolved } = (0, get_ready_tracks_1.getTracksFromMatroska)({
51
+ const { resolved } = getTracksFromMatroska({
58
52
  state,
59
53
  });
60
54
  for (const track of resolved) {
@@ -74,21 +68,13 @@ const getCategorizedTracksFromMatroska = (state) => {
74
68
  otherTracks,
75
69
  };
76
70
  };
77
- const getTracksFromIsoBaseMedia = (state) => {
71
+ export const getTracksFromMoovBox = (moovBox) => {
78
72
  const videoTracks = [];
79
73
  const audioTracks = [];
80
74
  const otherTracks = [];
81
- const moovBox = (0, traversal_1.getMoovBox)(state);
82
- if (!moovBox) {
83
- return {
84
- videoTracks,
85
- audioTracks,
86
- otherTracks,
87
- };
88
- }
89
- const tracks = (0, traversal_1.getTraks)(moovBox);
75
+ const tracks = getTraks(moovBox);
90
76
  for (const trakBox of tracks) {
91
- const track = (0, make_track_1.makeBaseMediaTrack)(trakBox);
77
+ const track = makeBaseMediaTrack(trakBox);
92
78
  if (!track) {
93
79
  continue;
94
80
  }
@@ -108,8 +94,18 @@ const getTracksFromIsoBaseMedia = (state) => {
108
94
  otherTracks,
109
95
  };
110
96
  };
111
- exports.getTracksFromIsoBaseMedia = getTracksFromIsoBaseMedia;
112
- const defaultGetTracks = (parserState) => {
97
+ export const getTracksFromIsoBaseMedia = (state) => {
98
+ const moovBox = getMoovBoxFromState(state);
99
+ if (!moovBox) {
100
+ return {
101
+ videoTracks: [],
102
+ audioTracks: [],
103
+ otherTracks: [],
104
+ };
105
+ }
106
+ return getTracksFromMoovBox(moovBox);
107
+ };
108
+ export const defaultGetTracks = (parserState) => {
113
109
  const tracks = parserState.callbacks.tracks.getTracks();
114
110
  if (tracks.length === 0) {
115
111
  throw new Error('No tracks found');
@@ -120,38 +116,35 @@ const defaultGetTracks = (parserState) => {
120
116
  videoTracks: tracks.filter((t) => t.type === 'video'),
121
117
  };
122
118
  };
123
- exports.defaultGetTracks = defaultGetTracks;
124
- const defaultHasallTracks = (parserState) => {
119
+ export const defaultHasallTracks = (parserState) => {
125
120
  try {
126
- (0, exports.defaultGetTracks)(parserState);
121
+ defaultGetTracks(parserState);
127
122
  return true;
128
123
  }
129
124
  catch (_a) {
130
125
  return false;
131
126
  }
132
127
  };
133
- exports.defaultHasallTracks = defaultHasallTracks;
134
- const getTracks = (state) => {
128
+ export const getTracks = (state) => {
135
129
  const structure = state.getStructure();
136
130
  if (structure.type === 'matroska') {
137
131
  return getCategorizedTracksFromMatroska(state);
138
132
  }
139
133
  if (structure.type === 'iso-base-media') {
140
- return (0, exports.getTracksFromIsoBaseMedia)(state);
134
+ return getTracksFromIsoBaseMedia(state);
141
135
  }
142
136
  if (structure.type === 'riff') {
143
- return (0, get_tracks_from_avi_1.getTracksFromAvi)(structure, state);
137
+ return getTracksFromAvi(structure, state);
144
138
  }
145
139
  if (structure.type === 'transport-stream') {
146
- return (0, get_tracks_1.getTracksFromTransportStream)(state);
140
+ return getTracksFromTransportStream(state);
147
141
  }
148
142
  if (structure.type === 'mp3' ||
149
143
  structure.type === 'wav' ||
150
144
  structure.type === 'flac' ||
151
145
  structure.type === 'aac' ||
152
146
  structure.type === 'm3u') {
153
- return (0, exports.defaultGetTracks)(state);
147
+ return defaultGetTracks(state);
154
148
  }
155
149
  throw new Error(`Unknown container${structure}`);
156
150
  };
157
- exports.getTracks = getTracks;
@@ -1,25 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVideoCodecString = exports.getIsoBmColrConfig = exports.getVideoPrivateData = exports.hasVideoCodec = exports.getVideoCodec = void 0;
4
- const color_1 = require("./containers/avc/color");
5
- const av1_codec_private_1 = require("./containers/webm/av1-codec-private");
6
- const get_sample_aspect_ratio_1 = require("./get-sample-aspect-ratio");
7
- const get_tracks_1 = require("./get-tracks");
8
- const getVideoCodec = (state) => {
1
+ import { getMatrixCoefficientsFromIndex, getPrimariesFromIndex, getTransferCharacteristicsFromIndex, } from './containers/avc/color';
2
+ import { parseAv1PrivateData } from './containers/webm/av1-codec-private';
3
+ import { getAv1CBox, getAvccBox, getColrBox, getHvccBox, getStsdVideoConfig, } from './get-sample-aspect-ratio';
4
+ import { getHasTracks, getTracks, } from './get-tracks';
5
+ export const getVideoCodec = (state) => {
9
6
  var _a, _b;
10
- const track = (0, get_tracks_1.getTracks)(state);
7
+ const track = getTracks(state);
11
8
  return (_b = (_a = track.videoTracks[0]) === null || _a === void 0 ? void 0 : _a.codecWithoutConfig) !== null && _b !== void 0 ? _b : null;
12
9
  };
13
- exports.getVideoCodec = getVideoCodec;
14
- const hasVideoCodec = (state) => {
15
- return (0, get_tracks_1.getHasTracks)(state);
10
+ export const hasVideoCodec = (state) => {
11
+ return getHasTracks(state);
16
12
  };
17
- exports.hasVideoCodec = hasVideoCodec;
18
- const getVideoPrivateData = (trakBox) => {
19
- const videoSample = (0, get_sample_aspect_ratio_1.getStsdVideoConfig)(trakBox);
20
- const avccBox = (0, get_sample_aspect_ratio_1.getAvccBox)(trakBox);
21
- const hvccBox = (0, get_sample_aspect_ratio_1.getHvccBox)(trakBox);
22
- const av1cBox = (0, get_sample_aspect_ratio_1.getAv1CBox)(trakBox);
13
+ export const getVideoPrivateData = (trakBox) => {
14
+ const videoSample = getStsdVideoConfig(trakBox);
15
+ const avccBox = getAvccBox(trakBox);
16
+ const hvccBox = getHvccBox(trakBox);
17
+ const av1cBox = getAv1CBox(trakBox);
23
18
  if (!videoSample) {
24
19
  return null;
25
20
  }
@@ -34,13 +29,12 @@ const getVideoPrivateData = (trakBox) => {
34
29
  }
35
30
  return null;
36
31
  };
37
- exports.getVideoPrivateData = getVideoPrivateData;
38
- const getIsoBmColrConfig = (trakBox) => {
39
- const videoSample = (0, get_sample_aspect_ratio_1.getStsdVideoConfig)(trakBox);
32
+ export const getIsoBmColrConfig = (trakBox) => {
33
+ const videoSample = getStsdVideoConfig(trakBox);
40
34
  if (!videoSample) {
41
35
  return null;
42
36
  }
43
- const colrAtom = (0, get_sample_aspect_ratio_1.getColrBox)(videoSample);
37
+ const colrAtom = getColrBox(videoSample);
44
38
  if (!colrAtom) {
45
39
  return null;
46
40
  }
@@ -51,17 +45,16 @@ const getIsoBmColrConfig = (trakBox) => {
51
45
  // https://github.com/bbc/qtff-parameter-editor
52
46
  return {
53
47
  fullRange: colrAtom.fullRangeFlag,
54
- matrixCoefficients: (0, color_1.getMatrixCoefficientsFromIndex)(colrAtom.matrixIndex),
55
- primaries: (0, color_1.getPrimariesFromIndex)(colrAtom.primaries),
56
- transferCharacteristics: (0, color_1.getTransferCharacteristicsFromIndex)(colrAtom.transfer),
48
+ matrixCoefficients: getMatrixCoefficientsFromIndex(colrAtom.matrixIndex),
49
+ primaries: getPrimariesFromIndex(colrAtom.primaries),
50
+ transferCharacteristics: getTransferCharacteristicsFromIndex(colrAtom.transfer),
57
51
  };
58
52
  };
59
- exports.getIsoBmColrConfig = getIsoBmColrConfig;
60
- const getVideoCodecString = (trakBox) => {
61
- const videoSample = (0, get_sample_aspect_ratio_1.getStsdVideoConfig)(trakBox);
62
- const avccBox = (0, get_sample_aspect_ratio_1.getAvccBox)(trakBox);
63
- const hvccBox = (0, get_sample_aspect_ratio_1.getHvccBox)(trakBox);
64
- const av1cBox = (0, get_sample_aspect_ratio_1.getAv1CBox)(trakBox);
53
+ export const getVideoCodecString = (trakBox) => {
54
+ const videoSample = getStsdVideoConfig(trakBox);
55
+ const avccBox = getAvccBox(trakBox);
56
+ const hvccBox = getHvccBox(trakBox);
57
+ const av1cBox = getAv1CBox(trakBox);
65
58
  if (!videoSample) {
66
59
  return null;
67
60
  }
@@ -72,9 +65,8 @@ const getVideoCodecString = (trakBox) => {
72
65
  return `${videoSample.format}.${hvccBox.configurationString}`;
73
66
  }
74
67
  if (av1cBox) {
75
- const colrAtom = (0, get_sample_aspect_ratio_1.getColrBox)(videoSample);
76
- return (0, av1_codec_private_1.parseAv1PrivateData)(av1cBox.privateData, colrAtom);
68
+ const colrAtom = getColrBox(videoSample);
69
+ return parseAv1PrivateData(av1cBox.privateData, colrAtom);
77
70
  }
78
71
  return videoSample.format;
79
72
  };
80
- exports.getVideoCodecString = getVideoCodecString;