@remotion/media-parser 4.0.280 → 4.0.282
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/check-if-done.js +1 -1
- package/dist/containers/aac/parse-aac.js +21 -12
- package/dist/containers/flac/get-channel-count.d.ts +1 -1
- package/dist/containers/flac/get-duration-from-flac.js +1 -1
- package/dist/containers/flac/get-sample-rate.js +1 -1
- package/dist/containers/flac/parse-flac-frame.js +18 -13
- package/dist/containers/flac/parse-flac.js +3 -3
- package/dist/containers/flac/parse-header.js +1 -1
- package/dist/containers/flac/parse-metadata.js +1 -1
- package/dist/containers/flac/parse-streaminfo.js +7 -2
- package/dist/containers/flac/parse-unknown-block.js +1 -1
- package/dist/containers/iso-base-media/base-media-box.d.ts +2 -1
- package/dist/containers/iso-base-media/collect-sample-positions-from-moof-boxes.d.ts +11 -0
- package/dist/containers/iso-base-media/collect-sample-positions-from-moof-boxes.js +13 -0
- package/dist/containers/iso-base-media/collect-sample-positions-from-trak.d.ts +2 -0
- package/dist/containers/iso-base-media/collect-sample-positions-from-trak.js +46 -0
- package/dist/containers/iso-base-media/find-keyframe-before-time.d.ts +10 -0
- package/dist/containers/iso-base-media/find-keyframe-before-time.js +28 -0
- package/dist/containers/iso-base-media/get-children.d.ts +7 -3
- package/dist/containers/iso-base-media/get-children.js +7 -3
- package/dist/containers/iso-base-media/get-keyframes.js +9 -4
- package/dist/containers/iso-base-media/get-mfra-atom.d.ts +9 -0
- package/dist/containers/iso-base-media/get-mfra-atom.js +12 -0
- package/dist/containers/iso-base-media/get-mfra-seeking-box.d.ts +13 -0
- package/dist/containers/iso-base-media/get-mfra-seeking-box.js +32 -0
- package/dist/containers/iso-base-media/get-moov-atom.js +58 -42
- package/dist/containers/iso-base-media/get-sample-position-bounds.d.ts +5 -0
- package/dist/containers/iso-base-media/get-sample-position-bounds.js +19 -0
- package/dist/containers/iso-base-media/get-sample-positions-from-track.d.ts +7 -2
- package/dist/containers/iso-base-media/get-sample-positions-from-track.js +18 -48
- package/dist/containers/iso-base-media/get-seeking-from-mp4.d.ts +11 -5
- package/dist/containers/iso-base-media/get-seeking-from-mp4.js +100 -36
- package/dist/containers/iso-base-media/get-seeking-info-from-mp4.d.ts +11 -0
- package/dist/containers/iso-base-media/get-seeking-info-from-mp4.js +25 -0
- package/dist/containers/iso-base-media/mdat/mdat.js +42 -26
- package/dist/containers/iso-base-media/mfra/find-best-segment-from-tfra.d.ts +11 -0
- package/dist/containers/iso-base-media/mfra/find-best-segment-from-tfra.js +27 -0
- package/dist/containers/iso-base-media/mfra/get-mfra-atom.d.ts +81 -0
- package/dist/containers/iso-base-media/mfra/get-mfra-atom.js +23 -0
- package/dist/containers/iso-base-media/mfra/get-mfro-atom.d.ts +9 -0
- package/dist/containers/iso-base-media/mfra/get-mfro-atom.js +38 -0
- package/dist/containers/iso-base-media/mfra/mfra.d.ts +2 -0
- package/dist/containers/iso-base-media/mfra/mfra.js +11 -0
- package/dist/containers/iso-base-media/mfra/tfra.d.ts +19 -0
- package/dist/containers/iso-base-media/mfra/tfra.js +100 -0
- package/dist/containers/iso-base-media/moov/moov.d.ts +7 -3
- package/dist/containers/iso-base-media/moov/moov.js +4 -2
- package/dist/containers/iso-base-media/parse-boxes.js +20 -4
- package/dist/containers/iso-base-media/process-box.d.ts +26 -2
- package/dist/containers/iso-base-media/process-box.js +54 -15
- package/dist/containers/iso-base-media/stsd/mebx.d.ts +5 -3
- package/dist/containers/iso-base-media/stsd/mebx.js +6 -4
- package/dist/containers/iso-base-media/stsd/samples.d.ts +8 -5
- package/dist/containers/iso-base-media/stsd/samples.js +16 -9
- package/dist/containers/iso-base-media/stsd/stsd.d.ts +5 -3
- package/dist/containers/iso-base-media/stsd/stsd.js +3 -3
- package/dist/containers/iso-base-media/trak/trak.d.ts +5 -3
- package/dist/containers/iso-base-media/trak/trak.js +4 -2
- package/dist/containers/iso-base-media/traversal.d.ts +9 -2
- package/dist/containers/iso-base-media/traversal.js +15 -7
- package/dist/containers/m3u/get-duration-from-m3u.js +1 -1
- package/dist/containers/m3u/get-streams.js +1 -1
- package/dist/containers/m3u/iterate-over-segment-files.d.ts +1 -1
- package/dist/containers/m3u/iterate-over-segment-files.js +1 -1
- package/dist/containers/m3u/parse-m3u.js +1 -1
- package/dist/containers/m3u/run-over-m3u.js +11 -2
- package/dist/containers/mp3/id3.js +1 -1
- package/dist/containers/mp3/parse-mpeg-header.js +8 -2
- package/dist/containers/riff/expect-riff-box.js +7 -2
- package/dist/containers/riff/get-tracks-from-avi.js +1 -1
- package/dist/containers/riff/parse-movi.js +35 -26
- package/dist/containers/riff/parse-riff-body.js +13 -5
- package/dist/containers/riff/parse-riff-header.js +1 -1
- package/dist/containers/riff/parse-video-section.d.ts +1 -1
- package/dist/containers/riff/parse-video-section.js +3 -3
- package/dist/containers/transport-stream/get-tracks.js +1 -1
- package/dist/containers/transport-stream/handle-aac-packet.js +12 -3
- package/dist/containers/transport-stream/handle-avc-packet.js +16 -3
- package/dist/containers/transport-stream/parse-packet.js +1 -1
- package/dist/containers/transport-stream/parse-transport-stream.js +1 -1
- package/dist/containers/wav/get-duration-from-wav.js +1 -1
- package/dist/containers/wav/get-seeking-byte.d.ts +7 -0
- package/dist/containers/wav/get-seeking-byte.js +15 -0
- package/dist/containers/wav/get-seeking-info.d.ts +7 -0
- package/dist/containers/wav/get-seeking-info.js +20 -0
- package/dist/containers/wav/parse-data.js +2 -2
- package/dist/containers/wav/parse-fmt.js +7 -2
- package/dist/containers/wav/parse-header.js +1 -1
- package/dist/containers/wav/parse-id3.js +1 -1
- package/dist/containers/wav/parse-list.js +1 -1
- package/dist/containers/wav/parse-media-section.d.ts +5 -0
- package/dist/containers/wav/parse-media-section.js +44 -0
- package/dist/containers/wav/parse-video-section.js +7 -5
- package/dist/containers/wav/parse-wav.js +4 -4
- package/dist/containers/webm/get-ready-tracks.js +2 -2
- package/dist/containers/webm/parse-ebml.js +17 -5
- package/dist/containers/webm/parse-webm-header.js +1 -1
- package/dist/controller/emitter.d.ts +33 -0
- package/dist/controller/emitter.js +65 -0
- package/dist/controller/media-parser-controller.d.ts +23 -0
- package/dist/controller/media-parser-controller.js +41 -0
- package/dist/controller/pause-signal.d.ts +11 -0
- package/dist/controller/pause-signal.js +38 -0
- package/dist/controller/performed-seeks-stats.d.ts +11 -0
- package/dist/controller/performed-seeks-stats.js +21 -0
- package/dist/controller/seek-signal.d.ts +19 -0
- package/dist/controller/seek-signal.js +24 -0
- package/dist/convert-audio-or-video-sample.d.ts +4 -1
- package/dist/convert-audio-or-video-sample.js +19 -6
- package/dist/disallow-forward-seek-if-samples-are-needed.d.ts +6 -0
- package/dist/disallow-forward-seek-if-samples-are-needed.js +14 -0
- package/dist/emit-audio-sample.d.ts +8 -5
- package/dist/emit-audio-sample.js +6 -6
- package/dist/emit-available-info.js +6 -6
- package/dist/emitter.d.ts +9 -0
- package/dist/emitter.js +35 -3
- package/dist/esm/index.mjs +5687 -4586
- package/dist/esm/server-worker.mjs +453 -0
- package/dist/esm/worker-server-entry.mjs +6551 -5447
- package/dist/esm/worker-web-entry.mjs +5452 -4348
- package/dist/esm/worker.mjs +14 -11
- package/dist/forward-controller.d.ts +1 -1
- package/dist/get-dimensions.js +2 -2
- package/dist/get-duration.js +21 -31
- package/dist/get-fps.js +7 -3
- package/dist/get-keyframes.js +2 -2
- package/dist/get-seeking-info.d.ts +19 -3
- package/dist/get-seeking-info.js +33 -7
- package/dist/get-tracks.js +12 -4
- package/dist/has-all-info.js +1 -1
- package/dist/index.d.ts +153 -135
- package/dist/index.js +3 -1
- package/dist/init-video.js +21 -12
- package/dist/internal-parse-media.js +6 -2
- package/dist/media-parser-controller.d.ts +2 -1
- package/dist/media-parser-controller.js +3 -2
- package/dist/metadata/get-metadata.js +1 -1
- package/dist/metadata/metadata-from-iso.js +5 -1
- package/dist/options.d.ts +1 -1
- package/dist/parse-loop.js +17 -4
- package/dist/parse-media-on-worker-entry.js +7 -0
- package/dist/perform-seek.d.ts +23 -3
- package/dist/perform-seek.js +44 -8
- package/dist/readers/reader.d.ts +1 -1
- package/dist/register-track.d.ts +17 -4
- package/dist/register-track.js +31 -17
- package/dist/run-parse-iteration.js +1 -1
- package/dist/seek-backwards.d.ts +15 -2
- package/dist/seek-backwards.js +7 -8
- package/dist/seek-forwards.d.ts +19 -2
- package/dist/seek-forwards.js +19 -12
- package/dist/seek-signal.d.ts +3 -6
- package/dist/seek-signal.js +4 -6
- package/dist/seeking-info.d.ts +11 -1
- package/dist/server-worker.d.ts +3 -0
- package/dist/server-worker.js +7 -0
- package/dist/server-worker.module.d.ts +2 -0
- package/dist/server-worker.module.js +12 -0
- package/dist/state/current-reader.d.ts +6 -0
- package/dist/state/current-reader.js +13 -0
- package/dist/state/iso-base-media/cached-sample-positions.js +7 -9
- package/dist/state/iso-base-media/iso-state.d.ts +15 -1
- package/dist/state/iso-base-media/iso-state.js +9 -1
- package/dist/state/iso-base-media/lazy-mfra-load.d.ts +14 -0
- package/dist/state/iso-base-media/lazy-mfra-load.js +29 -0
- package/dist/state/need-samples-for-fields.d.ts +1 -0
- package/dist/state/need-samples-for-fields.js +3 -3
- package/dist/state/parser-state.d.ts +145 -130
- package/dist/state/parser-state.js +15 -4
- package/dist/state/sample-callbacks.d.ts +3 -2
- package/dist/state/sample-callbacks.js +2 -4
- package/dist/state/seek-infinite-loop.d.ts +5 -0
- package/dist/state/seek-infinite-loop.js +22 -0
- package/dist/state/video-section.d.ts +23 -6
- package/dist/state/video-section.js +50 -22
- package/dist/state/work-on-seek-request-options.d.ts +3 -0
- package/dist/state/work-on-seek-request-options.js +26 -0
- package/dist/throttled-progress.d.ts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/work-on-seek-request.d.ts +42 -1
- package/dist/work-on-seek-request.js +104 -15
- package/dist/worker/forward-controller.d.ts +1 -1
- package/dist/worker/forward-controller.js +4 -0
- package/dist/worker/worker-types.d.ts +6 -1
- package/dist/worker-server.js +1 -1
- package/dist/worker.module.d.ts +4 -0
- package/dist/worker.module.js +12 -0
- package/package.json +12 -3
|
@@ -21,12 +21,12 @@ const emitAvailableInfo = async ({ hasInfo, state, }) => {
|
|
|
21
21
|
const keys = Object.keys(hasInfo);
|
|
22
22
|
const { emittedFields, fieldsInReturnValue, returnValue, name, callbackFunctions, } = state;
|
|
23
23
|
for (const key of keys) {
|
|
24
|
-
await (0, work_on_seek_request_1.workOnSeekRequest)(state);
|
|
24
|
+
await (0, work_on_seek_request_1.workOnSeekRequest)((0, work_on_seek_request_1.getWorkOnSeekRequestOptions)(state));
|
|
25
25
|
if (key === 'structure') {
|
|
26
26
|
if (hasInfo.structure && !emittedFields.structure) {
|
|
27
|
-
await ((_a = callbackFunctions.onStructure) === null || _a === void 0 ? void 0 : _a.call(callbackFunctions, state.getStructure()));
|
|
27
|
+
await ((_a = callbackFunctions.onStructure) === null || _a === void 0 ? void 0 : _a.call(callbackFunctions, state.structure.getStructure()));
|
|
28
28
|
if (fieldsInReturnValue.structure) {
|
|
29
|
-
returnValue.structure = state.getStructure();
|
|
29
|
+
returnValue.structure = state.structure.getStructure();
|
|
30
30
|
}
|
|
31
31
|
emittedFields.structure = true;
|
|
32
32
|
}
|
|
@@ -225,7 +225,7 @@ const emitAvailableInfo = async ({ hasInfo, state, }) => {
|
|
|
225
225
|
}
|
|
226
226
|
if (key === 'container') {
|
|
227
227
|
if (!returnValue.container && hasInfo.container) {
|
|
228
|
-
const container = (0, get_container_1.getContainer)(state.getStructure());
|
|
228
|
+
const container = (0, get_container_1.getContainer)(state.structure.getStructure());
|
|
229
229
|
await ((_u = callbackFunctions.onContainer) === null || _u === void 0 ? void 0 : _u.call(callbackFunctions, container));
|
|
230
230
|
if (fieldsInReturnValue.container) {
|
|
231
231
|
returnValue.container = container;
|
|
@@ -345,7 +345,7 @@ const emitAvailableInfo = async ({ hasInfo, state, }) => {
|
|
|
345
345
|
if (key === 'm3uStreams') {
|
|
346
346
|
if (!emittedFields.m3uStreams && hasInfo.m3uStreams) {
|
|
347
347
|
const streams = (0, get_streams_1.getM3uStreams)({
|
|
348
|
-
structure: state.getStructureOrNull(),
|
|
348
|
+
structure: state.structure.getStructureOrNull(),
|
|
349
349
|
originalSrc: state.src,
|
|
350
350
|
readerInterface: state.readerInterface,
|
|
351
351
|
});
|
|
@@ -359,6 +359,6 @@ const emitAvailableInfo = async ({ hasInfo, state, }) => {
|
|
|
359
359
|
}
|
|
360
360
|
throw new Error(`Unhandled key: ${key}`);
|
|
361
361
|
}
|
|
362
|
-
await (0, work_on_seek_request_1.workOnSeekRequest)(state);
|
|
362
|
+
await (0, work_on_seek_request_1.workOnSeekRequest)((0, work_on_seek_request_1.getWorkOnSeekRequestOptions)(state));
|
|
363
363
|
};
|
|
364
364
|
exports.emitAvailableInfo = emitAvailableInfo;
|
package/dist/emitter.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import type { Seek } from './controller/seek-signal';
|
|
1
2
|
type MediaParserEventMap = {
|
|
2
3
|
pause: undefined;
|
|
3
4
|
resume: undefined;
|
|
4
5
|
abort: {
|
|
5
6
|
reason?: unknown;
|
|
6
7
|
};
|
|
8
|
+
seek: {
|
|
9
|
+
seek: Seek;
|
|
10
|
+
};
|
|
7
11
|
};
|
|
8
12
|
export type MediaParserEventTypes = keyof MediaParserEventMap;
|
|
9
13
|
export type CallbackListener<T extends MediaParserEventTypes> = (data: {
|
|
@@ -13,12 +17,17 @@ type MediaParserListeners = {
|
|
|
13
17
|
[EventType in MediaParserEventTypes]: CallbackListener<EventType>[];
|
|
14
18
|
};
|
|
15
19
|
export declare class MediaParserEmitter {
|
|
20
|
+
#private;
|
|
16
21
|
listeners: MediaParserListeners;
|
|
22
|
+
readyPromise: Promise<void>;
|
|
23
|
+
constructor();
|
|
24
|
+
markAsReady: () => void;
|
|
17
25
|
addEventListener: <Q extends MediaParserEventTypes>(name: Q, callback: CallbackListener<Q>) => void;
|
|
18
26
|
removeEventListener: <Q extends MediaParserEventTypes>(name: Q, callback: CallbackListener<Q>) => void;
|
|
19
27
|
private dispatchEvent;
|
|
20
28
|
dispatchPause: () => void;
|
|
21
29
|
dispatchResume: () => void;
|
|
22
30
|
dispatchAbort: (reason?: unknown) => void;
|
|
31
|
+
dispatchSeek: (seek: Seek) => void;
|
|
23
32
|
}
|
|
24
33
|
export {};
|
package/dist/emitter.js
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _MediaParserEmitter_markAsReady;
|
|
2
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
15
|
exports.MediaParserEmitter = void 0;
|
|
4
16
|
class MediaParserEmitter {
|
|
@@ -7,6 +19,11 @@ class MediaParserEmitter {
|
|
|
7
19
|
pause: [],
|
|
8
20
|
resume: [],
|
|
9
21
|
abort: [],
|
|
22
|
+
seek: [],
|
|
23
|
+
};
|
|
24
|
+
_MediaParserEmitter_markAsReady.set(this, void 0);
|
|
25
|
+
this.markAsReady = () => {
|
|
26
|
+
__classPrivateFieldGet(this, _MediaParserEmitter_markAsReady, "f").call(this);
|
|
10
27
|
};
|
|
11
28
|
this.addEventListener = (name, callback) => {
|
|
12
29
|
this.listeners[name].push(callback);
|
|
@@ -15,14 +32,28 @@ class MediaParserEmitter {
|
|
|
15
32
|
this.listeners[name] = this.listeners[name].filter((l) => l !== callback);
|
|
16
33
|
};
|
|
17
34
|
this.dispatchPause = () => {
|
|
18
|
-
this.
|
|
35
|
+
this.readyPromise = this.readyPromise.then(() => {
|
|
36
|
+
this.dispatchEvent('pause', undefined);
|
|
37
|
+
});
|
|
19
38
|
};
|
|
20
39
|
this.dispatchResume = () => {
|
|
21
|
-
this.
|
|
40
|
+
this.readyPromise = this.readyPromise.then(() => {
|
|
41
|
+
this.dispatchEvent('resume', undefined);
|
|
42
|
+
});
|
|
22
43
|
};
|
|
23
44
|
this.dispatchAbort = (reason) => {
|
|
24
|
-
this.
|
|
45
|
+
this.readyPromise = this.readyPromise.then(() => {
|
|
46
|
+
this.dispatchEvent('abort', { reason });
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
this.dispatchSeek = (seek) => {
|
|
50
|
+
this.readyPromise = this.readyPromise.then(() => {
|
|
51
|
+
this.dispatchEvent('seek', { seek });
|
|
52
|
+
});
|
|
25
53
|
};
|
|
54
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
55
|
+
this.readyPromise = promise;
|
|
56
|
+
__classPrivateFieldSet(this, _MediaParserEmitter_markAsReady, resolve, "f");
|
|
26
57
|
}
|
|
27
58
|
dispatchEvent(dispatchName, context) {
|
|
28
59
|
this.listeners[dispatchName].forEach((callback) => {
|
|
@@ -31,3 +62,4 @@ class MediaParserEmitter {
|
|
|
31
62
|
}
|
|
32
63
|
}
|
|
33
64
|
exports.MediaParserEmitter = MediaParserEmitter;
|
|
65
|
+
_MediaParserEmitter_markAsReady = new WeakMap();
|