@remotion/media-parser 4.0.298 → 4.0.301

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 (186) hide show
  1. package/dist/add-avc-profile-to-track.d.ts +2 -2
  2. package/dist/add-avc-profile-to-track.js +7 -1
  3. package/dist/codec-data.d.ts +29 -0
  4. package/dist/codec-data.js +2 -0
  5. package/dist/containers/aac/parse-aac.js +2 -3
  6. package/dist/containers/avc/color.d.ts +6 -6
  7. package/dist/containers/avc/color.js +53 -27
  8. package/dist/containers/avc/interpret-sps.d.ts +2 -2
  9. package/dist/containers/avc/interpret-sps.js +2 -2
  10. package/dist/containers/flac/parse-streaminfo.js +2 -3
  11. package/dist/containers/iso-base-media/collect-sample-positions-from-moof-boxes.d.ts +1 -1
  12. package/dist/containers/iso-base-media/color-to-webcodecs-colors.d.ts +2 -0
  13. package/dist/containers/iso-base-media/color-to-webcodecs-colors.js +12 -0
  14. package/dist/containers/iso-base-media/find-keyframe-before-time.d.ts +2 -2
  15. package/dist/containers/iso-base-media/find-track-to-seek.d.ts +5 -5
  16. package/dist/containers/iso-base-media/find-track-to-seek.js +18 -2
  17. package/dist/containers/iso-base-media/get-actual-number-of-channels.d.ts +3 -2
  18. package/dist/containers/iso-base-media/get-actual-number-of-channels.js +14 -3
  19. package/dist/containers/iso-base-media/get-children.d.ts +2 -2
  20. package/dist/containers/iso-base-media/get-keyframes.js +11 -2
  21. package/dist/containers/iso-base-media/get-mfra-seeking-box.d.ts +4 -4
  22. package/dist/containers/iso-base-media/get-moov-atom.js +1 -1
  23. package/dist/containers/iso-base-media/get-seeking-byte-from-fragmented-mp4.d.ts +9 -5
  24. package/dist/containers/iso-base-media/get-seeking-byte-from-fragmented-mp4.js +17 -4
  25. package/dist/containers/iso-base-media/get-seeking-byte.d.ts +2 -2
  26. package/dist/containers/iso-base-media/get-seeking-byte.js +5 -8
  27. package/dist/containers/iso-base-media/make-track.d.ts +2 -2
  28. package/dist/containers/iso-base-media/make-track.js +18 -17
  29. package/dist/containers/iso-base-media/mfra/find-best-segment-from-tfra.d.ts +2 -2
  30. package/dist/containers/iso-base-media/mfra/get-mfra-atom.d.ts +4 -4
  31. package/dist/containers/iso-base-media/mfra/get-mfro-atom.d.ts +4 -4
  32. package/dist/containers/iso-base-media/moov/moov.d.ts +2 -2
  33. package/dist/containers/iso-base-media/process-box.d.ts +5 -5
  34. package/dist/containers/iso-base-media/stsd/mebx.d.ts +2 -2
  35. package/dist/containers/iso-base-media/stsd/samples.d.ts +3 -3
  36. package/dist/containers/iso-base-media/stsd/stsd.d.ts +2 -2
  37. package/dist/containers/iso-base-media/trak/trak.d.ts +2 -2
  38. package/dist/containers/iso-base-media/traversal.d.ts +1 -0
  39. package/dist/containers/iso-base-media/traversal.js +13 -1
  40. package/dist/containers/m3u/after-manifest-fetch.d.ts +6 -6
  41. package/dist/containers/m3u/after-manifest-fetch.js +1 -1
  42. package/dist/containers/m3u/fetch-m3u8-stream.d.ts +2 -2
  43. package/dist/containers/m3u/first-sample-in-m3u-chunk.d.ts +3 -3
  44. package/dist/containers/m3u/first-sample-in-m3u-chunk.js +2 -8
  45. package/dist/containers/m3u/get-seeking-byte.d.ts +3 -3
  46. package/dist/containers/m3u/get-streams.d.ts +6 -6
  47. package/dist/containers/m3u/get-streams.js +9 -9
  48. package/dist/containers/m3u/parse-stream-inf.js +3 -3
  49. package/dist/containers/m3u/process-m3u-chunk.js +3 -3
  50. package/dist/containers/m3u/run-over-m3u.d.ts +2 -2
  51. package/dist/containers/m3u/sample-sorter.d.ts +7 -7
  52. package/dist/containers/m3u/types.d.ts +3 -3
  53. package/dist/containers/mp3/parse-mpeg-header.js +2 -3
  54. package/dist/containers/mp3/seek/audio-sample-from-cbr.d.ts +2 -2
  55. package/dist/containers/riff/get-tracks-from-avi.d.ts +4 -9
  56. package/dist/containers/riff/get-tracks-from-avi.js +19 -20
  57. package/dist/containers/riff/parse-video-section.js +1 -1
  58. package/dist/containers/riff/seek/fetch-idx1.d.ts +4 -4
  59. package/dist/containers/transport-stream/get-tracks.d.ts +2 -2
  60. package/dist/containers/transport-stream/get-tracks.js +1 -5
  61. package/dist/containers/transport-stream/handle-aac-packet.d.ts +4 -4
  62. package/dist/containers/transport-stream/handle-aac-packet.js +5 -4
  63. package/dist/containers/transport-stream/handle-avc-packet.d.ts +4 -4
  64. package/dist/containers/transport-stream/handle-avc-packet.js +10 -4
  65. package/dist/containers/transport-stream/process-audio.d.ts +5 -5
  66. package/dist/containers/transport-stream/process-stream-buffers.d.ts +8 -8
  67. package/dist/containers/transport-stream/process-video.d.ts +5 -5
  68. package/dist/containers/wav/parse-fmt.js +2 -3
  69. package/dist/containers/webm/color.d.ts +2 -2
  70. package/dist/containers/webm/color.js +6 -25
  71. package/dist/containers/webm/get-ready-tracks.d.ts +3 -3
  72. package/dist/containers/webm/get-sample-from-block.d.ts +7 -7
  73. package/dist/containers/webm/make-track.d.ts +3 -3
  74. package/dist/containers/webm/make-track.js +53 -21
  75. package/dist/containers/webm/parse-webm-header.js +5 -0
  76. package/dist/containers/webm/seek/fetch-web-cues.d.ts +4 -4
  77. package/dist/containers/webm/seek/get-seeking-byte.d.ts +2 -2
  78. package/dist/containers/webm/segments.d.ts +2 -2
  79. package/dist/containers/webm/segments.js +1 -1
  80. package/dist/containers/webm/state-for-processing.d.ts +5 -5
  81. package/dist/containers/webm/traversal.js +2 -1
  82. package/dist/controller/emitter.d.ts +2 -3
  83. package/dist/controller/seek-signal.d.ts +3 -9
  84. package/dist/controller/seek-signal.js +2 -2
  85. package/dist/convert-audio-or-video-sample.d.ts +4 -4
  86. package/dist/download-and-parse-media.js +1 -1
  87. package/dist/emit-available-info.js +9 -9
  88. package/dist/errors.d.ts +4 -18
  89. package/dist/errors.js +1 -15
  90. package/dist/esm/index.mjs +654 -544
  91. package/dist/esm/node.mjs +63 -51
  92. package/dist/esm/server-worker.mjs +13 -34
  93. package/dist/esm/universal.mjs +63 -51
  94. package/dist/esm/worker-server-entry.mjs +500 -388
  95. package/dist/esm/worker-web-entry.mjs +437 -337
  96. package/dist/esm/worker.mjs +14 -35
  97. package/dist/fields.d.ts +2 -2
  98. package/dist/file-types/bmp.d.ts +2 -2
  99. package/dist/file-types/detect-file-type.d.ts +2 -1
  100. package/dist/file-types/detect-file-type.js +1 -6
  101. package/dist/file-types/gif.d.ts +2 -0
  102. package/dist/file-types/gif.js +18 -0
  103. package/dist/file-types/index.js +4 -2
  104. package/dist/file-types/png.d.ts +2 -2
  105. package/dist/file-types/webp.d.ts +2 -2
  106. package/dist/get-audio-codec.d.ts +3 -4
  107. package/dist/get-audio-codec.js +44 -23
  108. package/dist/get-dimensions.d.ts +2 -2
  109. package/dist/get-dimensions.js +6 -3
  110. package/dist/get-duration.js +6 -7
  111. package/dist/get-fields-from-callbacks.js +1 -1
  112. package/dist/get-is-hdr.js +6 -5
  113. package/dist/get-sample-aspect-ratio.d.ts +5 -5
  114. package/dist/get-seeking-byte.d.ts +2 -2
  115. package/dist/get-tracks.d.ts +34 -44
  116. package/dist/get-tracks.js +6 -46
  117. package/dist/get-video-codec.d.ts +4 -3
  118. package/dist/get-video-codec.js +6 -6
  119. package/dist/has-all-info.js +1 -1
  120. package/dist/index.d.ts +114 -55
  121. package/dist/index.js +6 -4
  122. package/dist/init-video.js +4 -11
  123. package/dist/internal-parse-media.js +1 -1
  124. package/dist/log.d.ts +6 -6
  125. package/dist/metadata/get-metadata.js +6 -4
  126. package/dist/options.d.ts +19 -23
  127. package/dist/parse-loop.js +2 -2
  128. package/dist/parse-media-on-worker-entry.js +13 -5
  129. package/dist/parse-media.js +1 -1
  130. package/dist/perform-seek.d.ts +4 -4
  131. package/dist/readers/from-fetch.d.ts +2 -2
  132. package/dist/readers/from-node.d.ts +2 -2
  133. package/dist/readers/from-node.js +64 -55
  134. package/dist/readers/from-web-file.d.ts +2 -2
  135. package/dist/readers/reader.d.ts +5 -5
  136. package/dist/readers/universal.d.ts +2 -2
  137. package/dist/readers/web.d.ts +2 -2
  138. package/dist/register-track.d.ts +12 -12
  139. package/dist/remotion-license-acknowledge.d.ts +2 -2
  140. package/dist/seek-backwards.d.ts +4 -4
  141. package/dist/seek-forwards.d.ts +4 -4
  142. package/dist/state/can-skip-tracks.js +1 -1
  143. package/dist/state/emitted-fields.js +1 -1
  144. package/dist/state/has-tracks-section.d.ts +5 -5
  145. package/dist/state/iso-base-media/cached-sample-positions.d.ts +3 -3
  146. package/dist/state/iso-base-media/cached-sample-positions.js +16 -7
  147. package/dist/state/iso-base-media/iso-state.d.ts +4 -4
  148. package/dist/state/iso-base-media/lazy-mfra-load.d.ts +4 -4
  149. package/dist/state/m3u-state.d.ts +11 -11
  150. package/dist/state/matroska/lazy-cues-fetch.d.ts +4 -4
  151. package/dist/state/matroska/webm.d.ts +4 -4
  152. package/dist/state/matroska/webm.js +1 -1
  153. package/dist/state/may-skip-video-data.d.ts +1 -0
  154. package/dist/state/may-skip-video-data.js +23 -2
  155. package/dist/state/need-samples-for-fields.js +1 -1
  156. package/dist/state/parser-state.d.ts +67 -38
  157. package/dist/state/riff/lazy-idx1-fetch.d.ts +4 -4
  158. package/dist/state/riff/sample-counter.d.ts +3 -3
  159. package/dist/state/riff.d.ts +6 -6
  160. package/dist/state/sample-callbacks.d.ts +12 -12
  161. package/dist/state/sample-callbacks.js +2 -2
  162. package/dist/state/samples-observed/slow-duration-fps.d.ts +3 -3
  163. package/dist/state/transport-stream/last-emitted-sample.d.ts +3 -3
  164. package/dist/state/transport-stream/transport-stream.d.ts +2 -2
  165. package/dist/version.d.ts +1 -1
  166. package/dist/version.js +1 -1
  167. package/dist/webcodec-sample-types.d.ts +21 -10
  168. package/dist/work-on-seek-request.d.ts +4 -4
  169. package/dist/work-on-seek-request.js +40 -43
  170. package/dist/worker/serialize-error.d.ts +2 -2
  171. package/dist/worker/serialize-error.js +7 -25
  172. package/dist/worker/worker-types.d.ts +22 -24
  173. package/dist/worker-server.d.ts +2 -2
  174. package/dist/worker-server.js +5 -5
  175. package/dist/writers/writer.d.ts +2 -2
  176. package/package.json +3 -3
  177. package/dist/containers/iso-base-media/sample-positions.d.ts +0 -25
  178. package/dist/containers/iso-base-media/sample-positions.js +0 -37
  179. package/dist/containers/iso-base-media/turn-sample-positions-into-array.d.ts +0 -19
  180. package/dist/containers/iso-base-media/turn-sample-positions-into-array.js +0 -73
  181. package/dist/containers/m3u/iterate-over-segment-files.d.ts +0 -21
  182. package/dist/containers/m3u/iterate-over-segment-files.js +0 -132
  183. package/dist/containers/mp3/audio-sample-from-cbr.d.ts +0 -11
  184. package/dist/containers/mp3/audio-sample-from-cbr.js +0 -35
  185. package/dist/emit-audio-sample.d.ts +0 -12
  186. package/dist/emit-audio-sample.js +0 -11
@@ -1,14 +1,14 @@
1
1
  import type { MediaParserController } from '../../../controller/media-parser-controller';
2
2
  import type { PrefetchCache } from '../../../fetch';
3
- import type { LogLevel } from '../../../log';
3
+ import type { MediaParserLogLevel } from '../../../log';
4
4
  import type { ParseMediaSrc } from '../../../options';
5
- import type { ReaderInterface } from '../../../readers/reader';
5
+ import type { MediaParserReaderInterface } from '../../../readers/reader';
6
6
  import type { MatroskaCue } from './format-cues';
7
7
  export declare const fetchWebmCues: ({ src, readerInterface, controller, position, logLevel, prefetchCache, }: {
8
8
  src: ParseMediaSrc;
9
- readerInterface: ReaderInterface;
9
+ readerInterface: MediaParserReaderInterface;
10
10
  controller: MediaParserController;
11
11
  position: number;
12
- logLevel: LogLevel;
12
+ logLevel: MediaParserLogLevel;
13
13
  prefetchCache: PrefetchCache;
14
14
  }) => Promise<MatroskaCue[] | null>;
@@ -1,4 +1,4 @@
1
- import type { LogLevel } from '../../../log';
1
+ import type { MediaParserLogLevel } from '../../../log';
2
2
  import type { WebmSeekingHints } from '../../../seeking-hints';
3
3
  import type { WebmState } from '../../../state/matroska/webm';
4
4
  import type { MediaSectionState } from '../../../state/video-section';
@@ -7,6 +7,6 @@ export declare const getSeekingByteFromMatroska: ({ time, webmState, info, logLe
7
7
  time: number;
8
8
  webmState: WebmState;
9
9
  info: WebmSeekingHints;
10
- logLevel: LogLevel;
10
+ logLevel: MediaParserLogLevel;
11
11
  mediaSection: MediaSectionState;
12
12
  }) => Promise<SeekResolution>;
@@ -1,5 +1,5 @@
1
1
  import type { BufferIterator } from '../../iterator/buffer-iterator';
2
- import type { LogLevel } from '../../log';
2
+ import type { MediaParserLogLevel } from '../../log';
3
3
  import type { SegmentSection } from '../../state/matroska/webm';
4
4
  import type { MediaSectionState } from '../../state/video-section';
5
5
  import { type PossibleEbml, type TrackEntry } from './segments/all-segments';
@@ -8,7 +8,7 @@ export type MatroskaSegment = PossibleEbml;
8
8
  export type OnTrackEntrySegment = (trackEntry: TrackEntry) => void;
9
9
  export declare const expectSegment: ({ statesForProcessing, isInsideSegment, iterator, logLevel, mediaSectionState, }: {
10
10
  iterator: BufferIterator;
11
- logLevel: LogLevel;
11
+ logLevel: MediaParserLogLevel;
12
12
  statesForProcessing: WebmRequiredStatesForProcessing | null;
13
13
  isInsideSegment: SegmentSection | null;
14
14
  mediaSectionState: MediaSectionState | null;
@@ -55,7 +55,7 @@ const expectSegment = async ({ statesForProcessing, isInsideSegment, iterator, l
55
55
  }
56
56
  statesForProcessing.webmState.addCluster({
57
57
  start: offset,
58
- size,
58
+ size: size + (offsetAfterVInt - offset),
59
59
  segment: isInsideSegment.index,
60
60
  });
61
61
  const newSegment = {
@@ -1,15 +1,15 @@
1
- import type { LogLevel } from '../../log';
1
+ import type { MediaParserLogLevel } from '../../log';
2
2
  import type { WebmState } from '../../state/matroska/webm';
3
3
  import type { ParserState } from '../../state/parser-state';
4
4
  import type { CallbacksState } from '../../state/sample-callbacks';
5
5
  import type { StructureState } from '../../state/structure';
6
- import type { OnAudioTrack, OnVideoTrack } from '../../webcodec-sample-types';
6
+ import type { MediaParserOnAudioTrack, MediaParserOnVideoTrack } from '../../webcodec-sample-types';
7
7
  export type WebmRequiredStatesForProcessing = {
8
8
  webmState: WebmState;
9
9
  callbacks: CallbacksState;
10
- logLevel: LogLevel;
11
- onAudioTrack: OnAudioTrack | null;
12
- onVideoTrack: OnVideoTrack | null;
10
+ logLevel: MediaParserLogLevel;
11
+ onAudioTrack: MediaParserOnAudioTrack | null;
12
+ onVideoTrack: MediaParserOnVideoTrack | null;
13
13
  structureState: StructureState;
14
14
  };
15
15
  export declare const selectStatesForProcessing: ({ callbacks, logLevel, onAudioTrack, onVideoTrack, structure, webm, }: ParserState) => WebmRequiredStatesForProcessing;
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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
4
  const getMainSegment = (segments) => {
5
- return segments.find((s) => s.type === 'Segment');
5
+ var _a;
6
+ return ((_a = segments.find((s) => s.type === 'Segment')) !== null && _a !== void 0 ? _a : null);
6
7
  };
7
8
  exports.getMainSegment = getMainSegment;
8
9
  const getTrackNumber = (track) => {
@@ -1,4 +1,3 @@
1
- import type { Seek } from './seek-signal';
2
1
  type MediaParserEventMap = {
3
2
  pause: undefined;
4
3
  resume: undefined;
@@ -6,7 +5,7 @@ type MediaParserEventMap = {
6
5
  reason?: unknown;
7
6
  };
8
7
  seek: {
9
- seek: Seek;
8
+ seek: number;
10
9
  };
11
10
  };
12
11
  export type MediaParserEventTypes = keyof MediaParserEventMap;
@@ -28,6 +27,6 @@ export declare class MediaParserEmitter {
28
27
  dispatchPause: () => void;
29
28
  dispatchResume: () => void;
30
29
  dispatchAbort: (reason?: unknown) => void;
31
- dispatchSeek: (seek: Seek) => void;
30
+ dispatchSeek: (seek: number) => void;
32
31
  }
33
32
  export {};
@@ -1,15 +1,9 @@
1
1
  import type { MediaParserEmitter } from './emitter';
2
2
  export type SeekSignal = {
3
- seek: (seek: Seek) => void;
4
- getSeek: () => Seek | undefined;
5
- clearSeekIfStillSame: (previousSeek: Seek) => {
3
+ seek: (timeInSeconds: number) => void;
4
+ getSeek: () => number | null;
5
+ clearSeekIfStillSame: (previousSeek: number) => {
6
6
  hasChanged: boolean;
7
7
  };
8
8
  };
9
- type SeekToTime = {
10
- type: 'keyframe-before-time';
11
- timeInSeconds: number;
12
- };
13
- export type Seek = SeekToTime;
14
9
  export declare const makeSeekSignal: (emitter: MediaParserEmitter) => SeekSignal;
15
- export {};
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeSeekSignal = void 0;
4
4
  const makeSeekSignal = (emitter) => {
5
- let seek;
5
+ let seek = null;
6
6
  return {
7
7
  seek: (seekRequest) => {
8
8
  seek = seekRequest;
@@ -14,7 +14,7 @@ const makeSeekSignal = (emitter) => {
14
14
  // In the meanwhile a new seek could have been queued
15
15
  clearSeekIfStillSame(previousSeek) {
16
16
  if (seek === previousSeek) {
17
- seek = undefined;
17
+ seek = null;
18
18
  return { hasChanged: false };
19
19
  }
20
20
  return { hasChanged: true };
@@ -1,5 +1,5 @@
1
- import type { AudioOrVideoSample } from './webcodec-sample-types';
2
- export declare const convertAudioOrVideoSampleToWebCodecsTimestamps: ({ sample, timescale, }: {
3
- sample: AudioOrVideoSample;
1
+ import type { MediaParserAudioSample, MediaParserVideoSample } from './webcodec-sample-types';
2
+ export declare const convertAudioOrVideoSampleToWebCodecsTimestamps: <T extends MediaParserAudioSample | MediaParserVideoSample>({ sample, timescale, }: {
3
+ sample: T;
4
4
  timescale: number;
5
- }) => AudioOrVideoSample;
5
+ }) => T;
@@ -48,7 +48,7 @@ const downloadAndParseMedia = async (options) => {
48
48
  onSlowKeyframes: (_3 = options.onSlowKeyframes) !== null && _3 !== void 0 ? _3 : null,
49
49
  onSlowNumberOfFrames: (_4 = options.onSlowNumberOfFrames) !== null && _4 !== void 0 ? _4 : null,
50
50
  onSlowVideoBitrate: (_5 = options.onSlowVideoBitrate) !== null && _5 !== void 0 ? _5 : null,
51
- onStructure: (_6 = options.onStructure) !== null && _6 !== void 0 ? _6 : null,
51
+ onSlowStructure: (_6 = options.onSlowStructure) !== null && _6 !== void 0 ? _6 : null,
52
52
  onM3uStreams: (_7 = options.onM3uStreams) !== null && _7 !== void 0 ? _7 : null,
53
53
  onTracks: (_8 = options.onTracks) !== null && _8 !== void 0 ? _8 : null,
54
54
  onUnrotatedDimensions: (_9 = options.onUnrotatedDimensions) !== null && _9 !== void 0 ? _9 : null,
@@ -22,13 +22,13 @@ const emitAvailableInfo = async ({ hasInfo, state, }) => {
22
22
  const { emittedFields, fieldsInReturnValue, returnValue, name, callbackFunctions, } = state;
23
23
  for (const key of keys) {
24
24
  await (0, work_on_seek_request_1.workOnSeekRequest)((0, work_on_seek_request_1.getWorkOnSeekRequestOptions)(state));
25
- if (key === 'structure') {
26
- if (hasInfo.structure && !emittedFields.structure) {
27
- await ((_a = callbackFunctions.onStructure) === null || _a === void 0 ? void 0 : _a.call(callbackFunctions, state.structure.getStructure()));
28
- if (fieldsInReturnValue.structure) {
29
- returnValue.structure = state.structure.getStructure();
25
+ if (key === 'slowStructure') {
26
+ if (hasInfo.slowStructure && !emittedFields.slowStructure) {
27
+ await ((_a = callbackFunctions.onSlowStructure) === null || _a === void 0 ? void 0 : _a.call(callbackFunctions, state.structure.getStructure()));
28
+ if (fieldsInReturnValue.slowStructure) {
29
+ returnValue.slowStructure = state.structure.getStructure();
30
30
  }
31
- emittedFields.structure = true;
31
+ emittedFields.slowStructure = true;
32
32
  }
33
33
  continue;
34
34
  }
@@ -162,10 +162,10 @@ const emitAvailableInfo = async ({ hasInfo, state, }) => {
162
162
  }
163
163
  if (key === 'tracks') {
164
164
  if (!emittedFields.tracks && hasInfo.tracks) {
165
- const { videoTracks, audioTracks } = (0, get_tracks_1.getTracks)(state, true);
166
- await ((_q = callbackFunctions.onTracks) === null || _q === void 0 ? void 0 : _q.call(callbackFunctions, { videoTracks, audioTracks }));
165
+ const tracks = (0, get_tracks_1.getTracks)(state, true);
166
+ await ((_q = callbackFunctions.onTracks) === null || _q === void 0 ? void 0 : _q.call(callbackFunctions, tracks));
167
167
  if (fieldsInReturnValue.tracks) {
168
- returnValue.tracks = { videoTracks, audioTracks };
168
+ returnValue.tracks = tracks;
169
169
  }
170
170
  emittedFields.tracks = true;
171
171
  }
package/dist/errors.d.ts CHANGED
@@ -1,29 +1,15 @@
1
- export declare class IsAGifError extends Error {
2
- mimeType: string | null;
3
- sizeInBytes: number | null;
4
- fileName: string | null;
5
- constructor({ message, mimeType, sizeInBytes, fileName, }: {
6
- message: string;
7
- mimeType: string | null;
8
- sizeInBytes: number | null;
9
- fileName: string | null;
10
- });
11
- }
12
- export type ImageType = 'png' | 'jpeg' | 'bmp' | 'webp';
13
- export type Dimensions = {
14
- width: number;
15
- height: number;
16
- };
1
+ import type { MediaParserDimensions } from './get-dimensions';
2
+ export type ImageType = 'png' | 'jpeg' | 'bmp' | 'webp' | 'gif';
17
3
  export declare class IsAnImageError extends Error {
18
4
  imageType: ImageType;
19
- dimensions: Dimensions | null;
5
+ dimensions: MediaParserDimensions | null;
20
6
  mimeType: string | null;
21
7
  sizeInBytes: number | null;
22
8
  fileName: string | null;
23
9
  constructor({ dimensions, imageType, message, mimeType, sizeInBytes, fileName, }: {
24
10
  message: string;
25
11
  imageType: ImageType;
26
- dimensions: Dimensions | null;
12
+ dimensions: MediaParserDimensions | null;
27
13
  mimeType: string | null;
28
14
  sizeInBytes: number | null;
29
15
  fileName: string | null;
package/dist/errors.js CHANGED
@@ -1,20 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasBeenAborted = exports.MediaParserAbortError = exports.IsAnUnsupportedFileTypeError = exports.IsAPdfError = exports.IsAnImageError = exports.IsAGifError = void 0;
4
- class IsAGifError extends Error {
5
- constructor({ message, mimeType, sizeInBytes, fileName, }) {
6
- super(message);
7
- this.name = 'IsAGifError';
8
- this.fileName = 'IsAGifError';
9
- this.mimeType = mimeType;
10
- this.sizeInBytes = sizeInBytes;
11
- this.fileName = fileName;
12
- if (Error.captureStackTrace) {
13
- Error.captureStackTrace(this, IsAGifError);
14
- }
15
- }
16
- }
17
- exports.IsAGifError = IsAGifError;
3
+ exports.hasBeenAborted = exports.MediaParserAbortError = exports.IsAnUnsupportedFileTypeError = exports.IsAPdfError = exports.IsAnImageError = void 0;
18
4
  class IsAnImageError extends Error {
19
5
  constructor({ dimensions, imageType, message, mimeType, sizeInBytes, fileName, }) {
20
6
  super(message);