@remotion/media-parser 4.0.269 → 4.0.271
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aac-codecprivate.js +6 -13
- package/dist/add-avc-profile-to-track.js +5 -9
- package/dist/buffer-iterator.js +8 -13
- package/dist/combine-uint8-arrays.js +1 -5
- package/dist/containers/aac/parse-aac.js +9 -13
- package/dist/containers/aac/types.js +1 -2
- package/dist/containers/avc/codec-string.js +1 -5
- package/dist/containers/avc/color.js +3 -9
- package/dist/containers/avc/create-sps-pps-data.js +5 -9
- package/dist/containers/avc/interpret-sps.js +7 -13
- package/dist/containers/avc/key.js +1 -5
- package/dist/containers/avc/parse-avc.js +3 -7
- package/dist/containers/avc/sps-and-pps.js +1 -5
- package/dist/containers/flac/get-block-size.js +1 -5
- package/dist/containers/flac/get-channel-count.d.ts +1 -1
- package/dist/containers/flac/get-channel-count.js +1 -5
- package/dist/containers/flac/get-duration-from-flac.js +1 -5
- package/dist/containers/flac/get-metadata-from-flac.js +1 -5
- package/dist/containers/flac/get-sample-rate.js +1 -5
- package/dist/containers/flac/parse-flac-frame.js +14 -19
- package/dist/containers/flac/parse-flac.js +15 -19
- package/dist/containers/flac/parse-header.js +1 -5
- package/dist/containers/flac/parse-metadata.js +1 -5
- package/dist/containers/flac/parse-streaminfo.js +3 -7
- package/dist/containers/flac/parse-unknown-block.js +1 -5
- package/dist/containers/flac/types.d.ts +2 -2
- package/dist/containers/flac/types.js +1 -2
- package/dist/containers/iso-base-media/base-media-box.js +1 -2
- package/dist/containers/iso-base-media/base-type.js +1 -2
- package/dist/containers/iso-base-media/esds/decoder-specific-config.js +1 -5
- package/dist/containers/iso-base-media/esds/esds-descriptors.js +5 -10
- package/dist/containers/iso-base-media/esds/esds.js +3 -7
- package/dist/containers/iso-base-media/ftyp.js +1 -5
- package/dist/containers/iso-base-media/get-actual-number-of-channels.js +4 -8
- package/dist/containers/iso-base-media/get-children.js +3 -7
- package/dist/containers/iso-base-media/get-keyframes.js +7 -11
- package/dist/containers/iso-base-media/get-moov-atom.js +22 -15
- package/dist/containers/iso-base-media/get-sample-positions-from-track.js +20 -24
- package/dist/containers/iso-base-media/get-video-codec-from-iso-track.d.ts +1 -1
- package/dist/containers/iso-base-media/get-video-codec-from-iso-track.js +3 -7
- package/dist/containers/iso-base-media/make-track.js +30 -34
- package/dist/containers/iso-base-media/mdat/mdat.js +16 -20
- package/dist/containers/iso-base-media/mdhd.js +1 -5
- package/dist/containers/iso-base-media/meta/hdlr.js +1 -5
- package/dist/containers/iso-base-media/meta/ilst.js +1 -5
- package/dist/containers/iso-base-media/moov/moov.js +3 -7
- package/dist/containers/iso-base-media/mvhd.js +7 -11
- package/dist/containers/iso-base-media/parse-boxes.js +5 -9
- package/dist/containers/iso-base-media/parse-icc-profile.js +4 -8
- package/dist/containers/iso-base-media/process-box.js +63 -67
- package/dist/containers/iso-base-media/stsd/av1c.js +1 -5
- package/dist/containers/iso-base-media/stsd/avcc.js +1 -5
- package/dist/containers/iso-base-media/stsd/colr.js +3 -7
- package/dist/containers/iso-base-media/stsd/ctts.js +1 -5
- package/dist/containers/iso-base-media/stsd/hvcc.js +3 -7
- package/dist/containers/iso-base-media/stsd/keys.js +1 -5
- package/dist/containers/iso-base-media/stsd/mebx.js +3 -7
- package/dist/containers/iso-base-media/stsd/pasp.js +1 -5
- package/dist/containers/iso-base-media/stsd/samples.js +8 -13
- package/dist/containers/iso-base-media/stsd/stco.js +1 -5
- package/dist/containers/iso-base-media/stsd/stsc.js +1 -5
- package/dist/containers/iso-base-media/stsd/stsd.js +3 -7
- package/dist/containers/iso-base-media/stsd/stss.js +1 -5
- package/dist/containers/iso-base-media/stsd/stsz.js +1 -5
- package/dist/containers/iso-base-media/stsd/stts.js +1 -5
- package/dist/containers/iso-base-media/tfdt.js +1 -5
- package/dist/containers/iso-base-media/tfhd.js +1 -5
- package/dist/containers/iso-base-media/tkhd.js +4 -8
- package/dist/containers/iso-base-media/to-date.js +1 -5
- package/dist/containers/iso-base-media/trak/trak.js +3 -7
- package/dist/containers/iso-base-media/traversal.d.ts +3 -2
- package/dist/containers/iso-base-media/traversal.js +42 -57
- package/dist/containers/iso-base-media/trun.js +2 -6
- package/dist/containers/iso-base-media/void-box.js +1 -2
- package/dist/containers/m3u/after-manifest-fetch.d.ts +8 -8
- package/dist/containers/m3u/after-manifest-fetch.js +33 -51
- package/dist/containers/m3u/fetch-m3u8-stream.d.ts +5 -2
- package/dist/containers/m3u/fetch-m3u8-stream.js +4 -12
- package/dist/containers/m3u/get-chunks.d.ts +1 -0
- package/dist/containers/m3u/get-chunks.js +6 -6
- package/dist/containers/m3u/get-duration-from-m3u.d.ts +2 -2
- package/dist/containers/m3u/get-duration-from-m3u.js +9 -8
- package/dist/containers/m3u/get-playlist.d.ts +6 -1
- package/dist/containers/m3u/get-playlist.js +19 -16
- package/dist/containers/m3u/get-streams.d.ts +14 -7
- package/dist/containers/m3u/get-streams.js +15 -18
- package/dist/containers/m3u/iterate-over-segment-files.d.ts +19 -0
- package/dist/containers/m3u/iterate-over-segment-files.js +106 -0
- package/dist/containers/m3u/m3u-child-stream.d.ts +0 -0
- package/dist/containers/m3u/m3u-child-stream.js +1 -0
- package/dist/containers/m3u/parse-directive.js +37 -10
- package/dist/containers/m3u/parse-m3u-manifest.js +3 -7
- package/dist/containers/m3u/parse-m3u-media-directive.d.ts +1 -0
- package/dist/containers/m3u/parse-m3u-media-directive.js +7 -7
- package/dist/containers/m3u/parse-m3u.js +18 -11
- package/dist/containers/m3u/parse-m3u8-text.js +3 -7
- package/dist/containers/m3u/parse-stream-inf.js +2 -7
- package/dist/containers/m3u/return-packets.d.ts +3 -2
- package/dist/containers/m3u/return-packets.js +92 -54
- package/dist/containers/m3u/run-over-m3u.d.ts +9 -0
- package/dist/containers/m3u/run-over-m3u.js +85 -0
- package/dist/containers/m3u/sample-sorter.d.ts +13 -0
- package/dist/containers/m3u/sample-sorter.js +60 -0
- package/dist/containers/m3u/select-stream.d.ts +10 -1
- package/dist/containers/m3u/select-stream.js +23 -7
- package/dist/containers/m3u/types.d.ts +15 -1
- package/dist/containers/m3u/types.js +1 -2
- package/dist/containers/mp3/get-duration.js +5 -9
- package/dist/containers/mp3/get-frame-length.js +2 -7
- package/dist/containers/mp3/get-metadata-from-mp3.d.ts +2 -2
- package/dist/containers/mp3/get-metadata-from-mp3.js +1 -5
- package/dist/containers/mp3/id3-v1.js +1 -5
- package/dist/containers/mp3/id3.js +1 -5
- package/dist/containers/mp3/parse-mp3.js +7 -11
- package/dist/containers/mp3/parse-mpeg-header.js +10 -14
- package/dist/containers/mp3/samples-per-mpeg-file.js +1 -5
- package/dist/containers/riff/expect-riff-box.js +11 -15
- package/dist/containers/riff/get-duration.js +7 -12
- package/dist/containers/riff/get-tracks-from-avi.js +20 -28
- package/dist/containers/riff/is-movi.js +1 -5
- package/dist/containers/riff/parse-avih.js +1 -5
- package/dist/containers/riff/parse-isft.js +1 -5
- package/dist/containers/riff/parse-list-box.js +3 -7
- package/dist/containers/riff/parse-movi.js +13 -18
- package/dist/containers/riff/parse-riff-body.js +9 -13
- package/dist/containers/riff/parse-riff-box.js +9 -13
- package/dist/containers/riff/parse-riff-header.js +1 -5
- package/dist/containers/riff/parse-riff.js +5 -9
- package/dist/containers/riff/parse-strf.js +1 -5
- package/dist/containers/riff/parse-strh.js +3 -7
- package/dist/containers/riff/parse-video-section.js +7 -11
- package/dist/containers/riff/riff-box.js +1 -2
- package/dist/containers/riff/timescale.js +1 -4
- package/dist/containers/riff/traversal.js +7 -15
- package/dist/containers/transport-stream/adts-header.js +6 -10
- package/dist/containers/transport-stream/boxes.js +1 -2
- package/dist/containers/transport-stream/discard-rest-of-packet.js +2 -7
- package/dist/containers/transport-stream/find-separator.js +1 -4
- package/dist/containers/transport-stream/get-tracks.js +7 -12
- package/dist/containers/transport-stream/handle-aac-packet.js +12 -16
- package/dist/containers/transport-stream/handle-avc-packet.js +22 -26
- package/dist/containers/transport-stream/next-pes-header-store.js +1 -5
- package/dist/containers/transport-stream/parse-packet.js +13 -17
- package/dist/containers/transport-stream/parse-pat.js +5 -10
- package/dist/containers/transport-stream/parse-pes.js +1 -5
- package/dist/containers/transport-stream/parse-pmt.js +3 -7
- package/dist/containers/transport-stream/parse-stream-packet.js +13 -17
- package/dist/containers/transport-stream/parse-transport-stream.js +5 -9
- package/dist/containers/transport-stream/process-stream-buffers.js +10 -15
- package/dist/containers/transport-stream/traversal.js +4 -10
- package/dist/containers/wav/get-duration-from-wav.js +3 -8
- package/dist/containers/wav/get-metadata-from-wav.d.ts +2 -2
- package/dist/containers/wav/get-metadata-from-wav.js +1 -5
- package/dist/containers/wav/parse-data.js +5 -9
- package/dist/containers/wav/parse-fmt.js +3 -7
- package/dist/containers/wav/parse-header.js +1 -5
- package/dist/containers/wav/parse-id3.js +1 -5
- package/dist/containers/wav/parse-list.js +10 -6
- package/dist/containers/wav/parse-video-section.js +3 -7
- package/dist/containers/wav/parse-wav.js +15 -19
- package/dist/containers/wav/types.d.ts +2 -2
- package/dist/containers/wav/types.js +1 -2
- package/dist/containers/webm/allowed-partial-segments.js +1 -4
- package/dist/containers/webm/av1-codec-private.js +3 -7
- package/dist/containers/webm/color.js +6 -10
- package/dist/containers/webm/description.js +6 -10
- package/dist/containers/webm/get-ready-tracks.js +13 -18
- package/dist/containers/webm/get-sample-from-block.js +12 -16
- package/dist/containers/webm/make-track.js +43 -48
- package/dist/containers/webm/parse-ebml.js +14 -19
- package/dist/containers/webm/parse-webm-header.js +3 -7
- package/dist/containers/webm/segments/all-segments.js +168 -173
- package/dist/containers/webm/segments/block-simple-block-flags.js +4 -8
- package/dist/containers/webm/segments/track-entry.js +1 -5
- package/dist/containers/webm/segments.js +9 -13
- package/dist/containers/webm/traversal.js +37 -67
- package/dist/convert-audio-or-video-sample.js +1 -5
- package/dist/download-and-parse-media.js +44 -46
- package/dist/emit-available-info.js +38 -38
- package/dist/emitter.js +1 -5
- package/dist/errors.d.ts +2 -17
- package/dist/errors.js +10 -30
- package/dist/esm/fetch.mjs +93 -67
- package/dist/esm/index.mjs +1189 -355
- package/dist/esm/node.mjs +59 -36
- package/dist/esm/universal.mjs +323 -0
- package/dist/esm/web-file.mjs +55 -43
- package/dist/esm/web.mjs +257 -0
- package/dist/esm/worker-server-entry.mjs +13056 -0
- package/dist/esm/worker-server.mjs +12914 -0
- package/dist/esm/worker-web-entry.mjs +12969 -0
- package/dist/esm/worker.mjs +439 -0
- package/dist/fetch.js +1 -17
- package/dist/file-types/bmp.js +3 -7
- package/dist/file-types/detect-file-type.js +24 -38
- package/dist/file-types/index.js +22 -26
- package/dist/file-types/jpeg.js +4 -9
- package/dist/file-types/pdf.js +3 -7
- package/dist/file-types/png.js +4 -9
- package/dist/file-types/webp.js +3 -7
- package/dist/forward-controller.js +1 -5
- package/dist/get-audio-codec.js +25 -38
- package/dist/get-container.d.ts +3 -3
- package/dist/get-container.js +5 -10
- package/dist/get-dimensions.js +8 -13
- package/dist/get-duration.js +27 -34
- package/dist/get-fields-from-callbacks.js +1 -5
- package/dist/get-fps.js +24 -34
- package/dist/get-is-hdr.js +5 -10
- package/dist/get-keyframes.js +6 -11
- package/dist/get-location.js +4 -9
- package/dist/get-number-of-audio-channels.js +2 -7
- package/dist/get-sample-aspect-ratio.js +17 -30
- package/dist/get-sample-positions-from-lpcm.js +5 -9
- package/dist/get-sample-positions.js +1 -5
- package/dist/get-sample-rate.js +2 -7
- package/dist/get-tracks.d.ts +5 -0
- package/dist/get-tracks.js +37 -44
- package/dist/get-video-codec.js +26 -34
- package/dist/has-all-info.js +33 -38
- package/dist/index.d.ts +44 -36
- package/dist/index.js +34 -47
- package/dist/init-video.d.ts +1 -1
- package/dist/init-video.js +47 -20
- package/dist/internal-parse-media.js +39 -41
- package/dist/is-audio-structure.d.ts +2 -2
- package/dist/is-audio-structure.js +1 -5
- package/dist/log.js +8 -12
- package/dist/make-hvc1-codec-strings.js +1 -5
- package/dist/media-parser-controller.js +7 -11
- package/dist/metadata/get-metadata.d.ts +4 -4
- package/dist/metadata/get-metadata.js +17 -22
- package/dist/metadata/metadata-from-iso.d.ts +3 -3
- package/dist/metadata/metadata-from-iso.js +12 -17
- package/dist/metadata/metadata-from-matroska.d.ts +2 -2
- package/dist/metadata/metadata-from-matroska.js +3 -7
- package/dist/metadata/metadata-from-riff.d.ts +2 -2
- package/dist/metadata/metadata-from-riff.js +3 -7
- package/dist/node-writer.js +1 -17
- package/dist/node.js +1 -17
- package/dist/options.d.ts +32 -25
- package/dist/options.js +1 -2
- package/dist/parse-media-on-browser-worker.d.ts +2 -0
- package/dist/parse-media-on-browser-worker.js +4 -0
- package/dist/parse-media-on-server-worker.d.ts +2 -0
- package/dist/parse-media-on-server-worker.js +4 -0
- package/dist/parse-media-on-web-worker.d.ts +2 -0
- package/dist/parse-media-on-web-worker.js +4 -0
- package/dist/parse-media-on-worker-entry.d.ts +2 -0
- package/dist/parse-media-on-worker-entry.js +269 -0
- package/dist/parse-media-on-worker.d.ts +2 -0
- package/dist/parse-media-on-worker.js +4 -0
- package/dist/parse-media.js +10 -12
- package/dist/parse-result.d.ts +3 -3
- package/dist/parse-result.js +1 -2
- package/dist/pause-signal.js +1 -5
- package/dist/perform-seek.js +6 -10
- package/dist/readers/fetch/get-body-and-reader.js +1 -5
- package/dist/readers/fetch/resolve-url.d.ts +1 -1
- package/dist/readers/fetch/resolve-url.js +1 -5
- package/dist/readers/from-fetch.d.ts +4 -1
- package/dist/readers/from-fetch.js +109 -94
- package/dist/readers/from-node.d.ts +4 -1
- package/dist/readers/from-node.js +58 -41
- package/dist/readers/from-web-file.d.ts +4 -1
- package/dist/readers/from-web-file.js +55 -49
- package/dist/readers/reader.d.ts +5 -1
- package/dist/readers/reader.js +1 -2
- package/dist/readers/universal.d.ts +2 -0
- package/dist/readers/universal.js +35 -0
- package/dist/readers/web.d.ts +2 -0
- package/dist/readers/web.js +22 -0
- package/dist/register-track.js +9 -15
- package/dist/remotion-license-acknowledge.js +4 -8
- package/dist/run-parse-iteration.js +26 -25
- package/dist/samples-from-moof.js +8 -12
- package/dist/skip.js +1 -5
- package/dist/state/aac-state.js +1 -5
- package/dist/state/can-skip-tracks.d.ts +2 -2
- package/dist/state/can-skip-tracks.js +3 -8
- package/dist/state/emitted-fields.js +1 -5
- package/dist/state/flac-state.js +1 -5
- package/dist/state/has-tracks-section.js +3 -7
- package/dist/state/images.js +1 -5
- package/dist/state/iso-base-media/cached-sample-positions.js +8 -13
- package/dist/state/iso-base-media/iso-state.js +5 -9
- package/dist/state/iso-base-media/moov-box.js +1 -5
- package/dist/state/keyframes.js +1 -5
- package/dist/state/last-eventloop-break.js +3 -7
- package/dist/state/m3u-state.d.ts +37 -16
- package/dist/state/m3u-state.js +98 -29
- package/dist/state/may-skip-video-data.js +3 -7
- package/dist/state/mp3.js +1 -5
- package/dist/state/need-samples-for-fields.js +1 -5
- package/dist/state/parser-state.d.ts +39 -33
- package/dist/state/parser-state.js +37 -41
- package/dist/state/riff.js +1 -5
- package/dist/state/sample-callbacks.js +8 -12
- package/dist/state/slow-duration-fps.js +1 -5
- package/dist/state/structure.d.ts +4 -4
- package/dist/state/structure.js +1 -5
- package/dist/state/transport-stream.js +3 -7
- package/dist/state/video-section.js +1 -5
- package/dist/state/webm.js +5 -9
- package/dist/throttled-progress.js +21 -14
- package/dist/truthy.js +1 -4
- package/dist/universal.d.ts +1 -0
- package/dist/universal.js +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -4
- package/dist/web-file.js +1 -17
- package/dist/web.d.ts +1 -0
- package/dist/web.js +1 -0
- package/dist/webcodec-sample-types.d.ts +6 -4
- package/dist/webcodec-sample-types.js +1 -2
- package/dist/worker/forward-controller.d.ts +3 -0
- package/dist/worker/forward-controller.js +20 -0
- package/dist/worker/serialize-error.d.ts +4 -0
- package/dist/worker/serialize-error.js +95 -0
- package/dist/worker/worker-types.d.ts +243 -0
- package/dist/worker/worker-types.js +1 -0
- package/dist/worker-bun-entry.d.ts +1 -0
- package/dist/worker-bun-entry.js +5 -0
- package/dist/worker-entry.d.ts +1 -0
- package/dist/worker-entry.js +5 -0
- package/dist/worker-server-entry.d.ts +1 -0
- package/dist/worker-server-entry.js +5 -0
- package/dist/worker-server.d.ts +2 -0
- package/dist/worker-server.js +381 -0
- package/dist/worker-web-entry.d.ts +1 -0
- package/dist/worker-web-entry.js +5 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.js +267 -0
- package/dist/writers/node.js +16 -23
- package/dist/writers/writer.js +1 -2
- package/package.json +40 -21
- package/fetch.js +0 -2
- package/test.json +0 -663
- package/web-file.js +0 -2
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.trackTypeToString = void 0;
|
|
4
|
-
const trackTypeToString = (trackType) => {
|
|
1
|
+
export const trackTypeToString = (trackType) => {
|
|
5
2
|
switch (trackType) {
|
|
6
3
|
case 1:
|
|
7
4
|
return 'video';
|
|
@@ -21,4 +18,3 @@ const trackTypeToString = (trackType) => {
|
|
|
21
18
|
throw new Error(`Unknown track type: ${trackType}`);
|
|
22
19
|
}
|
|
23
20
|
};
|
|
24
|
-
exports.trackTypeToString = trackTypeToString;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.expectSegment = void 0;
|
|
4
1
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const expectSegment = async ({ state, isInsideSegment, }) => {
|
|
2
|
+
import { Log } from '../../log';
|
|
3
|
+
import { parseEbml, postprocessEbml } from './parse-ebml';
|
|
4
|
+
import { ebmlMap, matroskaElements, } from './segments/all-segments';
|
|
5
|
+
export const expectSegment = async ({ state, isInsideSegment, }) => {
|
|
9
6
|
var _a;
|
|
10
7
|
const { iterator } = state;
|
|
11
8
|
if (iterator.bytesRemaining() === 0) {
|
|
@@ -26,8 +23,8 @@ const expectSegment = async ({ state, isInsideSegment, }) => {
|
|
|
26
23
|
return null;
|
|
27
24
|
}
|
|
28
25
|
const bytesRemainingNow = iterator.bytesRemaining();
|
|
29
|
-
|
|
30
|
-
if (segmentId ===
|
|
26
|
+
Log.trace(state.logLevel, 'Segment ID:', (_a = ebmlMap[segmentId]) === null || _a === void 0 ? void 0 : _a.name, 'Size:' + size, bytesRemainingNow);
|
|
27
|
+
if (segmentId === matroskaElements.Segment) {
|
|
31
28
|
state.webm.addSegment({
|
|
32
29
|
start: offset,
|
|
33
30
|
size,
|
|
@@ -39,7 +36,7 @@ const expectSegment = async ({ state, isInsideSegment, }) => {
|
|
|
39
36
|
};
|
|
40
37
|
return newSegment;
|
|
41
38
|
}
|
|
42
|
-
if (segmentId ===
|
|
39
|
+
if (segmentId === matroskaElements.Cluster) {
|
|
43
40
|
if (isInsideSegment === null) {
|
|
44
41
|
throw new Error('Expected to be inside segment');
|
|
45
42
|
}
|
|
@@ -67,14 +64,13 @@ const expectSegment = async ({ state, isInsideSegment, }) => {
|
|
|
67
64
|
});
|
|
68
65
|
return segment;
|
|
69
66
|
};
|
|
70
|
-
exports.expectSegment = expectSegment;
|
|
71
67
|
const parseSegment = async ({ segmentId, length, state, headerReadSoFar, }) => {
|
|
72
68
|
if (length < 0) {
|
|
73
69
|
throw new Error(`Expected length of ${segmentId} to be greater or equal 0`);
|
|
74
70
|
}
|
|
75
71
|
state.iterator.counter.decrement(headerReadSoFar);
|
|
76
72
|
const offset = state.iterator.counter.getOffset();
|
|
77
|
-
const ebml = await
|
|
78
|
-
const remapped = await
|
|
73
|
+
const ebml = await parseEbml(state);
|
|
74
|
+
const remapped = await postprocessEbml({ offset, ebml, state });
|
|
79
75
|
return remapped;
|
|
80
76
|
};
|
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getClusterSegment = exports.getPrivateData = exports.getBitDepth = exports.getNumberOfChannels = exports.getSampleRate = exports.getAudioSegment = exports.getVideoSegment = exports.getTimescaleSegment = exports.getTrackWithUid = exports.getTracksSegment = exports.getDisplayWidthSegment = exports.getHeightSegment = exports.getWidthSegment = exports.getTrackTypeSegment = exports.getDisplayHeightSegment = exports.getRangeSegment = exports.getPrimariesSegment = exports.getMatrixCoefficientsSegment = exports.getTransferCharacteristicsSegment = exports.getColourSegment = exports.getCodecSegment = exports.getTrackId = exports.getTrackByNumber = exports.getTrackTimestampScale = exports.getTrackCodec = exports.getTrackNumber = exports.getMainSegment = void 0;
|
|
4
|
-
const getMainSegment = (segments) => {
|
|
1
|
+
export const getMainSegment = (segments) => {
|
|
5
2
|
return segments.find((s) => s.type === 'Segment');
|
|
6
3
|
};
|
|
7
|
-
|
|
8
|
-
const getTrackNumber = (track) => {
|
|
4
|
+
export const getTrackNumber = (track) => {
|
|
9
5
|
var _a;
|
|
10
6
|
const child = track.value.find((b) => b.type === 'TrackNumber');
|
|
11
7
|
return (_a = child === null || child === void 0 ? void 0 : child.value) !== null && _a !== void 0 ? _a : null;
|
|
12
8
|
};
|
|
13
|
-
|
|
14
|
-
const getTrackCodec = (track) => {
|
|
9
|
+
export const getTrackCodec = (track) => {
|
|
15
10
|
const child = track.value.find((b) => b.type === 'CodecID');
|
|
16
11
|
return child !== null && child !== void 0 ? child : null;
|
|
17
12
|
};
|
|
18
|
-
|
|
19
|
-
const getTrackTimestampScale = (track) => {
|
|
13
|
+
export const getTrackTimestampScale = (track) => {
|
|
20
14
|
const child = track.value.find((b) => b.type === 'TrackTimestampScale');
|
|
21
15
|
if (!child) {
|
|
22
16
|
return null;
|
|
@@ -26,32 +20,28 @@ const getTrackTimestampScale = (track) => {
|
|
|
26
20
|
}
|
|
27
21
|
return child.value;
|
|
28
22
|
};
|
|
29
|
-
|
|
30
|
-
const getTrackByNumber = (tracks, id) => {
|
|
23
|
+
export const getTrackByNumber = (tracks, id) => {
|
|
31
24
|
return tracks.find((track) => {
|
|
32
|
-
const trackNumber =
|
|
25
|
+
const trackNumber = getTrackNumber(track);
|
|
33
26
|
return (trackNumber === null || trackNumber === void 0 ? void 0 : trackNumber.value) === id;
|
|
34
27
|
});
|
|
35
28
|
};
|
|
36
|
-
|
|
37
|
-
const getTrackId = (track) => {
|
|
29
|
+
export const getTrackId = (track) => {
|
|
38
30
|
const trackId = track.value.find((b) => b.type === 'TrackNumber');
|
|
39
31
|
if (!trackId || trackId.type !== 'TrackNumber') {
|
|
40
32
|
throw new Error('Expected track number segment');
|
|
41
33
|
}
|
|
42
34
|
return trackId.value.value;
|
|
43
35
|
};
|
|
44
|
-
|
|
45
|
-
const getCodecSegment = (track) => {
|
|
36
|
+
export const getCodecSegment = (track) => {
|
|
46
37
|
const codec = track.value.find((b) => b.type === 'CodecID');
|
|
47
38
|
if (!codec || codec.type !== 'CodecID') {
|
|
48
39
|
return null;
|
|
49
40
|
}
|
|
50
41
|
return codec;
|
|
51
42
|
};
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
const videoSegment = (0, exports.getVideoSegment)(track);
|
|
43
|
+
export const getColourSegment = (track) => {
|
|
44
|
+
const videoSegment = getVideoSegment(track);
|
|
55
45
|
if (!videoSegment) {
|
|
56
46
|
return null;
|
|
57
47
|
}
|
|
@@ -61,8 +51,7 @@ const getColourSegment = (track) => {
|
|
|
61
51
|
}
|
|
62
52
|
return colour;
|
|
63
53
|
};
|
|
64
|
-
|
|
65
|
-
const getTransferCharacteristicsSegment = (color) => {
|
|
54
|
+
export const getTransferCharacteristicsSegment = (color) => {
|
|
66
55
|
if (!color || color.type !== 'Colour') {
|
|
67
56
|
return null;
|
|
68
57
|
}
|
|
@@ -72,8 +61,7 @@ const getTransferCharacteristicsSegment = (color) => {
|
|
|
72
61
|
}
|
|
73
62
|
return box;
|
|
74
63
|
};
|
|
75
|
-
|
|
76
|
-
const getMatrixCoefficientsSegment = (color) => {
|
|
64
|
+
export const getMatrixCoefficientsSegment = (color) => {
|
|
77
65
|
if (!color || color.type !== 'Colour') {
|
|
78
66
|
return null;
|
|
79
67
|
}
|
|
@@ -83,8 +71,7 @@ const getMatrixCoefficientsSegment = (color) => {
|
|
|
83
71
|
}
|
|
84
72
|
return box;
|
|
85
73
|
};
|
|
86
|
-
|
|
87
|
-
const getPrimariesSegment = (color) => {
|
|
74
|
+
export const getPrimariesSegment = (color) => {
|
|
88
75
|
if (!color || color.type !== 'Colour') {
|
|
89
76
|
return null;
|
|
90
77
|
}
|
|
@@ -94,8 +81,7 @@ const getPrimariesSegment = (color) => {
|
|
|
94
81
|
}
|
|
95
82
|
return box;
|
|
96
83
|
};
|
|
97
|
-
|
|
98
|
-
const getRangeSegment = (color) => {
|
|
84
|
+
export const getRangeSegment = (color) => {
|
|
99
85
|
if (!color || color.type !== 'Colour') {
|
|
100
86
|
return null;
|
|
101
87
|
}
|
|
@@ -105,9 +91,8 @@ const getRangeSegment = (color) => {
|
|
|
105
91
|
}
|
|
106
92
|
return box;
|
|
107
93
|
};
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
const videoSegment = (0, exports.getVideoSegment)(track);
|
|
94
|
+
export const getDisplayHeightSegment = (track) => {
|
|
95
|
+
const videoSegment = getVideoSegment(track);
|
|
111
96
|
if (!videoSegment) {
|
|
112
97
|
return null;
|
|
113
98
|
}
|
|
@@ -117,17 +102,15 @@ const getDisplayHeightSegment = (track) => {
|
|
|
117
102
|
}
|
|
118
103
|
return displayHeight;
|
|
119
104
|
};
|
|
120
|
-
|
|
121
|
-
const getTrackTypeSegment = (track) => {
|
|
105
|
+
export const getTrackTypeSegment = (track) => {
|
|
122
106
|
const trackType = track.value.find((b) => b.type === 'TrackType');
|
|
123
107
|
if (!trackType || trackType.type !== 'TrackType') {
|
|
124
108
|
return null;
|
|
125
109
|
}
|
|
126
110
|
return trackType;
|
|
127
111
|
};
|
|
128
|
-
|
|
129
|
-
const
|
|
130
|
-
const videoSegment = (0, exports.getVideoSegment)(track);
|
|
112
|
+
export const getWidthSegment = (track) => {
|
|
113
|
+
const videoSegment = getVideoSegment(track);
|
|
131
114
|
if (!videoSegment) {
|
|
132
115
|
return null;
|
|
133
116
|
}
|
|
@@ -137,9 +120,8 @@ const getWidthSegment = (track) => {
|
|
|
137
120
|
}
|
|
138
121
|
return width;
|
|
139
122
|
};
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
const videoSegment = (0, exports.getVideoSegment)(track);
|
|
123
|
+
export const getHeightSegment = (track) => {
|
|
124
|
+
const videoSegment = getVideoSegment(track);
|
|
143
125
|
if (!videoSegment) {
|
|
144
126
|
return null;
|
|
145
127
|
}
|
|
@@ -149,9 +131,8 @@ const getHeightSegment = (track) => {
|
|
|
149
131
|
}
|
|
150
132
|
return height;
|
|
151
133
|
};
|
|
152
|
-
|
|
153
|
-
const
|
|
154
|
-
const videoSegment = (0, exports.getVideoSegment)(track);
|
|
134
|
+
export const getDisplayWidthSegment = (track) => {
|
|
135
|
+
const videoSegment = getVideoSegment(track);
|
|
155
136
|
if (!videoSegment) {
|
|
156
137
|
return null;
|
|
157
138
|
}
|
|
@@ -161,18 +142,16 @@ const getDisplayWidthSegment = (track) => {
|
|
|
161
142
|
}
|
|
162
143
|
return displayWidth;
|
|
163
144
|
};
|
|
164
|
-
|
|
165
|
-
const getTracksSegment = (segment) => {
|
|
145
|
+
export const getTracksSegment = (segment) => {
|
|
166
146
|
const tracksSegment = segment.value.find((b) => b.type === 'Tracks');
|
|
167
147
|
if (!tracksSegment) {
|
|
168
148
|
return null;
|
|
169
149
|
}
|
|
170
150
|
return tracksSegment;
|
|
171
151
|
};
|
|
172
|
-
|
|
173
|
-
const getTrackWithUid = (segment, trackUid) => {
|
|
152
|
+
export const getTrackWithUid = (segment, trackUid) => {
|
|
174
153
|
var _a, _b;
|
|
175
|
-
const tracksSegment =
|
|
154
|
+
const tracksSegment = getTracksSegment(segment);
|
|
176
155
|
if (!tracksSegment) {
|
|
177
156
|
return null;
|
|
178
157
|
}
|
|
@@ -185,8 +164,7 @@ const getTrackWithUid = (segment, trackUid) => {
|
|
|
185
164
|
}
|
|
186
165
|
return ((_b = (_a = trackEntry.value.find((t) => t.type === 'TrackNumber')) === null || _a === void 0 ? void 0 : _a.value.value) !== null && _b !== void 0 ? _b : null);
|
|
187
166
|
};
|
|
188
|
-
|
|
189
|
-
const getTimescaleSegment = (segment) => {
|
|
167
|
+
export const getTimescaleSegment = (segment) => {
|
|
190
168
|
const infoSegment = segment.value.find((b) => b.type === 'Info');
|
|
191
169
|
if (!infoSegment || infoSegment.type !== 'Info') {
|
|
192
170
|
return null;
|
|
@@ -197,25 +175,22 @@ const getTimescaleSegment = (segment) => {
|
|
|
197
175
|
}
|
|
198
176
|
return timescale;
|
|
199
177
|
};
|
|
200
|
-
|
|
201
|
-
const getVideoSegment = (track) => {
|
|
178
|
+
export const getVideoSegment = (track) => {
|
|
202
179
|
const videoSegment = track.value.find((b) => b.type === 'Video');
|
|
203
180
|
if (!videoSegment || videoSegment.type !== 'Video') {
|
|
204
181
|
return null;
|
|
205
182
|
}
|
|
206
183
|
return videoSegment !== null && videoSegment !== void 0 ? videoSegment : null;
|
|
207
184
|
};
|
|
208
|
-
|
|
209
|
-
const getAudioSegment = (track) => {
|
|
185
|
+
export const getAudioSegment = (track) => {
|
|
210
186
|
const audioSegment = track.value.find((b) => b.type === 'Audio');
|
|
211
187
|
if (!audioSegment || audioSegment.type !== 'Audio') {
|
|
212
188
|
return null;
|
|
213
189
|
}
|
|
214
190
|
return audioSegment !== null && audioSegment !== void 0 ? audioSegment : null;
|
|
215
191
|
};
|
|
216
|
-
|
|
217
|
-
const
|
|
218
|
-
const audioSegment = (0, exports.getAudioSegment)(track);
|
|
192
|
+
export const getSampleRate = (track) => {
|
|
193
|
+
const audioSegment = getAudioSegment(track);
|
|
219
194
|
if (!audioSegment) {
|
|
220
195
|
return null;
|
|
221
196
|
}
|
|
@@ -225,9 +200,8 @@ const getSampleRate = (track) => {
|
|
|
225
200
|
}
|
|
226
201
|
return samplingFrequency.value.value;
|
|
227
202
|
};
|
|
228
|
-
|
|
229
|
-
const
|
|
230
|
-
const audioSegment = (0, exports.getAudioSegment)(track);
|
|
203
|
+
export const getNumberOfChannels = (track) => {
|
|
204
|
+
const audioSegment = getAudioSegment(track);
|
|
231
205
|
if (!audioSegment) {
|
|
232
206
|
throw new Error('Could not find audio segment');
|
|
233
207
|
}
|
|
@@ -237,9 +211,8 @@ const getNumberOfChannels = (track) => {
|
|
|
237
211
|
}
|
|
238
212
|
return channels.value.value;
|
|
239
213
|
};
|
|
240
|
-
|
|
241
|
-
const
|
|
242
|
-
const audioSegment = (0, exports.getAudioSegment)(track);
|
|
214
|
+
export const getBitDepth = (track) => {
|
|
215
|
+
const audioSegment = getAudioSegment(track);
|
|
243
216
|
if (!audioSegment) {
|
|
244
217
|
return null;
|
|
245
218
|
}
|
|
@@ -249,17 +222,14 @@ const getBitDepth = (track) => {
|
|
|
249
222
|
}
|
|
250
223
|
return bitDepth.value.value;
|
|
251
224
|
};
|
|
252
|
-
|
|
253
|
-
const getPrivateData = (track) => {
|
|
225
|
+
export const getPrivateData = (track) => {
|
|
254
226
|
const privateData = track.value.find((b) => b.type === 'CodecPrivate');
|
|
255
227
|
if (!privateData || privateData.type !== 'CodecPrivate') {
|
|
256
228
|
return null;
|
|
257
229
|
}
|
|
258
230
|
return privateData.value;
|
|
259
231
|
};
|
|
260
|
-
|
|
261
|
-
const getClusterSegment = (segment) => {
|
|
232
|
+
export const getClusterSegment = (segment) => {
|
|
262
233
|
const clusterSegment = segment.value.find((b) => b.type === 'Cluster');
|
|
263
234
|
return clusterSegment !== null && clusterSegment !== void 0 ? clusterSegment : null;
|
|
264
235
|
};
|
|
265
|
-
exports.getClusterSegment = getClusterSegment;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertAudioOrVideoSampleToWebCodecsTimestamps = void 0;
|
|
4
|
-
const convertAudioOrVideoSampleToWebCodecsTimestamps = (sample, timescale) => {
|
|
1
|
+
export const convertAudioOrVideoSampleToWebCodecsTimestamps = (sample, timescale) => {
|
|
5
2
|
const { cts, dts, timestamp } = sample;
|
|
6
3
|
return {
|
|
7
4
|
cts: (cts * 1000000) / timescale,
|
|
@@ -17,4 +14,3 @@ const convertAudioOrVideoSampleToWebCodecsTimestamps = (sample, timescale) => {
|
|
|
17
14
|
timescale: 1000000,
|
|
18
15
|
};
|
|
19
16
|
};
|
|
20
|
-
exports.convertAudioOrVideoSampleToWebCodecsTimestamps = convertAudioOrVideoSampleToWebCodecsTimestamps;
|
|
@@ -1,66 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const from_fetch_1 = require("./readers/from-fetch");
|
|
8
|
-
const downloadAndParseMedia = async (options) => {
|
|
9
|
-
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, _5, _6, _7, _8, _9, _10;
|
|
1
|
+
import { defaultSelectM3uAssociatedPlaylists, defaultSelectM3uStreamFn, } from './containers/m3u/select-stream';
|
|
2
|
+
import { internalParseMedia } from './internal-parse-media';
|
|
3
|
+
import { Log } from './log';
|
|
4
|
+
import { webReader } from './web';
|
|
5
|
+
export const downloadAndParseMedia = async (options) => {
|
|
6
|
+
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, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
|
|
10
7
|
const logLevel = (_a = options.logLevel) !== null && _a !== void 0 ? _a : 'info';
|
|
11
8
|
const content = await options.writer.createContent({
|
|
12
9
|
filename: 'hmm',
|
|
13
10
|
mimeType: 'shouldnotmatter',
|
|
14
11
|
logLevel,
|
|
15
12
|
});
|
|
16
|
-
const returnValue = await
|
|
13
|
+
const returnValue = await internalParseMedia({
|
|
17
14
|
fields: (_b = options.fields) !== null && _b !== void 0 ? _b : null,
|
|
18
15
|
logLevel,
|
|
19
16
|
mode: 'download',
|
|
20
17
|
onAudioCodec: (_c = options.onAudioCodec) !== null && _c !== void 0 ? _c : null,
|
|
21
|
-
onAudioTrack: null,
|
|
22
|
-
onContainer: (
|
|
23
|
-
onDimensions: (
|
|
24
|
-
selectM3uStream: (
|
|
18
|
+
onAudioTrack: (_d = options.onAudioTrack) !== null && _d !== void 0 ? _d : null,
|
|
19
|
+
onContainer: (_e = options.onContainer) !== null && _e !== void 0 ? _e : null,
|
|
20
|
+
onDimensions: (_f = options.onDimensions) !== null && _f !== void 0 ? _f : null,
|
|
21
|
+
selectM3uStream: (_g = options.selectM3uStream) !== null && _g !== void 0 ? _g : defaultSelectM3uStreamFn,
|
|
22
|
+
selectM3uAssociatedPlaylists: (_h = options.selectM3uAssociatedPlaylists) !== null && _h !== void 0 ? _h : defaultSelectM3uAssociatedPlaylists,
|
|
23
|
+
mp4HeaderSegment: (_j = options.mp4HeaderSegment) !== null && _j !== void 0 ? _j : null,
|
|
25
24
|
onDiscardedData: async (data) => {
|
|
26
25
|
await content.write(data);
|
|
27
26
|
},
|
|
28
|
-
onDurationInSeconds: (
|
|
29
|
-
onFps: (
|
|
30
|
-
onImages: (
|
|
31
|
-
onInternalStats: (
|
|
32
|
-
onIsHdr: (
|
|
33
|
-
onKeyframes: (
|
|
34
|
-
onLocation: (
|
|
35
|
-
onMetadata: (
|
|
36
|
-
onMimeType: (
|
|
37
|
-
onName: (
|
|
38
|
-
onNumberOfAudioChannels: (
|
|
39
|
-
onParseProgress: (
|
|
40
|
-
onRotation: (
|
|
41
|
-
onSampleRate: (
|
|
42
|
-
onSize: (
|
|
43
|
-
onSlowAudioBitrate: (
|
|
44
|
-
onSlowDurationInSeconds: (
|
|
45
|
-
onSlowFps: (
|
|
46
|
-
onSlowKeyframes: (
|
|
47
|
-
onSlowNumberOfFrames: (
|
|
48
|
-
onSlowVideoBitrate: (
|
|
49
|
-
onStructure: (
|
|
50
|
-
onM3uStreams: (
|
|
51
|
-
onTracks: (
|
|
52
|
-
onUnrotatedDimensions: (
|
|
53
|
-
onVideoCodec: (
|
|
54
|
-
onVideoTrack: null,
|
|
55
|
-
progressIntervalInMs: (
|
|
56
|
-
reader: (
|
|
57
|
-
controller: (
|
|
27
|
+
onDurationInSeconds: (_k = options.onDurationInSeconds) !== null && _k !== void 0 ? _k : null,
|
|
28
|
+
onFps: (_l = options.onFps) !== null && _l !== void 0 ? _l : null,
|
|
29
|
+
onImages: (_m = options.onImages) !== null && _m !== void 0 ? _m : null,
|
|
30
|
+
onInternalStats: (_o = options.onInternalStats) !== null && _o !== void 0 ? _o : null,
|
|
31
|
+
onIsHdr: (_p = options.onIsHdr) !== null && _p !== void 0 ? _p : null,
|
|
32
|
+
onKeyframes: (_q = options.onKeyframes) !== null && _q !== void 0 ? _q : null,
|
|
33
|
+
onLocation: (_r = options.onLocation) !== null && _r !== void 0 ? _r : null,
|
|
34
|
+
onMetadata: (_s = options.onMetadata) !== null && _s !== void 0 ? _s : null,
|
|
35
|
+
onMimeType: (_t = options.onMimeType) !== null && _t !== void 0 ? _t : null,
|
|
36
|
+
onName: (_u = options.onName) !== null && _u !== void 0 ? _u : null,
|
|
37
|
+
onNumberOfAudioChannels: (_v = options.onNumberOfAudioChannels) !== null && _v !== void 0 ? _v : null,
|
|
38
|
+
onParseProgress: (_w = options.onParseProgress) !== null && _w !== void 0 ? _w : null,
|
|
39
|
+
onRotation: (_x = options.onRotation) !== null && _x !== void 0 ? _x : null,
|
|
40
|
+
onSampleRate: (_y = options.onSampleRate) !== null && _y !== void 0 ? _y : null,
|
|
41
|
+
onSize: (_z = options.onSize) !== null && _z !== void 0 ? _z : null,
|
|
42
|
+
onSlowAudioBitrate: (_0 = options.onSlowAudioBitrate) !== null && _0 !== void 0 ? _0 : null,
|
|
43
|
+
onSlowDurationInSeconds: (_1 = options.onSlowDurationInSeconds) !== null && _1 !== void 0 ? _1 : null,
|
|
44
|
+
onSlowFps: (_2 = options.onSlowFps) !== null && _2 !== void 0 ? _2 : null,
|
|
45
|
+
onSlowKeyframes: (_3 = options.onSlowKeyframes) !== null && _3 !== void 0 ? _3 : null,
|
|
46
|
+
onSlowNumberOfFrames: (_4 = options.onSlowNumberOfFrames) !== null && _4 !== void 0 ? _4 : null,
|
|
47
|
+
onSlowVideoBitrate: (_5 = options.onSlowVideoBitrate) !== null && _5 !== void 0 ? _5 : null,
|
|
48
|
+
onStructure: (_6 = options.onStructure) !== null && _6 !== void 0 ? _6 : null,
|
|
49
|
+
onM3uStreams: (_7 = options.onM3uStreams) !== null && _7 !== void 0 ? _7 : null,
|
|
50
|
+
onTracks: (_8 = options.onTracks) !== null && _8 !== void 0 ? _8 : null,
|
|
51
|
+
onUnrotatedDimensions: (_9 = options.onUnrotatedDimensions) !== null && _9 !== void 0 ? _9 : null,
|
|
52
|
+
onVideoCodec: (_10 = options.onVideoCodec) !== null && _10 !== void 0 ? _10 : null,
|
|
53
|
+
onVideoTrack: (_11 = options.onVideoTrack) !== null && _11 !== void 0 ? _11 : null,
|
|
54
|
+
progressIntervalInMs: (_12 = options.progressIntervalInMs) !== null && _12 !== void 0 ? _12 : null,
|
|
55
|
+
reader: (_13 = options.reader) !== null && _13 !== void 0 ? _13 : webReader,
|
|
56
|
+
controller: (_14 = options.controller) !== null && _14 !== void 0 ? _14 : undefined,
|
|
58
57
|
src: options.src,
|
|
59
58
|
onError: async (err) => {
|
|
60
59
|
var _a, _b;
|
|
61
60
|
const action = (_b = (await ((_a = options.onError) === null || _a === void 0 ? void 0 : _a.call(options, err)))) !== null && _b !== void 0 ? _b : { action: 'fail' };
|
|
62
61
|
if (action.action === 'fail') {
|
|
63
|
-
|
|
62
|
+
Log.verbose(logLevel, 'Removing content');
|
|
64
63
|
await content.finish();
|
|
65
64
|
await content.remove();
|
|
66
65
|
}
|
|
@@ -72,4 +71,3 @@ const downloadAndParseMedia = async (options) => {
|
|
|
72
71
|
await content.finish();
|
|
73
72
|
return returnValue;
|
|
74
73
|
};
|
|
75
|
-
exports.downloadAndParseMedia = downloadAndParseMedia;
|