@remotion/media-parser 4.0.277 → 4.0.279

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 (365) hide show
  1. package/dist/aac-codecprivate.js +13 -6
  2. package/dist/add-avc-profile-to-track.js +9 -5
  3. package/dist/check-if-done.d.ts +2 -0
  4. package/dist/check-if-done.js +34 -0
  5. package/dist/combine-uint8-arrays.js +5 -1
  6. package/dist/containers/aac/parse-aac.js +27 -18
  7. package/dist/containers/aac/types.js +2 -1
  8. package/dist/containers/avc/codec-string.js +5 -1
  9. package/dist/containers/avc/color.js +9 -3
  10. package/dist/containers/avc/create-sps-pps-data.js +9 -5
  11. package/dist/containers/avc/interpret-sps.js +13 -7
  12. package/dist/containers/avc/key.js +5 -1
  13. package/dist/containers/avc/parse-avc.js +7 -3
  14. package/dist/containers/avc/sps-and-pps.js +5 -1
  15. package/dist/containers/flac/get-block-size.d.ts +1 -1
  16. package/dist/containers/flac/get-block-size.js +5 -1
  17. package/dist/containers/flac/get-channel-count.d.ts +2 -2
  18. package/dist/containers/flac/get-channel-count.js +5 -1
  19. package/dist/containers/flac/get-duration-from-flac.js +5 -1
  20. package/dist/containers/flac/get-metadata-from-flac.js +5 -1
  21. package/dist/containers/flac/get-sample-rate.d.ts +1 -1
  22. package/dist/containers/flac/get-sample-rate.js +5 -1
  23. package/dist/containers/flac/parse-flac-frame.d.ts +1 -1
  24. package/dist/containers/flac/parse-flac-frame.js +33 -23
  25. package/dist/containers/flac/parse-flac.d.ts +1 -1
  26. package/dist/containers/flac/parse-flac.js +19 -15
  27. package/dist/containers/flac/parse-header.d.ts +1 -1
  28. package/dist/containers/flac/parse-header.js +5 -1
  29. package/dist/containers/flac/parse-metadata.d.ts +1 -1
  30. package/dist/containers/flac/parse-metadata.js +5 -1
  31. package/dist/containers/flac/parse-streaminfo.d.ts +1 -1
  32. package/dist/containers/flac/parse-streaminfo.js +7 -3
  33. package/dist/containers/flac/parse-unknown-block.d.ts +1 -1
  34. package/dist/containers/flac/parse-unknown-block.js +5 -1
  35. package/dist/containers/flac/types.js +2 -1
  36. package/dist/containers/iso-base-media/base-media-box.js +2 -1
  37. package/dist/containers/iso-base-media/base-type.js +2 -1
  38. package/dist/containers/iso-base-media/esds/decoder-specific-config.d.ts +1 -1
  39. package/dist/containers/iso-base-media/esds/decoder-specific-config.js +5 -1
  40. package/dist/containers/iso-base-media/esds/esds-descriptors.d.ts +1 -1
  41. package/dist/containers/iso-base-media/esds/esds-descriptors.js +10 -5
  42. package/dist/containers/iso-base-media/esds/esds.d.ts +1 -1
  43. package/dist/containers/iso-base-media/esds/esds.js +7 -3
  44. package/dist/containers/iso-base-media/ftyp.d.ts +1 -1
  45. package/dist/containers/iso-base-media/ftyp.js +5 -1
  46. package/dist/containers/iso-base-media/get-actual-number-of-channels.js +8 -4
  47. package/dist/containers/iso-base-media/get-children.js +7 -3
  48. package/dist/containers/iso-base-media/get-keyframes.js +11 -7
  49. package/dist/containers/iso-base-media/get-moov-atom.js +26 -16
  50. package/dist/containers/iso-base-media/get-sample-positions-from-track.js +24 -20
  51. package/dist/containers/iso-base-media/get-seeking-from-mp4.d.ts +5 -0
  52. package/dist/containers/iso-base-media/get-seeking-from-mp4.js +56 -0
  53. package/dist/containers/iso-base-media/get-video-codec-from-iso-track.js +7 -3
  54. package/dist/containers/iso-base-media/make-track.js +34 -30
  55. package/dist/containers/iso-base-media/mdat/mdat.js +47 -34
  56. package/dist/containers/iso-base-media/mdhd.d.ts +1 -1
  57. package/dist/containers/iso-base-media/mdhd.js +5 -1
  58. package/dist/containers/iso-base-media/meta/hdlr.d.ts +1 -1
  59. package/dist/containers/iso-base-media/meta/hdlr.js +5 -1
  60. package/dist/containers/iso-base-media/meta/ilst.d.ts +1 -1
  61. package/dist/containers/iso-base-media/meta/ilst.js +5 -1
  62. package/dist/containers/iso-base-media/moov/moov.js +7 -3
  63. package/dist/containers/iso-base-media/mvhd.d.ts +1 -1
  64. package/dist/containers/iso-base-media/mvhd.js +11 -7
  65. package/dist/containers/iso-base-media/parse-boxes.js +9 -5
  66. package/dist/containers/iso-base-media/parse-icc-profile.js +8 -4
  67. package/dist/containers/iso-base-media/process-box.js +67 -63
  68. package/dist/containers/iso-base-media/stsd/av1c.d.ts +1 -1
  69. package/dist/containers/iso-base-media/stsd/av1c.js +5 -1
  70. package/dist/containers/iso-base-media/stsd/avcc.d.ts +1 -1
  71. package/dist/containers/iso-base-media/stsd/avcc.js +5 -1
  72. package/dist/containers/iso-base-media/stsd/colr.d.ts +1 -1
  73. package/dist/containers/iso-base-media/stsd/colr.js +7 -3
  74. package/dist/containers/iso-base-media/stsd/ctts.d.ts +1 -1
  75. package/dist/containers/iso-base-media/stsd/ctts.js +5 -1
  76. package/dist/containers/iso-base-media/stsd/hvcc.d.ts +1 -1
  77. package/dist/containers/iso-base-media/stsd/hvcc.js +7 -3
  78. package/dist/containers/iso-base-media/stsd/keys.d.ts +1 -1
  79. package/dist/containers/iso-base-media/stsd/keys.js +5 -1
  80. package/dist/containers/iso-base-media/stsd/mebx.js +7 -3
  81. package/dist/containers/iso-base-media/stsd/pasp.d.ts +1 -1
  82. package/dist/containers/iso-base-media/stsd/pasp.js +5 -1
  83. package/dist/containers/iso-base-media/stsd/samples.js +13 -8
  84. package/dist/containers/iso-base-media/stsd/stco.d.ts +1 -1
  85. package/dist/containers/iso-base-media/stsd/stco.js +5 -1
  86. package/dist/containers/iso-base-media/stsd/stsc.d.ts +1 -1
  87. package/dist/containers/iso-base-media/stsd/stsc.js +5 -1
  88. package/dist/containers/iso-base-media/stsd/stsd.js +7 -3
  89. package/dist/containers/iso-base-media/stsd/stss.d.ts +1 -1
  90. package/dist/containers/iso-base-media/stsd/stss.js +5 -1
  91. package/dist/containers/iso-base-media/stsd/stsz.d.ts +1 -1
  92. package/dist/containers/iso-base-media/stsd/stsz.js +5 -1
  93. package/dist/containers/iso-base-media/stsd/stts.d.ts +1 -1
  94. package/dist/containers/iso-base-media/stsd/stts.js +5 -1
  95. package/dist/containers/iso-base-media/tfdt.d.ts +1 -1
  96. package/dist/containers/iso-base-media/tfdt.js +5 -1
  97. package/dist/containers/iso-base-media/tfhd.d.ts +1 -1
  98. package/dist/containers/iso-base-media/tfhd.js +5 -1
  99. package/dist/containers/iso-base-media/tkhd.d.ts +1 -1
  100. package/dist/containers/iso-base-media/tkhd.js +8 -4
  101. package/dist/containers/iso-base-media/to-date.js +5 -1
  102. package/dist/containers/iso-base-media/trak/trak.js +7 -3
  103. package/dist/containers/iso-base-media/traversal.js +57 -33
  104. package/dist/containers/iso-base-media/trun.d.ts +1 -1
  105. package/dist/containers/iso-base-media/trun.js +5 -1
  106. package/dist/containers/iso-base-media/void-box.js +2 -1
  107. package/dist/containers/m3u/after-manifest-fetch.js +15 -11
  108. package/dist/containers/m3u/fetch-m3u8-stream.js +7 -3
  109. package/dist/containers/m3u/get-chunks.js +5 -1
  110. package/dist/containers/m3u/get-duration-from-m3u.js +8 -4
  111. package/dist/containers/m3u/get-playlist.js +12 -6
  112. package/dist/containers/m3u/get-streams.js +9 -3
  113. package/dist/containers/m3u/iterate-over-segment-files.js +15 -11
  114. package/dist/containers/m3u/parse-directive.js +10 -6
  115. package/dist/containers/m3u/parse-m3u-manifest.d.ts +1 -1
  116. package/dist/containers/m3u/parse-m3u-manifest.js +7 -3
  117. package/dist/containers/m3u/parse-m3u-media-directive.js +10 -5
  118. package/dist/containers/m3u/parse-m3u.js +11 -7
  119. package/dist/containers/m3u/parse-m3u8-text.js +7 -3
  120. package/dist/containers/m3u/parse-stream-inf.js +7 -2
  121. package/dist/containers/m3u/run-over-m3u.js +13 -9
  122. package/dist/containers/m3u/sample-sorter.js +8 -4
  123. package/dist/containers/m3u/select-stream.js +11 -4
  124. package/dist/containers/m3u/types.js +2 -1
  125. package/dist/containers/mp3/get-duration.js +9 -5
  126. package/dist/containers/mp3/get-frame-length.js +7 -2
  127. package/dist/containers/mp3/get-metadata-from-mp3.js +5 -1
  128. package/dist/containers/mp3/id3-v1.d.ts +1 -1
  129. package/dist/containers/mp3/id3-v1.js +5 -1
  130. package/dist/containers/mp3/id3.js +5 -1
  131. package/dist/containers/mp3/parse-mp3.js +11 -7
  132. package/dist/containers/mp3/parse-mpeg-header.js +28 -19
  133. package/dist/containers/mp3/samples-per-mpeg-file.js +5 -1
  134. package/dist/containers/riff/expect-riff-box.js +15 -11
  135. package/dist/containers/riff/get-duration.js +12 -7
  136. package/dist/containers/riff/get-tracks-from-avi.js +28 -20
  137. package/dist/containers/riff/is-movi.d.ts +1 -1
  138. package/dist/containers/riff/is-movi.js +5 -1
  139. package/dist/containers/riff/parse-avih.d.ts +1 -1
  140. package/dist/containers/riff/parse-avih.js +5 -1
  141. package/dist/containers/riff/parse-isft.d.ts +1 -1
  142. package/dist/containers/riff/parse-isft.js +5 -1
  143. package/dist/containers/riff/parse-list-box.js +7 -3
  144. package/dist/containers/riff/parse-movi.js +45 -31
  145. package/dist/containers/riff/parse-riff-body.js +13 -9
  146. package/dist/containers/riff/parse-riff-box.js +13 -9
  147. package/dist/containers/riff/parse-riff-header.js +5 -1
  148. package/dist/containers/riff/parse-riff.js +9 -5
  149. package/dist/containers/riff/parse-strf.d.ts +1 -1
  150. package/dist/containers/riff/parse-strf.js +5 -1
  151. package/dist/containers/riff/parse-strh.d.ts +1 -1
  152. package/dist/containers/riff/parse-strh.js +7 -3
  153. package/dist/containers/riff/parse-video-section.js +11 -7
  154. package/dist/containers/riff/riff-box.js +2 -1
  155. package/dist/containers/riff/timescale.js +4 -1
  156. package/dist/containers/riff/traversal.js +15 -7
  157. package/dist/containers/transport-stream/adts-header.js +10 -6
  158. package/dist/containers/transport-stream/boxes.js +2 -1
  159. package/dist/containers/transport-stream/discard-rest-of-packet.d.ts +1 -1
  160. package/dist/containers/transport-stream/discard-rest-of-packet.js +7 -2
  161. package/dist/containers/transport-stream/find-separator.js +4 -1
  162. package/dist/containers/transport-stream/get-tracks.js +16 -10
  163. package/dist/containers/transport-stream/handle-aac-packet.js +21 -12
  164. package/dist/containers/transport-stream/handle-avc-packet.js +31 -22
  165. package/dist/containers/transport-stream/next-pes-header-store.js +5 -1
  166. package/dist/containers/transport-stream/parse-packet.js +17 -13
  167. package/dist/containers/transport-stream/parse-pat.d.ts +1 -1
  168. package/dist/containers/transport-stream/parse-pat.js +10 -5
  169. package/dist/containers/transport-stream/parse-pes.d.ts +1 -1
  170. package/dist/containers/transport-stream/parse-pes.js +5 -1
  171. package/dist/containers/transport-stream/parse-pmt.d.ts +1 -1
  172. package/dist/containers/transport-stream/parse-pmt.js +7 -3
  173. package/dist/containers/transport-stream/parse-stream-packet.js +17 -13
  174. package/dist/containers/transport-stream/parse-transport-stream.js +9 -5
  175. package/dist/containers/transport-stream/process-stream-buffers.js +17 -12
  176. package/dist/containers/transport-stream/traversal.js +10 -4
  177. package/dist/containers/wav/get-duration-from-wav.js +8 -3
  178. package/dist/containers/wav/get-metadata-from-wav.js +5 -1
  179. package/dist/containers/wav/parse-data.js +9 -5
  180. package/dist/containers/wav/parse-fmt.js +7 -3
  181. package/dist/containers/wav/parse-header.js +5 -1
  182. package/dist/containers/wav/parse-id3.js +5 -1
  183. package/dist/containers/wav/parse-list.js +5 -1
  184. package/dist/containers/wav/parse-video-section.js +21 -12
  185. package/dist/containers/wav/parse-wav.js +19 -15
  186. package/dist/containers/wav/types.js +2 -1
  187. package/dist/containers/webm/allowed-partial-segments.js +4 -1
  188. package/dist/containers/webm/av1-codec-private.js +7 -3
  189. package/dist/containers/webm/color.js +10 -6
  190. package/dist/containers/webm/description.js +10 -6
  191. package/dist/containers/webm/get-ready-tracks.js +18 -13
  192. package/dist/containers/webm/get-sample-from-block.js +16 -12
  193. package/dist/containers/webm/make-track.js +48 -43
  194. package/dist/containers/webm/parse-ebml.js +35 -17
  195. package/dist/containers/webm/parse-webm-header.js +7 -3
  196. package/dist/containers/webm/segments/all-segments.js +173 -168
  197. package/dist/containers/webm/segments/block-simple-block-flags.d.ts +1 -1
  198. package/dist/containers/webm/segments/block-simple-block-flags.js +8 -4
  199. package/dist/containers/webm/segments/track-entry.js +5 -1
  200. package/dist/containers/webm/segments.js +13 -9
  201. package/dist/containers/webm/traversal.js +67 -37
  202. package/dist/convert-audio-or-video-sample.js +5 -1
  203. package/dist/download-and-parse-media.js +14 -10
  204. package/dist/emit-all-info.d.ts +3 -0
  205. package/dist/emit-all-info.js +30 -0
  206. package/dist/emit-audio-sample.d.ts +12 -0
  207. package/dist/emit-audio-sample.js +14 -0
  208. package/dist/emit-available-info.d.ts +2 -7
  209. package/dist/emit-available-info.js +70 -63
  210. package/dist/emitter.js +5 -1
  211. package/dist/errors.js +15 -6
  212. package/dist/esm/index.mjs +1921 -1618
  213. package/dist/esm/worker-server-entry.mjs +840 -537
  214. package/dist/esm/worker-web-entry.mjs +840 -537
  215. package/dist/esm/worker.mjs +4 -5
  216. package/dist/fetch.js +17 -1
  217. package/dist/fields.d.ts +61 -0
  218. package/dist/fields.js +2 -0
  219. package/dist/file-types/bmp.js +7 -3
  220. package/dist/file-types/detect-file-type.js +38 -24
  221. package/dist/file-types/index.js +26 -22
  222. package/dist/file-types/jpeg.js +9 -4
  223. package/dist/file-types/pdf.js +7 -3
  224. package/dist/file-types/png.js +9 -4
  225. package/dist/file-types/webp.js +7 -3
  226. package/dist/forward-controller.js +5 -1
  227. package/dist/get-audio-codec.js +38 -25
  228. package/dist/get-container.js +10 -5
  229. package/dist/get-dimensions.js +13 -8
  230. package/dist/get-duration.js +34 -27
  231. package/dist/get-fields-from-callbacks.d.ts +2 -1
  232. package/dist/get-fields-from-callbacks.js +5 -1
  233. package/dist/get-fps.js +34 -24
  234. package/dist/get-is-hdr.js +10 -5
  235. package/dist/get-keyframes.js +11 -6
  236. package/dist/get-location.js +9 -4
  237. package/dist/get-number-of-audio-channels.js +7 -2
  238. package/dist/get-sample-aspect-ratio.js +30 -17
  239. package/dist/get-sample-positions-from-lpcm.js +9 -5
  240. package/dist/get-sample-positions.js +5 -1
  241. package/dist/get-sample-rate.js +7 -2
  242. package/dist/get-seeking-info.d.ts +4 -0
  243. package/dist/get-seeking-info.js +22 -0
  244. package/dist/get-tracks.js +40 -29
  245. package/dist/get-video-codec.js +34 -26
  246. package/dist/has-all-info.d.ts +3 -5
  247. package/dist/has-all-info.js +39 -35
  248. package/dist/index.d.ts +53 -14
  249. package/dist/index.js +47 -32
  250. package/dist/init-video.d.ts +1 -4
  251. package/dist/init-video.js +29 -24
  252. package/dist/internal-parse-media.js +40 -199
  253. package/dist/is-audio-structure.js +5 -1
  254. package/dist/{buffer-iterator.d.ts → iterator/buffer-iterator.d.ts} +12 -15
  255. package/dist/{buffer-iterator.js → iterator/buffer-iterator.js} +16 -119
  256. package/dist/iterator/buffer-manager.d.ts +18 -0
  257. package/dist/iterator/buffer-manager.js +87 -0
  258. package/dist/iterator/offset-counter.d.ts +10 -0
  259. package/dist/iterator/offset-counter.js +31 -0
  260. package/dist/log.js +12 -8
  261. package/dist/make-hvc1-codec-strings.d.ts +1 -1
  262. package/dist/make-hvc1-codec-strings.js +5 -1
  263. package/dist/make-progress-object.d.ts +6 -0
  264. package/dist/make-progress-object.js +13 -0
  265. package/dist/media-parser-controller.d.ts +3 -0
  266. package/dist/media-parser-controller.js +15 -7
  267. package/dist/metadata/get-metadata.js +22 -17
  268. package/dist/metadata/metadata-from-iso.js +17 -12
  269. package/dist/metadata/metadata-from-matroska.js +7 -3
  270. package/dist/metadata/metadata-from-riff.js +7 -3
  271. package/dist/node-writer.js +17 -1
  272. package/dist/node.js +17 -1
  273. package/dist/options.d.ts +1 -61
  274. package/dist/options.js +2 -1
  275. package/dist/parse-loop.d.ts +8 -0
  276. package/dist/parse-loop.js +93 -0
  277. package/dist/parse-media-on-worker-entry.d.ts +2 -1
  278. package/dist/parse-media-on-worker-entry.js +7 -3
  279. package/dist/parse-media.js +12 -8
  280. package/dist/parse-result.js +2 -1
  281. package/dist/pause-signal.js +5 -1
  282. package/dist/perform-seek.d.ts +2 -7
  283. package/dist/perform-seek.js +29 -26
  284. package/dist/print-timings.d.ts +2 -0
  285. package/dist/print-timings.js +12 -0
  286. package/dist/readers/fetch/get-body-and-reader.js +5 -1
  287. package/dist/readers/fetch/resolve-url.js +5 -1
  288. package/dist/readers/from-fetch.js +21 -14
  289. package/dist/readers/from-node.js +23 -17
  290. package/dist/readers/from-web-file.js +13 -7
  291. package/dist/readers/reader.js +2 -1
  292. package/dist/readers/universal.js +16 -13
  293. package/dist/readers/web.js +12 -9
  294. package/dist/register-track.js +18 -9
  295. package/dist/remotion-license-acknowledge.js +8 -4
  296. package/dist/run-parse-iteration.d.ts +1 -4
  297. package/dist/run-parse-iteration.js +25 -24
  298. package/dist/samples-from-moof.js +10 -6
  299. package/dist/seek-backwards.d.ts +2 -0
  300. package/dist/seek-backwards.js +26 -0
  301. package/dist/seek-forwards.d.ts +2 -0
  302. package/dist/seek-forwards.js +28 -0
  303. package/dist/seek-signal.d.ts +22 -0
  304. package/dist/seek-signal.js +26 -0
  305. package/dist/seeking-info.d.ts +8 -0
  306. package/dist/seeking-info.js +2 -0
  307. package/dist/skip.js +5 -1
  308. package/dist/state/aac-state.js +5 -1
  309. package/dist/state/can-skip-tracks.d.ts +2 -2
  310. package/dist/state/can-skip-tracks.js +12 -4
  311. package/dist/state/emitted-fields.d.ts +1 -1
  312. package/dist/state/emitted-fields.js +5 -1
  313. package/dist/state/flac-state.js +5 -1
  314. package/dist/state/has-tracks-section.d.ts +2 -1
  315. package/dist/state/has-tracks-section.js +7 -3
  316. package/dist/state/images.js +5 -1
  317. package/dist/state/iso-base-media/cached-sample-positions.js +13 -8
  318. package/dist/state/iso-base-media/iso-state.js +9 -5
  319. package/dist/state/iso-base-media/moov-box.js +5 -1
  320. package/dist/state/keyframes.js +5 -1
  321. package/dist/state/m3u-state.js +9 -5
  322. package/dist/state/may-skip-video-data.js +7 -3
  323. package/dist/state/mp3.js +5 -1
  324. package/dist/state/need-samples-for-fields.d.ts +1 -1
  325. package/dist/state/need-samples-for-fields.js +5 -1
  326. package/dist/state/parser-state.d.ts +38 -8
  327. package/dist/state/parser-state.js +59 -35
  328. package/dist/state/riff.js +5 -1
  329. package/dist/state/sample-callbacks.d.ts +8 -3
  330. package/dist/state/sample-callbacks.js +27 -10
  331. package/dist/state/slow-duration-fps.js +5 -1
  332. package/dist/state/structure.js +5 -1
  333. package/dist/state/timings.d.ts +8 -0
  334. package/dist/state/timings.js +13 -0
  335. package/dist/state/transport-stream.js +7 -3
  336. package/dist/state/video-section.d.ts +1 -1
  337. package/dist/state/video-section.js +5 -1
  338. package/dist/state/webm.d.ts +1 -1
  339. package/dist/state/webm.js +9 -5
  340. package/dist/throttled-progress.d.ts +2 -3
  341. package/dist/throttled-progress.js +5 -1
  342. package/dist/truthy.js +4 -1
  343. package/dist/universal.js +5 -1
  344. package/dist/version.d.ts +1 -1
  345. package/dist/version.js +4 -1
  346. package/dist/web.js +5 -1
  347. package/dist/webcodec-sample-types.js +2 -1
  348. package/dist/work-on-seek-request.d.ts +2 -0
  349. package/dist/work-on-seek-request.js +43 -0
  350. package/dist/worker/forward-controller.js +7 -3
  351. package/dist/worker/serialize-error.js +19 -14
  352. package/dist/worker/worker-types.d.ts +2 -1
  353. package/dist/worker/worker-types.js +2 -1
  354. package/dist/worker-server-entry.js +5 -3
  355. package/dist/worker-server.js +16 -12
  356. package/dist/worker-web-entry.js +5 -3
  357. package/dist/worker.d.ts +3 -2
  358. package/dist/worker.js +11 -2
  359. package/dist/writers/node.js +23 -16
  360. package/dist/writers/writer.js +2 -1
  361. package/package.json +10 -10
  362. package/dist/parse-media-on-server-worker.d.ts +0 -2
  363. package/dist/parse-media-on-server-worker.js +0 -4
  364. package/dist/parse-media-on-web-worker.d.ts +0 -2
  365. package/dist/parse-media-on-web-worker.js +0 -4
@@ -1,23 +1,31 @@
1
- export const isRiffAvi = (structure) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStrhBox = exports.getStrlBoxes = exports.getAvihBox = exports.getHdlrBox = exports.isRiffAvi = void 0;
4
+ const isRiffAvi = (structure) => {
2
5
  return structure.boxes.some((box) => box.type === 'riff-header' && box.fileType === 'AVI');
3
6
  };
4
- export const getHdlrBox = (structure) => {
7
+ exports.isRiffAvi = isRiffAvi;
8
+ const getHdlrBox = (structure) => {
5
9
  return structure.boxes.find((box) => box.type === 'list-box' && box.listType === 'hdrl');
6
10
  };
7
- export const getAvihBox = (structure) => {
8
- const hdlrBox = getHdlrBox(structure);
11
+ exports.getHdlrBox = getHdlrBox;
12
+ const getAvihBox = (structure) => {
13
+ const hdlrBox = (0, exports.getHdlrBox)(structure);
9
14
  if (!hdlrBox) {
10
15
  return null;
11
16
  }
12
17
  return hdlrBox.children.find((box) => box.type === 'avih-box');
13
18
  };
14
- export const getStrlBoxes = (structure) => {
15
- const hdlrBox = getHdlrBox(structure);
19
+ exports.getAvihBox = getAvihBox;
20
+ const getStrlBoxes = (structure) => {
21
+ const hdlrBox = (0, exports.getHdlrBox)(structure);
16
22
  if (!hdlrBox) {
17
23
  return [];
18
24
  }
19
25
  return hdlrBox.children.filter((box) => box.type === 'list-box' && box.listType === 'strl');
20
26
  };
21
- export const getStrhBox = (strlBoxChildren) => {
27
+ exports.getStrlBoxes = getStrlBoxes;
28
+ const getStrhBox = (strlBoxChildren) => {
22
29
  return strlBoxChildren.find((box) => box.type === 'strh-box');
23
30
  };
31
+ exports.getStrhBox = getStrhBox;
@@ -1,10 +1,13 @@
1
- import { createAacCodecPrivate, getSampleRateFromSampleFrequencyIndex, } from '../../aac-codecprivate';
2
- import { getArrayBufferIterator } from '../../buffer-iterator';
3
- export const readAdtsHeader = (buffer) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readAdtsHeader = void 0;
4
+ const aac_codecprivate_1 = require("../../aac-codecprivate");
5
+ const buffer_iterator_1 = require("../../iterator/buffer-iterator");
6
+ const readAdtsHeader = (buffer) => {
4
7
  if (buffer.byteLength < 9) {
5
8
  return null;
6
9
  }
7
- const iterator = getArrayBufferIterator(buffer, buffer.byteLength);
10
+ const iterator = (0, buffer_iterator_1.getArrayBufferIterator)(buffer, buffer.byteLength);
8
11
  iterator.startReadingBits();
9
12
  const bits = iterator.getBits(12);
10
13
  if (bits !== 0xfff) {
@@ -22,10 +25,10 @@ export const readAdtsHeader = (buffer) => {
22
25
  const protectionAbsent = iterator.getBits(1); // protection absent
23
26
  const audioObjectType = iterator.getBits(2); // 1 = 'AAC-LC'
24
27
  const samplingFrequencyIndex = iterator.getBits(4);
25
- const sampleRate = getSampleRateFromSampleFrequencyIndex(samplingFrequencyIndex);
28
+ const sampleRate = (0, aac_codecprivate_1.getSampleRateFromSampleFrequencyIndex)(samplingFrequencyIndex);
26
29
  iterator.getBits(1); // private bit
27
30
  const channelConfiguration = iterator.getBits(3);
28
- const codecPrivate = createAacCodecPrivate({
31
+ const codecPrivate = (0, aac_codecprivate_1.createAacCodecPrivate)({
29
32
  audioObjectType,
30
33
  sampleRate,
31
34
  channelConfiguration,
@@ -51,3 +54,4 @@ export const readAdtsHeader = (buffer) => {
51
54
  audioObjectType,
52
55
  };
53
56
  };
57
+ exports.readAdtsHeader = readAdtsHeader;
@@ -1 +1,2 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,3 @@
1
- import type { BufferIterator } from '../../buffer-iterator';
1
+ import type { BufferIterator } from '../../iterator/buffer-iterator';
2
2
  export declare const discardRestOfPacket: (iterator: BufferIterator) => void;
3
3
  export declare const getRestOfPacket: (iterator: BufferIterator) => Uint8Array;
@@ -1,8 +1,13 @@
1
- export const discardRestOfPacket = (iterator) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRestOfPacket = exports.discardRestOfPacket = void 0;
4
+ const discardRestOfPacket = (iterator) => {
2
5
  const next188 = 188 - (iterator.counter.getOffset() % 188);
3
6
  iterator.discard(next188);
4
7
  };
5
- export const getRestOfPacket = (iterator) => {
8
+ exports.discardRestOfPacket = discardRestOfPacket;
9
+ const getRestOfPacket = (iterator) => {
6
10
  const next188 = 188 - (iterator.counter.getOffset() % 188);
7
11
  return iterator.getSlice(next188);
8
12
  };
13
+ exports.getRestOfPacket = getRestOfPacket;
@@ -1,4 +1,7 @@
1
- export function findNthSubarrayIndex(array, subarray, n) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findNthSubarrayIndex = findNthSubarrayIndex;
4
+ function findNthSubarrayIndex(array, subarray, n) {
2
5
  const subarrayLength = subarray.length;
3
6
  const arrayLength = array.length;
4
7
  let count = 0;
@@ -1,19 +1,23 @@
1
- import { truthy } from '../../truthy';
2
- import { findProgramMapTableOrThrow } from './traversal';
3
- export const filterStreamsBySupportedTypes = (streams) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasAllTracksFromTransportStream = exports.getTracksFromTransportStream = exports.filterStreamsBySupportedTypes = void 0;
4
+ const truthy_1 = require("../../truthy");
5
+ const traversal_1 = require("./traversal");
6
+ const filterStreamsBySupportedTypes = (streams) => {
4
7
  return streams.filter((stream) => stream.streamType === 27 || stream.streamType === 15);
5
8
  };
6
- export const getTracksFromTransportStream = (parserState) => {
9
+ exports.filterStreamsBySupportedTypes = filterStreamsBySupportedTypes;
10
+ const getTracksFromTransportStream = (parserState) => {
7
11
  const structure = parserState.getTsStructure();
8
- const programMapTable = findProgramMapTableOrThrow(structure);
12
+ const programMapTable = (0, traversal_1.findProgramMapTableOrThrow)(structure);
9
13
  const parserTracks = parserState.callbacks.tracks.getTracks();
10
- const mapped = filterStreamsBySupportedTypes(programMapTable.streams)
14
+ const mapped = (0, exports.filterStreamsBySupportedTypes)(programMapTable.streams)
11
15
  .map((stream) => {
12
16
  return parserTracks.find((track) => track.trackId === stream.pid);
13
17
  })
14
- .filter(truthy);
18
+ .filter(truthy_1.truthy);
15
19
  if (mapped.length !==
16
- filterStreamsBySupportedTypes(programMapTable.streams).length) {
20
+ (0, exports.filterStreamsBySupportedTypes)(programMapTable.streams).length) {
17
21
  throw new Error('Not all tracks found');
18
22
  }
19
23
  return {
@@ -22,12 +26,14 @@ export const getTracksFromTransportStream = (parserState) => {
22
26
  otherTracks: [],
23
27
  };
24
28
  };
25
- export const hasAllTracksFromTransportStream = (parserState) => {
29
+ exports.getTracksFromTransportStream = getTracksFromTransportStream;
30
+ const hasAllTracksFromTransportStream = (parserState) => {
26
31
  try {
27
- getTracksFromTransportStream(parserState);
32
+ (0, exports.getTracksFromTransportStream)(parserState);
28
33
  return true;
29
34
  }
30
35
  catch (_a) {
31
36
  return false;
32
37
  }
33
38
  };
39
+ exports.hasAllTracksFromTransportStream = hasAllTracksFromTransportStream;
@@ -1,11 +1,15 @@
1
- import { mapAudioObjectTypeToCodecString } from '../../aac-codecprivate';
2
- import { convertAudioOrVideoSampleToWebCodecsTimestamps } from '../../convert-audio-or-video-sample';
3
- import { registerAudioTrack } from '../../register-track';
4
- import { readAdtsHeader } from './adts-header';
5
- import { MPEG_TIMESCALE } from './handle-avc-packet';
6
- export const handleAacPacket = async ({ streamBuffer, state, programId, offset, }) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleAacPacket = void 0;
4
+ const aac_codecprivate_1 = require("../../aac-codecprivate");
5
+ const convert_audio_or_video_sample_1 = require("../../convert-audio-or-video-sample");
6
+ const emit_audio_sample_1 = require("../../emit-audio-sample");
7
+ const register_track_1 = require("../../register-track");
8
+ const adts_header_1 = require("./adts-header");
9
+ const handle_avc_packet_1 = require("./handle-avc-packet");
10
+ const handleAacPacket = async ({ streamBuffer, state, programId, offset, }) => {
7
11
  var _a;
8
- const adtsHeader = readAdtsHeader(streamBuffer.buffer);
12
+ const adtsHeader = (0, adts_header_1.readAdtsHeader)(streamBuffer.buffer);
9
13
  if (!adtsHeader) {
10
14
  throw new Error('Invalid ADTS header - too short');
11
15
  }
@@ -19,15 +23,15 @@ export const handleAacPacket = async ({ streamBuffer, state, programId, offset,
19
23
  codecPrivate,
20
24
  trackId: programId,
21
25
  trakBox: null,
22
- timescale: MPEG_TIMESCALE,
26
+ timescale: handle_avc_packet_1.MPEG_TIMESCALE,
23
27
  codecWithoutConfig: 'aac',
24
- codec: mapAudioObjectTypeToCodecString(audioObjectType),
28
+ codec: (0, aac_codecprivate_1.mapAudioObjectTypeToCodecString)(audioObjectType),
25
29
  // https://www.w3.org/TR/webcodecs-aac-codec-registration/
26
30
  description: undefined,
27
31
  numberOfChannels: channelConfiguration,
28
32
  sampleRate,
29
33
  };
30
- await registerAudioTrack({
34
+ await (0, register_track_1.registerAudioTrack)({
31
35
  track,
32
36
  state,
33
37
  container: 'transport-stream',
@@ -42,7 +46,12 @@ export const handleAacPacket = async ({ streamBuffer, state, programId, offset,
42
46
  trackId: programId,
43
47
  type: 'key',
44
48
  offset,
45
- timescale: MPEG_TIMESCALE,
49
+ timescale: handle_avc_packet_1.MPEG_TIMESCALE,
46
50
  };
47
- await state.callbacks.onAudioSample(programId, convertAudioOrVideoSampleToWebCodecsTimestamps(sample, MPEG_TIMESCALE));
51
+ await (0, emit_audio_sample_1.emitAudioSample)({
52
+ trackId: programId,
53
+ audioSample: (0, convert_audio_or_video_sample_1.convertAudioOrVideoSampleToWebCodecsTimestamps)(sample, handle_avc_packet_1.MPEG_TIMESCALE),
54
+ state,
55
+ });
48
56
  };
57
+ exports.handleAacPacket = handleAacPacket;
@@ -1,30 +1,34 @@
1
- import { convertAudioOrVideoSampleToWebCodecsTimestamps } from '../../convert-audio-or-video-sample';
2
- import { registerVideoTrack } from '../../register-track';
3
- import { getCodecStringFromSpsAndPps } from '../avc/codec-string';
4
- import { createSpsPpsData } from '../avc/create-sps-pps-data';
5
- import { getDimensionsFromSps, getSampleAspectRatioFromSps, getVideoColorFromSps, } from '../avc/interpret-sps';
6
- import { getKeyFrameOrDeltaFromAvcInfo } from '../avc/key';
7
- import { parseAvc } from '../avc/parse-avc';
8
- import { getSpsAndPps } from '../avc/sps-and-pps';
9
- export const MPEG_TIMESCALE = 90000;
10
- export const handleAvcPacket = async ({ streamBuffer, programId, state, offset, }) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleAvcPacket = exports.MPEG_TIMESCALE = void 0;
4
+ const convert_audio_or_video_sample_1 = require("../../convert-audio-or-video-sample");
5
+ const emit_audio_sample_1 = require("../../emit-audio-sample");
6
+ const register_track_1 = require("../../register-track");
7
+ const codec_string_1 = require("../avc/codec-string");
8
+ const create_sps_pps_data_1 = require("../avc/create-sps-pps-data");
9
+ const interpret_sps_1 = require("../avc/interpret-sps");
10
+ const key_1 = require("../avc/key");
11
+ const parse_avc_1 = require("../avc/parse-avc");
12
+ const sps_and_pps_1 = require("../avc/sps-and-pps");
13
+ exports.MPEG_TIMESCALE = 90000;
14
+ const handleAvcPacket = async ({ streamBuffer, programId, state, offset, }) => {
11
15
  var _a;
12
- const avc = parseAvc(streamBuffer.buffer);
16
+ const avc = (0, parse_avc_1.parseAvc)(streamBuffer.buffer);
13
17
  const isTrackRegistered = state.callbacks.tracks.getTracks().find((t) => {
14
18
  return t.trackId === programId;
15
19
  });
16
20
  if (!isTrackRegistered) {
17
- const spsAndPps = getSpsAndPps(avc);
18
- const dimensions = getDimensionsFromSps(spsAndPps.sps.spsData);
19
- const sampleAspectRatio = getSampleAspectRatioFromSps(spsAndPps.sps.spsData);
21
+ const spsAndPps = (0, sps_and_pps_1.getSpsAndPps)(avc);
22
+ const dimensions = (0, interpret_sps_1.getDimensionsFromSps)(spsAndPps.sps.spsData);
23
+ const sampleAspectRatio = (0, interpret_sps_1.getSampleAspectRatioFromSps)(spsAndPps.sps.spsData);
20
24
  const track = {
21
25
  m3uStreamFormat: null,
22
26
  rotation: 0,
23
27
  trackId: programId,
24
28
  type: 'video',
25
- timescale: MPEG_TIMESCALE,
26
- codec: getCodecStringFromSpsAndPps(spsAndPps.sps),
27
- codecPrivate: createSpsPpsData(spsAndPps),
29
+ timescale: exports.MPEG_TIMESCALE,
30
+ codec: (0, codec_string_1.getCodecStringFromSpsAndPps)(spsAndPps.sps),
31
+ codecPrivate: (0, create_sps_pps_data_1.createSpsPpsData)(spsAndPps),
28
32
  fps: null,
29
33
  codedWidth: dimensions.width,
30
34
  codedHeight: dimensions.height,
@@ -39,9 +43,9 @@ export const handleAvcPacket = async ({ streamBuffer, programId, state, offset,
39
43
  denominator: sampleAspectRatio.height,
40
44
  numerator: sampleAspectRatio.width,
41
45
  },
42
- color: getVideoColorFromSps(spsAndPps.sps.spsData),
46
+ color: (0, interpret_sps_1.getVideoColorFromSps)(spsAndPps.sps.spsData),
43
47
  };
44
- await registerVideoTrack({ track, state, container: 'transport-stream' });
48
+ await (0, register_track_1.registerVideoTrack)({ track, state, container: 'transport-stream' });
45
49
  }
46
50
  // sample for webcodecs needs to be in nano seconds
47
51
  const sample = {
@@ -51,9 +55,14 @@ export const handleAvcPacket = async ({ streamBuffer, programId, state, offset,
51
55
  duration: undefined,
52
56
  data: new Uint8Array(streamBuffer.buffer),
53
57
  trackId: programId,
54
- type: getKeyFrameOrDeltaFromAvcInfo(avc),
58
+ type: (0, key_1.getKeyFrameOrDeltaFromAvcInfo)(avc),
55
59
  offset,
56
- timescale: MPEG_TIMESCALE,
60
+ timescale: exports.MPEG_TIMESCALE,
57
61
  };
58
- await state.callbacks.onVideoSample(programId, convertAudioOrVideoSampleToWebCodecsTimestamps(sample, MPEG_TIMESCALE));
62
+ await (0, emit_audio_sample_1.emitVideoSample)({
63
+ trackId: programId,
64
+ videoSample: (0, convert_audio_or_video_sample_1.convertAudioOrVideoSampleToWebCodecsTimestamps)(sample, exports.MPEG_TIMESCALE),
65
+ state,
66
+ });
59
67
  };
68
+ exports.handleAvcPacket = handleAvcPacket;
@@ -1,4 +1,7 @@
1
- export const makeNextPesHeaderStore = () => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeNextPesHeaderStore = void 0;
4
+ const makeNextPesHeaderStore = () => {
2
5
  let nextPesHeader = null;
3
6
  return {
4
7
  setNextPesHeader: (pesHeader) => {
@@ -12,3 +15,4 @@ export const makeNextPesHeaderStore = () => {
12
15
  },
13
16
  };
14
17
  };
18
+ exports.makeNextPesHeaderStore = makeNextPesHeaderStore;
@@ -1,9 +1,12 @@
1
- import { parsePat, parseSdt } from './parse-pat';
2
- import { parsePes } from './parse-pes';
3
- import { parsePmt } from './parse-pmt';
4
- import { parseStream } from './parse-stream-packet';
5
- import { getProgramForId, getStreamForId } from './traversal';
6
- export const parsePacket = async ({ parserState, }) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsePacket = void 0;
4
+ const parse_pat_1 = require("./parse-pat");
5
+ const parse_pes_1 = require("./parse-pes");
6
+ const parse_pmt_1 = require("./parse-pmt");
7
+ const parse_stream_packet_1 = require("./parse-stream-packet");
8
+ const traversal_1 = require("./traversal");
9
+ const parsePacket = async ({ parserState, }) => {
7
10
  const { iterator } = parserState;
8
11
  const offset = iterator.counter.getOffset();
9
12
  const syncByte = iterator.getUint8();
@@ -47,29 +50,29 @@ export const parsePacket = async ({ parserState, }) => {
47
50
  const pat = structure.boxes.find((b) => b.type === 'transport-stream-pmt-box');
48
51
  const isPes = payloadUnitStartIndicator && (pat === null || pat === void 0 ? void 0 : pat.streams.find((e) => e.pid === programId));
49
52
  if (isPes) {
50
- const packetPes = parsePes(iterator);
53
+ const packetPes = (0, parse_pes_1.parsePes)(iterator);
51
54
  parserState.transportStream.nextPesHeaderStore.setNextPesHeader(packetPes);
52
55
  }
53
56
  else if (payloadUnitStartIndicator === 1) {
54
57
  iterator.getUint8(); // pointerField
55
58
  }
56
59
  if (programId === 0) {
57
- return Promise.resolve(parsePat(iterator));
60
+ return Promise.resolve((0, parse_pat_1.parsePat)(iterator));
58
61
  }
59
62
  if (programId === 17) {
60
- return Promise.resolve(parseSdt(iterator));
63
+ return Promise.resolve((0, parse_pat_1.parseSdt)(iterator));
61
64
  }
62
65
  // PID 17 is SDT
63
66
  // https://de.wikipedia.org/wiki/MPEG-Transportstrom
64
67
  // Die Service Description Table nennt den Programmnamen (z. B. „ZDF“) und gibt weitere Informationen der einzelnen Programme (Services); sie wird auf PID 17 übertragen.
65
- const program = programId === 17 ? null : getProgramForId(structure, programId);
68
+ const program = programId === 17 ? null : (0, traversal_1.getProgramForId)(structure, programId);
66
69
  if (program) {
67
- const pmt = parsePmt(iterator);
70
+ const pmt = (0, parse_pmt_1.parsePmt)(iterator);
68
71
  return Promise.resolve(pmt);
69
72
  }
70
- const stream = getStreamForId(structure, programId);
73
+ const stream = (0, traversal_1.getStreamForId)(structure, programId);
71
74
  if (stream) {
72
- await parseStream({
75
+ await (0, parse_stream_packet_1.parseStream)({
73
76
  transportStreamEntry: stream,
74
77
  state: parserState,
75
78
  programId,
@@ -79,3 +82,4 @@ export const parsePacket = async ({ parserState, }) => {
79
82
  }
80
83
  throw new Error('Unknown packet identifier');
81
84
  };
85
+ exports.parsePacket = parsePacket;
@@ -1,4 +1,4 @@
1
- import type { BufferIterator } from '../../buffer-iterator';
1
+ import type { BufferIterator } from '../../iterator/buffer-iterator';
2
2
  import type { TransportStreamPATBox, TransportStreamSdtBox } from './boxes';
3
3
  export type TransportStreamProgramAssociationTableEntry = {
4
4
  type: 'transport-stream-program-association-table';
@@ -1,5 +1,8 @@
1
+ "use strict";
1
2
  // https://en.wikipedia.org/wiki/Program-specific_information
2
- import { discardRestOfPacket } from './discard-rest-of-packet';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.parseSdt = exports.parsePat = void 0;
5
+ const discard_rest_of_packet_1 = require("./discard-rest-of-packet");
3
6
  const parsePatTable = (iterator, tableId) => {
4
7
  iterator.getUint16(); // table ID extension
5
8
  iterator.startReadingBits();
@@ -28,7 +31,7 @@ const parsePatTable = (iterator, tableId) => {
28
31
  pat: tables,
29
32
  };
30
33
  };
31
- export const parsePat = (iterator) => {
34
+ const parsePat = (iterator) => {
32
35
  iterator.startReadingBits();
33
36
  const tableId = iterator.getBits(8);
34
37
  iterator.getBits(1); // syntax indicator
@@ -40,10 +43,11 @@ export const parsePat = (iterator) => {
40
43
  }
41
44
  iterator.stopReadingBits();
42
45
  const tables = parsePatTable(iterator, tableId);
43
- discardRestOfPacket(iterator);
46
+ (0, discard_rest_of_packet_1.discardRestOfPacket)(iterator);
44
47
  return tables;
45
48
  };
46
- export const parseSdt = (iterator) => {
49
+ exports.parsePat = parsePat;
50
+ const parseSdt = (iterator) => {
47
51
  iterator.startReadingBits();
48
52
  iterator.getBits(8); // table ID
49
53
  iterator.getBits(1); // section syntax indicator
@@ -52,8 +56,9 @@ export const parseSdt = (iterator) => {
52
56
  const sectionLength = iterator.getBits(12);
53
57
  iterator.stopReadingBits();
54
58
  iterator.discard(sectionLength);
55
- discardRestOfPacket(iterator);
59
+ (0, discard_rest_of_packet_1.discardRestOfPacket)(iterator);
56
60
  return {
57
61
  type: 'transport-stream-sdt-box',
58
62
  };
59
63
  };
64
+ exports.parseSdt = parseSdt;
@@ -1,4 +1,4 @@
1
- import type { BufferIterator } from '../../buffer-iterator';
1
+ import type { BufferIterator } from '../../iterator/buffer-iterator';
2
2
  export type PacketPes = {
3
3
  streamId: number;
4
4
  dts: number | null;
@@ -1,4 +1,7 @@
1
- export const parsePes = (iterator) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsePes = void 0;
4
+ const parsePes = (iterator) => {
2
5
  const ident = iterator.getUint24();
3
6
  if (ident !== 0x000001) {
4
7
  throw new Error(`Unexpected PES packet start code: ${ident.toString(16)}`);
@@ -70,3 +73,4 @@ export const parsePes = (iterator) => {
70
73
  };
71
74
  return packet;
72
75
  };
76
+ exports.parsePes = parsePes;
@@ -1,4 +1,4 @@
1
- import type { BufferIterator } from '../../buffer-iterator';
1
+ import type { BufferIterator } from '../../iterator/buffer-iterator';
2
2
  import type { TransportStreamPMTBox } from './boxes';
3
3
  export type TransportStreamEntry = {
4
4
  streamType: number;
@@ -1,4 +1,7 @@
1
- import { discardRestOfPacket } from './discard-rest-of-packet';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsePmt = void 0;
4
+ const discard_rest_of_packet_1 = require("./discard-rest-of-packet");
2
5
  const parsePmtTable = ({ iterator, tableId, sectionLength, }) => {
3
6
  const start = iterator.counter.getOffset();
4
7
  iterator.getUint16(); // table ID extension
@@ -43,7 +46,7 @@ const parsePmtTable = ({ iterator, tableId, sectionLength, }) => {
43
46
  streams: tables[0].streams,
44
47
  };
45
48
  };
46
- export const parsePmt = (iterator) => {
49
+ const parsePmt = (iterator) => {
47
50
  iterator.startReadingBits();
48
51
  const tableId = iterator.getBits(8);
49
52
  iterator.getBits(1); // syntax indicator
@@ -55,6 +58,7 @@ export const parsePmt = (iterator) => {
55
58
  }
56
59
  iterator.stopReadingBits();
57
60
  const tables = parsePmtTable({ iterator, tableId, sectionLength });
58
- discardRestOfPacket(iterator);
61
+ (0, discard_rest_of_packet_1.discardRestOfPacket)(iterator);
59
62
  return tables;
60
63
  };
64
+ exports.parsePmt = parsePmt;
@@ -1,8 +1,11 @@
1
- import { combineUint8Arrays } from '../../combine-uint8-arrays';
2
- import { readAdtsHeader } from './adts-header';
3
- import { getRestOfPacket } from './discard-rest-of-packet';
4
- import { findNthSubarrayIndex } from './find-separator';
5
- import { processStreamBuffer } from './process-stream-buffers';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseStream = void 0;
4
+ const combine_uint8_arrays_1 = require("../../combine-uint8-arrays");
5
+ const adts_header_1 = require("./adts-header");
6
+ const discard_rest_of_packet_1 = require("./discard-rest-of-packet");
7
+ const find_separator_1 = require("./find-separator");
8
+ const process_stream_buffers_1 = require("./process-stream-buffers");
6
9
  const parseAdtsStream = async ({ transportStreamEntry, state, structure, offset, }) => {
7
10
  var _a, _b;
8
11
  const { streamBuffers, nextPesHeaderStore: nextPesHeader } = state.transportStream;
@@ -11,14 +14,14 @@ const parseAdtsStream = async ({ transportStreamEntry, state, structure, offset,
11
14
  if (!streamBuffer) {
12
15
  throw new Error('Stream buffer not found');
13
16
  }
14
- const expectedLength = (_b = (_a = readAdtsHeader(streamBuffer.buffer)) === null || _a === void 0 ? void 0 : _a.frameLength) !== null && _b !== void 0 ? _b : null;
17
+ const expectedLength = (_b = (_a = (0, adts_header_1.readAdtsHeader)(streamBuffer.buffer)) === null || _a === void 0 ? void 0 : _a.frameLength) !== null && _b !== void 0 ? _b : null;
15
18
  if (expectedLength === null) {
16
19
  break;
17
20
  }
18
21
  if (expectedLength > streamBuffer.buffer.length) {
19
22
  break;
20
23
  }
21
- await processStreamBuffer({
24
+ await (0, process_stream_buffers_1.processStreamBuffer)({
22
25
  streamBuffer: {
23
26
  buffer: streamBuffer.buffer.slice(0, expectedLength),
24
27
  offset,
@@ -37,13 +40,13 @@ const parseAdtsStream = async ({ transportStreamEntry, state, structure, offset,
37
40
  }
38
41
  };
39
42
  const parseAvcStream = async ({ programId, state, structure, streamBuffer, }) => {
40
- const indexOfSeparator = findNthSubarrayIndex(streamBuffer.buffer, new Uint8Array([0, 0, 1, 9]), 2);
43
+ const indexOfSeparator = (0, find_separator_1.findNthSubarrayIndex)(streamBuffer.buffer, new Uint8Array([0, 0, 1, 9]), 2);
41
44
  if (indexOfSeparator === -1 || indexOfSeparator === 0) {
42
45
  return null;
43
46
  }
44
47
  const packet = streamBuffer.buffer.slice(0, indexOfSeparator);
45
48
  const rest = streamBuffer.buffer.slice(indexOfSeparator);
46
- await processStreamBuffer({
49
+ await (0, process_stream_buffers_1.processStreamBuffer)({
47
50
  state,
48
51
  streamBuffer: {
49
52
  offset: streamBuffer.offset,
@@ -56,9 +59,9 @@ const parseAvcStream = async ({ programId, state, structure, streamBuffer, }) =>
56
59
  });
57
60
  return rest;
58
61
  };
59
- export const parseStream = async ({ transportStreamEntry, state, programId, structure, }) => {
62
+ const parseStream = async ({ transportStreamEntry, state, programId, structure, }) => {
60
63
  const { iterator } = state;
61
- let restOfPacket = getRestOfPacket(iterator);
64
+ let restOfPacket = (0, discard_rest_of_packet_1.getRestOfPacket)(iterator);
62
65
  const offset = iterator.counter.getOffset();
63
66
  if (transportStreamEntry.streamType === 27) {
64
67
  const { streamBuffers, nextPesHeaderStore: nextPesHeader } = state.transportStream;
@@ -71,7 +74,7 @@ export const parseStream = async ({ transportStreamEntry, state, programId, stru
71
74
  });
72
75
  }
73
76
  const streamBuffer = streamBuffers.get(transportStreamEntry.pid);
74
- streamBuffer.buffer = combineUint8Arrays([
77
+ streamBuffer.buffer = (0, combine_uint8_arrays_1.combineUint8Arrays)([
75
78
  streamBuffer.buffer,
76
79
  restOfPacket,
77
80
  ]);
@@ -105,7 +108,7 @@ export const parseStream = async ({ transportStreamEntry, state, programId, stru
105
108
  });
106
109
  }
107
110
  else {
108
- streamBuffer.buffer = combineUint8Arrays([
111
+ streamBuffer.buffer = (0, combine_uint8_arrays_1.combineUint8Arrays)([
109
112
  streamBuffer.buffer,
110
113
  restOfPacket,
111
114
  ]);
@@ -119,3 +122,4 @@ export const parseStream = async ({ transportStreamEntry, state, programId, stru
119
122
  }
120
123
  throw new Error(`Unsupported stream type ${transportStreamEntry.streamType}`);
121
124
  };
125
+ exports.parseStream = parseStream;
@@ -1,22 +1,26 @@
1
- import { parsePacket } from './parse-packet';
2
- import { processFinalStreamBuffers } from './process-stream-buffers';
3
- export const parseTransportStream = async (state) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseTransportStream = void 0;
4
+ const parse_packet_1 = require("./parse-packet");
5
+ const process_stream_buffers_1 = require("./process-stream-buffers");
6
+ const parseTransportStream = async (state) => {
4
7
  const structure = state.getTsStructure();
5
8
  const { iterator } = state;
6
9
  if (iterator.bytesRemaining() < 188) {
7
10
  return Promise.resolve(null);
8
11
  }
9
- const packet = await parsePacket({
12
+ const packet = await (0, parse_packet_1.parsePacket)({
10
13
  parserState: state,
11
14
  });
12
15
  if (packet) {
13
16
  structure.boxes.push(packet);
14
17
  }
15
18
  if (iterator.bytesRemaining() === 0) {
16
- await processFinalStreamBuffers({
19
+ await (0, process_stream_buffers_1.processFinalStreamBuffers)({
17
20
  state,
18
21
  structure,
19
22
  });
20
23
  }
21
24
  return Promise.resolve(null);
22
25
  };
26
+ exports.parseTransportStream = parseTransportStream;