@remotion/webcodecs 4.0.245 → 4.0.246
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/audio-decoder.d.ts +2 -1
- package/dist/audio-encoder.d.ts +2 -1
- package/dist/auto-select-writer.d.ts +1 -1
- package/dist/auto-select-writer.js +4 -4
- package/dist/convert-encoded-chunk.d.ts +0 -1
- package/dist/convert-encoded-chunk.js +1 -21
- package/dist/convert-media.d.ts +2 -1
- package/dist/convert-media.js +4 -2
- package/dist/create/event-emitter.d.ts +31 -0
- package/dist/create/event-emitter.js +25 -0
- package/dist/create/iso-base-media/codec-specific/avc1.d.ts +2 -0
- package/dist/create/iso-base-media/codec-specific/avc1.js +48 -0
- package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +22 -0
- package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +36 -0
- package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +2 -0
- package/dist/create/iso-base-media/codec-specific/mp4a.js +74 -0
- package/dist/create/iso-base-media/create-colr.d.ts +6 -0
- package/dist/create/iso-base-media/create-colr.js +26 -0
- package/dist/create/iso-base-media/create-ftyp.d.ts +10 -0
- package/dist/create/iso-base-media/create-ftyp.js +22 -0
- package/dist/create/iso-base-media/create-ilst.d.ts +1 -0
- package/dist/create/iso-base-media/create-ilst.js +14 -0
- package/dist/create/iso-base-media/create-iso-base-media.d.ts +2 -0
- package/dist/create/iso-base-media/create-iso-base-media.js +184 -0
- package/dist/create/iso-base-media/create-mdia.d.ts +5 -0
- package/dist/create/iso-base-media/create-mdia.js +18 -0
- package/dist/create/iso-base-media/create-moov.d.ts +5 -0
- package/dist/create/iso-base-media/create-moov.js +18 -0
- package/dist/create/iso-base-media/create-mvhd.d.ts +10 -0
- package/dist/create/iso-base-media/create-mvhd.js +48 -0
- package/dist/create/iso-base-media/create-trak.d.ts +4 -0
- package/dist/create/iso-base-media/create-trak.js +17 -0
- package/dist/create/iso-base-media/create-udta.d.ts +1 -0
- package/dist/create/iso-base-media/create-udta.js +14 -0
- package/dist/create/iso-base-media/create-url.d.ts +1 -0
- package/dist/create/iso-base-media/create-url.js +16 -0
- package/dist/create/iso-base-media/example-stts.d.ts +3 -0
- package/dist/create/iso-base-media/example-stts.js +2797 -0
- package/dist/create/iso-base-media/ilst/create-cmt.d.ts +1 -0
- package/dist/create/iso-base-media/ilst/create-cmt.js +26 -0
- package/dist/create/iso-base-media/ilst/create-too.d.ts +1 -0
- package/dist/create/iso-base-media/ilst/create-too.js +27 -0
- package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +6 -0
- package/dist/create/iso-base-media/mdia/create-mdhd.js +33 -0
- package/dist/create/iso-base-media/mp4-header.d.ts +6 -0
- package/dist/create/iso-base-media/mp4-header.js +48 -0
- package/dist/create/iso-base-media/primitives.d.ts +26 -0
- package/dist/create/iso-base-media/primitives.js +133 -0
- package/dist/create/iso-base-media/serialize-track.d.ts +9 -0
- package/dist/create/iso-base-media/serialize-track.js +63 -0
- package/dist/create/iso-base-media/trak/create-tkhd.d.ts +27 -0
- package/dist/create/iso-base-media/trak/create-tkhd.js +97 -0
- package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +4 -0
- package/dist/create/iso-base-media/trak/mdia/create-minf.js +19 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +22 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +20 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +6 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +41 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +20 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +45 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +28 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +56 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +23 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +25 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +51 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +20 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +16 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +13 -0
- package/dist/create/iso-base-media/udta/create-meta.d.ts +4 -0
- package/dist/create/iso-base-media/udta/create-meta.js +20 -0
- package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +1 -0
- package/dist/create/iso-base-media/udta/meta/create-hdlr.js +32 -0
- package/dist/create/make-track-info.d.ts +20 -0
- package/dist/create/matroska/cluster-segment.d.ts +10 -0
- package/dist/create/matroska/cluster-segment.js +38 -0
- package/dist/create/matroska/cluster.d.ts +25 -0
- package/dist/create/matroska/cluster.js +76 -0
- package/dist/create/matroska/color.d.ts +2 -0
- package/dist/create/matroska/color.js +85 -0
- package/dist/create/matroska/create-matroska-media.d.ts +2 -0
- package/dist/create/matroska/create-matroska-media.js +189 -0
- package/dist/create/matroska/make-duration-with-padding.d.ts +1 -0
- package/dist/create/matroska/make-duration-with-padding.js +15 -0
- package/dist/create/matroska/matroska-cues.d.ts +6 -0
- package/dist/create/matroska/matroska-cues.js +49 -0
- package/dist/create/matroska/matroska-header.d.ts +1 -0
- package/dist/create/matroska/matroska-header.js +66 -0
- package/dist/create/matroska/matroska-info.d.ts +3 -0
- package/dist/create/matroska/matroska-info.js +33 -0
- package/dist/create/matroska/matroska-seek.d.ts +6 -0
- package/dist/create/matroska/matroska-seek.js +32 -0
- package/dist/create/matroska/matroska-segment.d.ts +3 -0
- package/dist/create/matroska/matroska-segment.js +13 -0
- package/dist/create/matroska/matroska-trackentry.d.ts +10 -0
- package/dist/create/matroska/matroska-trackentry.js +249 -0
- package/dist/create/matroska/matroska-utils.d.ts +30 -0
- package/dist/create/matroska/matroska-utils.js +292 -0
- package/dist/create/media-fn.d.ts +32 -0
- package/dist/create/progress-tracker.d.ts +9 -0
- package/dist/create/progress-tracker.js +67 -0
- package/dist/create/timescale.d.ts +1 -0
- package/dist/create/timescale.js +4 -0
- package/dist/create/wav/create-wav.d.ts +2 -0
- package/dist/create/wav/create-wav.js +110 -0
- package/dist/create/with-resolvers.d.ts +10 -0
- package/dist/create/with-resolvers.js +28 -0
- package/dist/esm/buffer.mjs +74 -0
- package/dist/esm/index.mjs +2518 -40
- package/dist/esm/web-fs.mjs +92 -0
- package/dist/from-unix-timestamp.d.ts +1 -0
- package/dist/from-unix-timestamp.js +11 -0
- package/dist/index.d.ts +1 -0
- package/dist/io-manager/io-synchronizer.d.ts +1 -1
- package/dist/io-manager/io-synchronizer.js +5 -4
- package/dist/io-manager/make-timeout-promise.js +2 -2
- package/dist/on-audio-track.d.ts +3 -1
- package/dist/on-video-track.d.ts +3 -1
- package/dist/select-container-creator.d.ts +1 -1
- package/dist/select-container-creator.js +6 -4
- package/dist/test/avc1.test.d.ts +1 -0
- package/dist/test/avc1.test.js +39 -0
- package/dist/test/avcc.test.d.ts +1 -0
- package/dist/test/avcc.test.js +15 -0
- package/dist/test/cmt.test.d.ts +1 -0
- package/dist/test/cmt.test.js +13 -0
- package/dist/test/colr.test.d.ts +1 -0
- package/dist/test/colr.test.js +16 -0
- package/dist/test/create-ftyp.test.d.ts +1 -0
- package/dist/test/create-ftyp.test.js +47 -0
- package/dist/test/create-matroska.test.d.ts +1 -0
- package/dist/test/create-matroska.test.js +101 -0
- package/dist/test/create-mvhd.test.d.ts +1 -0
- package/dist/test/create-mvhd.test.js +108 -0
- package/dist/test/ctts.test.d.ts +1 -0
- package/dist/test/ctts.test.js +49 -0
- package/dist/test/dinf.test.d.ts +1 -0
- package/dist/test/dinf.test.js +12 -0
- package/dist/test/ilst.test.d.ts +1 -0
- package/dist/test/ilst.test.js +22 -0
- package/dist/test/mdhd.test.d.ts +1 -0
- package/dist/test/mdhd.test.js +17 -0
- package/dist/test/meta.test.d.ts +1 -0
- package/dist/test/meta.test.js +26 -0
- package/dist/test/mp4a.test.d.ts +1 -0
- package/dist/test/mp4a.test.js +24 -0
- package/dist/test/pasp.test.d.ts +1 -0
- package/dist/test/pasp.test.js +12 -0
- package/dist/test/stbl.test.js +166 -0
- package/dist/test/stco.test.d.ts +1 -0
- package/dist/test/stco.test.js +34 -0
- package/dist/test/stsc.test.d.ts +1 -0
- package/dist/test/stsc.test.js +63 -0
- package/dist/test/stsd.test.d.ts +1 -0
- package/dist/test/stsd.test.js +264 -0
- package/dist/test/stss.test.d.ts +1 -0
- package/dist/test/stss.test.js +14 -0
- package/dist/test/stsz.test.d.ts +1 -0
- package/dist/test/stsz.test.js +43 -0
- package/dist/test/stts.test.d.ts +1 -0
- package/dist/test/stts.test.js +12 -0
- package/dist/test/tkhd.test.d.ts +1 -0
- package/dist/test/tkhd.test.js +175 -0
- package/dist/test/too.test.d.ts +1 -0
- package/dist/test/too.test.js +12 -0
- package/dist/test/url.test.d.ts +1 -0
- package/dist/test/url.test.js +11 -0
- package/dist/truthy.d.ts +3 -0
- package/dist/truthy.js +6 -0
- package/dist/video-decoder.d.ts +2 -1
- package/dist/video-encoder.d.ts +2 -1
- package/dist/writers/buffer-implementation/writer.d.ts +2 -0
- package/dist/writers/buffer-implementation/writer.js +54 -0
- package/dist/writers/buffer.d.ts +2 -0
- package/dist/writers/buffer.js +7 -0
- package/dist/writers/web-fs.d.ts +3 -0
- package/dist/writers/web-fs.js +75 -0
- package/dist/writers/writer.d.ts +15 -0
- package/package.json +36 -5
- package/dist/get-operation-id.js +0 -1
- package/dist/resizing/resizing.d.ts +0 -13
- package/dist/resizing.d.ts +0 -13
- package/dist/rotate-video-frame.d.ts +0 -9
- package/dist/rotate-video-frame.js +0 -53
- package/dist/scaling.d.ts +0 -13
- /package/dist/{resizing.js → create/make-track-info.js} +0 -0
- /package/dist/{resizing/resizing.js → create/media-fn.js} +0 -0
- /package/dist/{get-operation-id.d.ts → test/stbl.test.d.ts} +0 -0
- /package/dist/{scaling.js → writers/writer.js} +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
7
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
8
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
9
|
+
for (let key of __getOwnPropNames(mod))
|
|
10
|
+
if (!__hasOwnProp.call(to, key))
|
|
11
|
+
__defProp(to, key, {
|
|
12
|
+
get: () => mod[key],
|
|
13
|
+
enumerable: true
|
|
14
|
+
});
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
18
|
+
|
|
19
|
+
// src/writers/web-fs.ts
|
|
20
|
+
var createContent = async ({ filename }) => {
|
|
21
|
+
const directoryHandle = await navigator.storage.getDirectory();
|
|
22
|
+
const actualFilename = `__remotion_mediaparser:${filename}`;
|
|
23
|
+
const remove = async () => {
|
|
24
|
+
await directoryHandle.removeEntry(actualFilename, {
|
|
25
|
+
recursive: true
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
await remove();
|
|
29
|
+
const fileHandle = await directoryHandle.getFileHandle(actualFilename, {
|
|
30
|
+
create: true
|
|
31
|
+
});
|
|
32
|
+
const writable = await fileHandle.createWritable();
|
|
33
|
+
let written = 0;
|
|
34
|
+
let writPromise = Promise.resolve();
|
|
35
|
+
const write = async (arr) => {
|
|
36
|
+
await writable.write(arr);
|
|
37
|
+
written += arr.byteLength;
|
|
38
|
+
};
|
|
39
|
+
const updateDataAt = async (position, data) => {
|
|
40
|
+
await writable.seek(position);
|
|
41
|
+
await writable.write(data);
|
|
42
|
+
await writable.seek(written);
|
|
43
|
+
};
|
|
44
|
+
const writer = {
|
|
45
|
+
write: (arr) => {
|
|
46
|
+
writPromise = writPromise.then(() => write(arr));
|
|
47
|
+
return writPromise;
|
|
48
|
+
},
|
|
49
|
+
save: async () => {
|
|
50
|
+
try {
|
|
51
|
+
await writable.close();
|
|
52
|
+
} catch {
|
|
53
|
+
}
|
|
54
|
+
const newHandle = await directoryHandle.getFileHandle(actualFilename, {
|
|
55
|
+
create: true
|
|
56
|
+
});
|
|
57
|
+
const newFile = await newHandle.getFile();
|
|
58
|
+
return newFile;
|
|
59
|
+
},
|
|
60
|
+
getWrittenByteCount: () => written,
|
|
61
|
+
updateDataAt: (position, data) => {
|
|
62
|
+
writPromise = writPromise.then(() => updateDataAt(position, data));
|
|
63
|
+
return writPromise;
|
|
64
|
+
},
|
|
65
|
+
waitForFinish: async () => {
|
|
66
|
+
await writPromise;
|
|
67
|
+
},
|
|
68
|
+
remove
|
|
69
|
+
};
|
|
70
|
+
return writer;
|
|
71
|
+
};
|
|
72
|
+
var webFsWriter = {
|
|
73
|
+
createContent
|
|
74
|
+
};
|
|
75
|
+
var canUseWebFsWriter = async () => {
|
|
76
|
+
if (!("storage" in navigator)) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if (!("getDirectory" in navigator.storage)) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
const directoryHandle = await navigator.storage.getDirectory();
|
|
83
|
+
const fileHandle = await directoryHandle.getFileHandle("remotion-probe-web-fs-support", {
|
|
84
|
+
create: true
|
|
85
|
+
});
|
|
86
|
+
const canUse = fileHandle.createWritable !== undefined;
|
|
87
|
+
return canUse;
|
|
88
|
+
};
|
|
89
|
+
export {
|
|
90
|
+
webFsWriter,
|
|
91
|
+
canUseWebFsWriter
|
|
92
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const fromUnixTimestamp: (value: number | null) => number;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fromUnixTimestamp = void 0;
|
|
4
|
+
const fromUnixTimestamp = (value) => {
|
|
5
|
+
if (value === null) {
|
|
6
|
+
return 0;
|
|
7
|
+
}
|
|
8
|
+
const baseDate = new Date('1904-01-01T00:00:00Z');
|
|
9
|
+
return Math.floor(value / 1000 - baseDate.getTime() / 1000);
|
|
10
|
+
};
|
|
11
|
+
exports.fromUnixTimestamp = fromUnixTimestamp;
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export { ConvertMediaOnVideoTrackHandler, VideoOperation, } from './on-video-tra
|
|
|
17
17
|
export type { ResizeOperation } from './resizing/mode';
|
|
18
18
|
export { createVideoDecoder, WebCodecsVideoDecoder } from './video-decoder';
|
|
19
19
|
export { createVideoEncoder, WebCodecsVideoEncoder } from './video-encoder';
|
|
20
|
+
export { WriterInterface } from './writers/writer';
|
|
20
21
|
export declare const WebCodecsInternals: {
|
|
21
22
|
rotateAndResizeVideoFrame: ({ frame, rotation, videoCodec, resizeOperation, }: {
|
|
22
23
|
frame: VideoFrame;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProgressTracker } from '
|
|
1
|
+
import type { ProgressTracker } from '../create/progress-tracker';
|
|
2
2
|
import type { LogLevel } from '../log';
|
|
3
3
|
export declare const makeIoSynchronizer: ({ logLevel, label, progress, }: {
|
|
4
4
|
logLevel: LogLevel;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeIoSynchronizer = void 0;
|
|
4
|
-
const
|
|
4
|
+
const event_emitter_1 = require("../create/event-emitter");
|
|
5
|
+
const with_resolvers_1 = require("../create/with-resolvers");
|
|
5
6
|
const log_1 = require("../log");
|
|
6
7
|
const make_timeout_promise_1 = require("./make-timeout-promise");
|
|
7
8
|
const makeIoSynchronizer = ({ logLevel, label, progress, }) => {
|
|
8
|
-
const eventEmitter = new
|
|
9
|
+
const eventEmitter = new event_emitter_1.IoEventEmitter();
|
|
9
10
|
let lastInput = 0;
|
|
10
11
|
let lastInputKeyframe = 0;
|
|
11
12
|
let lastOutput = 0;
|
|
@@ -51,7 +52,7 @@ const makeIoSynchronizer = ({ logLevel, label, progress, }) => {
|
|
|
51
52
|
printState('Got output');
|
|
52
53
|
};
|
|
53
54
|
const waitForOutput = () => {
|
|
54
|
-
const { promise, resolve } =
|
|
55
|
+
const { promise, resolve } = (0, with_resolvers_1.withResolvers)();
|
|
55
56
|
const on = () => {
|
|
56
57
|
eventEmitter.removeEventListener('output', on);
|
|
57
58
|
resolve();
|
|
@@ -60,7 +61,7 @@ const makeIoSynchronizer = ({ logLevel, label, progress, }) => {
|
|
|
60
61
|
return promise;
|
|
61
62
|
};
|
|
62
63
|
const waitForProcessed = () => {
|
|
63
|
-
const { promise, resolve } =
|
|
64
|
+
const { promise, resolve } = (0, with_resolvers_1.withResolvers)();
|
|
64
65
|
const on = () => {
|
|
65
66
|
eventEmitter.removeEventListener('processed', on);
|
|
66
67
|
resolve();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeTimeoutPromise = void 0;
|
|
4
|
-
const
|
|
4
|
+
const with_resolvers_1 = require("../create/with-resolvers");
|
|
5
5
|
const makeTimeoutPromise = (label, ms) => {
|
|
6
|
-
const { promise, reject, resolve } =
|
|
6
|
+
const { promise, reject, resolve } = (0, with_resolvers_1.withResolvers)();
|
|
7
7
|
const timeout = setTimeout(() => {
|
|
8
8
|
reject(new Error(`${label()} (timed out after ${ms}ms)`));
|
|
9
9
|
}, ms);
|
package/dist/on-audio-track.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { type LogLevel, type
|
|
1
|
+
import { type LogLevel, type OnAudioTrack } from '@remotion/media-parser';
|
|
2
|
+
import type { MediaFn } from './create/media-fn';
|
|
3
|
+
import type { ProgressTracker } from './create/progress-tracker';
|
|
2
4
|
import Error from './error-cause';
|
|
3
5
|
import type { ConvertMediaAudioCodec } from './get-available-audio-codecs';
|
|
4
6
|
import type { ConvertMediaContainer } from './get-available-containers';
|
package/dist/on-video-track.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type { LogLevel,
|
|
1
|
+
import type { LogLevel, OnVideoTrack } from '@remotion/media-parser';
|
|
2
2
|
import type { ConvertMediaOnVideoFrame } from './convert-media';
|
|
3
|
+
import type { MediaFn } from './create/media-fn';
|
|
4
|
+
import type { ProgressTracker } from './create/progress-tracker';
|
|
3
5
|
import Error from './error-cause';
|
|
4
6
|
import type { ConvertMediaContainer } from './get-available-containers';
|
|
5
7
|
import type { ConvertMediaVideoCodec } from './get-available-video-codecs';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { ConvertMediaContainer } from './get-available-containers';
|
|
2
|
-
export declare const selectContainerCreator: (container: ConvertMediaContainer) => ({ writer, onBytesProgress, onMillisecondsProgress, logLevel, filename, progressTracker, }: import("
|
|
2
|
+
export declare const selectContainerCreator: (container: ConvertMediaContainer) => ({ writer, onBytesProgress, onMillisecondsProgress, logLevel, filename, progressTracker, }: import("./create/media-fn").MediaFnGeneratorInput) => Promise<import("./create/media-fn").MediaFn>;
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.selectContainerCreator = void 0;
|
|
4
|
-
const
|
|
4
|
+
const create_iso_base_media_1 = require("./create/iso-base-media/create-iso-base-media");
|
|
5
|
+
const create_matroska_media_1 = require("./create/matroska/create-matroska-media");
|
|
6
|
+
const create_wav_1 = require("./create/wav/create-wav");
|
|
5
7
|
const selectContainerCreator = (container) => {
|
|
6
8
|
if (container === 'mp4') {
|
|
7
|
-
return
|
|
9
|
+
return create_iso_base_media_1.createIsoBaseMedia;
|
|
8
10
|
}
|
|
9
11
|
if (container === 'wav') {
|
|
10
|
-
return
|
|
12
|
+
return create_wav_1.createWav;
|
|
11
13
|
}
|
|
12
14
|
if (container === 'webm') {
|
|
13
|
-
return
|
|
15
|
+
return create_matroska_media_1.createMatroskaMedia;
|
|
14
16
|
}
|
|
15
17
|
throw new Error(`Unsupported container: ${container}`);
|
|
16
18
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const avc1_1 = require("../create/iso-base-media/codec-specific/avc1");
|
|
5
|
+
const create_avcc_1 = require("../create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc");
|
|
6
|
+
const create_pasp_1 = require("../create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp");
|
|
7
|
+
// bun segfaults here
|
|
8
|
+
if (process.platform !== 'win32') {
|
|
9
|
+
const reference = new Uint8Array([
|
|
10
|
+
0, 0, 0, 161, 97, 118, 99, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
|
11
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 128, 1, 104, 0, 72, 0, 0, 0, 72, 0, 0, 0, 0,
|
|
12
|
+
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
13
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 255, 255, 0, 0, 0, 59, 97, 118, 99,
|
|
14
|
+
67, 1, 100, 0, 30, 255, 225, 0, 30, 103, 100, 0, 30, 172, 217, 64, 160, 47,
|
|
15
|
+
249, 112, 22, 224, 64, 64, 180, 160, 0, 0, 3, 0, 32, 0, 0, 7, 129, 226, 197,
|
|
16
|
+
178, 192, 1, 0, 6, 104, 235, 224, 140, 178, 44, 253, 248, 248, 0, 0, 0, 0,
|
|
17
|
+
16, 112, 97, 115, 112, 0, 0, 0, 1, 0, 0, 0, 1,
|
|
18
|
+
]);
|
|
19
|
+
(0, bun_test_1.test)('create avc1box', () => {
|
|
20
|
+
const privateData = new Uint8Array([
|
|
21
|
+
0x01, 0x64, 0x00, 0x1e, 0xff, 0xe1, 0x00, 0x1e, 0x67, 0x64, 0x00, 0x1e,
|
|
22
|
+
0xac, 0xd9, 0x40, 0xa0, 0x2f, 0xf9, 0x70, 0x16, 0xe0, 0x40, 0x40, 0xb4,
|
|
23
|
+
0xa0, 0x00, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x07, 0x81, 0xe2, 0xc5,
|
|
24
|
+
0xb2, 0xc0, 0x01, 0x00, 0x06, 0x68, 0xeb, 0xe0, 0x8c, 0xb2, 0x2c, 0xfd,
|
|
25
|
+
0xf8, 0xf8, 0x00,
|
|
26
|
+
]);
|
|
27
|
+
(0, bun_test_1.expect)((0, avc1_1.createAvc1Data)({
|
|
28
|
+
pasp: (0, create_pasp_1.createPasp)(1, 1),
|
|
29
|
+
avccBox: (0, create_avcc_1.createAvccBox)(privateData),
|
|
30
|
+
width: 640,
|
|
31
|
+
height: 360,
|
|
32
|
+
horizontalResolution: 72,
|
|
33
|
+
verticalResolution: 72,
|
|
34
|
+
compressorName: '',
|
|
35
|
+
depth: 24,
|
|
36
|
+
type: 'avc1-data',
|
|
37
|
+
})).toEqual(reference);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const create_avcc_1 = require("../create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc");
|
|
5
|
+
(0, bun_test_1.test)('avcc box', () => {
|
|
6
|
+
(0, bun_test_1.expect)((0, create_avcc_1.createAvccBox)(new Uint8Array([
|
|
7
|
+
1, 100, 0, 32, 255, 225, 0, 27, 103, 100, 0, 32, 172, 217, 64, 68, 2,
|
|
8
|
+
39, 150, 92, 4, 64, 0, 0, 3, 0, 64, 0, 0, 12, 3, 198, 12, 101, 128, 1,
|
|
9
|
+
0, 6, 104, 235, 224, 140, 178, 44, 253, 248, 248, 0,
|
|
10
|
+
]))).toEqual(new Uint8Array([
|
|
11
|
+
0, 0, 0, 56, 97, 118, 99, 67, 1, 100, 0, 32, 255, 225, 0, 27, 103, 100, 0,
|
|
12
|
+
32, 172, 217, 64, 68, 2, 39, 150, 92, 4, 64, 0, 0, 3, 0, 64, 0, 0, 12, 3,
|
|
13
|
+
198, 12, 101, 128, 1, 0, 6, 104, 235, 224, 140, 178, 44, 253, 248, 248, 0,
|
|
14
|
+
]));
|
|
15
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const create_cmt_1 = require("../create/iso-base-media/ilst/create-cmt");
|
|
5
|
+
const reference = new Uint8Array([
|
|
6
|
+
0x00, 0x00, 0x00, 0x32, 0xa9, 0x63, 0x6d, 0x74, 0x00, 0x00, 0x00, 0x2a, 0x64,
|
|
7
|
+
0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x61,
|
|
8
|
+
0x64, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x74,
|
|
9
|
+
0x69, 0x6f, 0x6e, 0x20, 0x34, 0x2e, 0x30, 0x2e, 0x32, 0x32, 0x37,
|
|
10
|
+
]);
|
|
11
|
+
(0, bun_test_1.test)('create cmt', () => {
|
|
12
|
+
(0, bun_test_1.expect)((0, create_cmt_1.createCmt)('Made with Remotion 4.0.227')).toEqual(reference);
|
|
13
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const create_colr_1 = require("../create/iso-base-media/create-colr");
|
|
5
|
+
const reference = new Uint8Array([
|
|
6
|
+
0x00, 0x00, 0x00, 0x13, 0x63, 0x6f, 0x6c, 0x72, 0x6e, 0x63, 0x6c, 0x78, 0x00,
|
|
7
|
+
0x01, 0x00, 0x01, 0x00, 0x01, 0x0,
|
|
8
|
+
]);
|
|
9
|
+
(0, bun_test_1.test)('colr', () => {
|
|
10
|
+
(0, bun_test_1.expect)((0, create_colr_1.createColr)({
|
|
11
|
+
fullRange: false,
|
|
12
|
+
matrixIndex: 1,
|
|
13
|
+
primaries: 1,
|
|
14
|
+
transferFunction: 1,
|
|
15
|
+
})).toEqual(reference);
|
|
16
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const media_parser_1 = require("@remotion/media-parser");
|
|
4
|
+
const bun_test_1 = require("bun:test");
|
|
5
|
+
const create_ftyp_1 = require("../create/iso-base-media/create-ftyp");
|
|
6
|
+
const input = new Uint8Array([
|
|
7
|
+
// size
|
|
8
|
+
0x00, 0x00, 0x00, 0x1c,
|
|
9
|
+
// ftyp
|
|
10
|
+
0x66, 0x74, 0x79, 0x70,
|
|
11
|
+
// iso5
|
|
12
|
+
0x69, 0x73, 0x6f, 0x35,
|
|
13
|
+
// 512
|
|
14
|
+
0x00, 0x00, 0x02, 0x00,
|
|
15
|
+
// iso5
|
|
16
|
+
0x69, 0x73, 0x6f, 0x35,
|
|
17
|
+
// iso6
|
|
18
|
+
0x69, 0x73, 0x6f, 0x36,
|
|
19
|
+
// mp41
|
|
20
|
+
0x6d, 0x70, 0x34, 0x31,
|
|
21
|
+
]);
|
|
22
|
+
(0, bun_test_1.test)('Create ftyp box', () => {
|
|
23
|
+
const iterator = media_parser_1.MediaParserInternals.getArrayBufferIterator(input, null);
|
|
24
|
+
const size = iterator.getFourByteNumber();
|
|
25
|
+
iterator.discard(4);
|
|
26
|
+
const parsed = media_parser_1.MediaParserInternals.parseFtyp({
|
|
27
|
+
iterator,
|
|
28
|
+
offset: 0,
|
|
29
|
+
size,
|
|
30
|
+
});
|
|
31
|
+
(0, bun_test_1.expect)(parsed).toEqual({
|
|
32
|
+
boxSize: 28,
|
|
33
|
+
compatibleBrands: ['iso5', 'iso6', 'mp41'],
|
|
34
|
+
majorBrand: 'iso5',
|
|
35
|
+
minorVersion: 512,
|
|
36
|
+
offset: 0,
|
|
37
|
+
type: 'ftyp-box',
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
(0, bun_test_1.test)('Should create ftyp box', () => {
|
|
41
|
+
const ftype = (0, create_ftyp_1.createIsoBaseMediaFtyp)({
|
|
42
|
+
compatibleBrands: ['iso5', 'iso6', 'mp41'],
|
|
43
|
+
majorBrand: 'iso5',
|
|
44
|
+
minorBrand: 512,
|
|
45
|
+
});
|
|
46
|
+
(0, bun_test_1.expect)(ftype).toEqual(input);
|
|
47
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const media_parser_1 = require("@remotion/media-parser");
|
|
4
|
+
const bun_test_1 = require("bun:test");
|
|
5
|
+
const matroska_utils_1 = require("../create/matroska/matroska-utils");
|
|
6
|
+
const state = media_parser_1.MediaParserInternals.makeParserState({
|
|
7
|
+
hasAudioTrackHandlers: false,
|
|
8
|
+
hasVideoTrackHandlers: false,
|
|
9
|
+
signal: undefined,
|
|
10
|
+
getIterator: () => null,
|
|
11
|
+
fields: {},
|
|
12
|
+
onAudioTrack: null,
|
|
13
|
+
onVideoTrack: null,
|
|
14
|
+
supportsContentRange: true,
|
|
15
|
+
});
|
|
16
|
+
(0, bun_test_1.test)('Should make Matroska header that is same as input', async () => {
|
|
17
|
+
const headerOutput = (0, matroska_utils_1.makeMatroskaBytes)({
|
|
18
|
+
type: 'Header',
|
|
19
|
+
minVintWidth: 1,
|
|
20
|
+
value: [
|
|
21
|
+
{
|
|
22
|
+
type: 'EBMLVersion',
|
|
23
|
+
value: { value: 1, byteLength: 1 },
|
|
24
|
+
minVintWidth: 1,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: 'EBMLReadVersion',
|
|
28
|
+
value: { value: 1, byteLength: 1 },
|
|
29
|
+
minVintWidth: 1,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: 'EBMLMaxIDLength',
|
|
33
|
+
value: { value: 4, byteLength: 1 },
|
|
34
|
+
minVintWidth: 1,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'EBMLMaxSizeLength',
|
|
38
|
+
value: { value: 8, byteLength: 1 },
|
|
39
|
+
minVintWidth: 1,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: 'DocType',
|
|
43
|
+
value: 'webm',
|
|
44
|
+
minVintWidth: 1,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
type: 'DocTypeVersion',
|
|
48
|
+
value: { value: 4, byteLength: 1 },
|
|
49
|
+
minVintWidth: 1,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
type: 'DocTypeReadVersion',
|
|
53
|
+
value: { value: 2, byteLength: 1 },
|
|
54
|
+
minVintWidth: 1,
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
const iterator = media_parser_1.MediaParserInternals.getArrayBufferIterator(headerOutput.bytes, headerOutput.bytes.length);
|
|
59
|
+
const parsed = await media_parser_1.MediaParserInternals.parseEbml(iterator, state);
|
|
60
|
+
(0, bun_test_1.expect)(parsed).toEqual({
|
|
61
|
+
type: 'Header',
|
|
62
|
+
minVintWidth: 1,
|
|
63
|
+
value: [
|
|
64
|
+
{
|
|
65
|
+
type: 'EBMLVersion',
|
|
66
|
+
value: { value: 1, byteLength: 1 },
|
|
67
|
+
minVintWidth: 1,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: 'EBMLReadVersion',
|
|
71
|
+
value: { value: 1, byteLength: 1 },
|
|
72
|
+
minVintWidth: 1,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: 'EBMLMaxIDLength',
|
|
76
|
+
value: { value: 4, byteLength: 1 },
|
|
77
|
+
minVintWidth: 1,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'EBMLMaxSizeLength',
|
|
81
|
+
value: { value: 8, byteLength: 1 },
|
|
82
|
+
minVintWidth: 1,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'DocType',
|
|
86
|
+
value: 'webm',
|
|
87
|
+
minVintWidth: 1,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'DocTypeVersion',
|
|
91
|
+
value: { value: 4, byteLength: 1 },
|
|
92
|
+
minVintWidth: 1,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: 'DocTypeReadVersion',
|
|
96
|
+
value: { value: 2, byteLength: 1 },
|
|
97
|
+
minVintWidth: 1,
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
});
|
|
101
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const media_parser_1 = require("@remotion/media-parser");
|
|
4
|
+
const bun_test_1 = require("bun:test");
|
|
5
|
+
const create_mvhd_1 = require("../create/iso-base-media/create-mvhd");
|
|
6
|
+
const primitives_1 = require("../create/iso-base-media/primitives");
|
|
7
|
+
const input = new Uint8Array([
|
|
8
|
+
// size
|
|
9
|
+
0x00, 0x00, 0x00, 0x6c,
|
|
10
|
+
// mvhd
|
|
11
|
+
0x6d, 0x76, 0x68, 0x64,
|
|
12
|
+
// version
|
|
13
|
+
0x00,
|
|
14
|
+
// flags
|
|
15
|
+
0x00, 0x00, 0x00,
|
|
16
|
+
// creation time
|
|
17
|
+
0x00, 0x00, 0x00, 0x00,
|
|
18
|
+
// modification time
|
|
19
|
+
0x00, 0x00, 0x00, 0x00,
|
|
20
|
+
// timescale
|
|
21
|
+
0x00, 0x00, 0x03, 0xe8,
|
|
22
|
+
// duration in units
|
|
23
|
+
0x00, 0x00, 0x00, 0x00,
|
|
24
|
+
// rate
|
|
25
|
+
0x00, 0x01, 0x00, 0x00,
|
|
26
|
+
// volume
|
|
27
|
+
0x01, 0x00,
|
|
28
|
+
// reserved
|
|
29
|
+
0x00, 0x00,
|
|
30
|
+
// reserved
|
|
31
|
+
0x00, 0x00, 0x00, 0x00,
|
|
32
|
+
// reserved
|
|
33
|
+
0x00, 0x00, 0x00, 0x00,
|
|
34
|
+
// matrix[0]
|
|
35
|
+
0x00, 0x01, 0x00, 0x00,
|
|
36
|
+
// matrix[1]
|
|
37
|
+
0x00, 0x00, 0x00, 0x00,
|
|
38
|
+
// matrix[2]
|
|
39
|
+
0x00, 0x00, 0x00, 0x00,
|
|
40
|
+
// matrix[3]
|
|
41
|
+
0x00, 0x00, 0x00, 0x00,
|
|
42
|
+
// matrix[4]
|
|
43
|
+
0x00, 0x01, 0x00, 0x00,
|
|
44
|
+
// matrix[5]
|
|
45
|
+
0x00, 0x00, 0x00, 0x00,
|
|
46
|
+
// matrix[6]
|
|
47
|
+
0x00, 0x00, 0x00, 0x00,
|
|
48
|
+
// matrix[7]
|
|
49
|
+
0x00, 0x00, 0x00, 0x00,
|
|
50
|
+
// matrix[8]
|
|
51
|
+
0x40, 0x00, 0x00, 0x00,
|
|
52
|
+
// predefined[0]
|
|
53
|
+
0x00, 0x00, 0x00, 0x00,
|
|
54
|
+
// predefined[1]
|
|
55
|
+
0x00, 0x00, 0x00, 0x00,
|
|
56
|
+
// predefined[2]
|
|
57
|
+
0x00, 0x00, 0x00, 0x00,
|
|
58
|
+
// predefined[3]
|
|
59
|
+
0x00, 0x00, 0x00, 0x00,
|
|
60
|
+
// predefined[4]
|
|
61
|
+
0x00, 0x00, 0x00, 0x00,
|
|
62
|
+
// predefined[5]
|
|
63
|
+
0x00, 0x00, 0x00, 0x00,
|
|
64
|
+
// next track id
|
|
65
|
+
0x00, 0x00, 0x00, 0x02,
|
|
66
|
+
]);
|
|
67
|
+
(0, bun_test_1.test)('Create mvhd box', () => {
|
|
68
|
+
const iterator = media_parser_1.MediaParserInternals.getArrayBufferIterator(input, null);
|
|
69
|
+
const size = iterator.getFourByteNumber();
|
|
70
|
+
iterator.discard(4);
|
|
71
|
+
const parsed = media_parser_1.MediaParserInternals.parseMvhd({
|
|
72
|
+
iterator,
|
|
73
|
+
offset: 0,
|
|
74
|
+
size,
|
|
75
|
+
});
|
|
76
|
+
(0, bun_test_1.expect)(parsed).toEqual({
|
|
77
|
+
creationTime: null,
|
|
78
|
+
modificationTime: null,
|
|
79
|
+
timeScale: 1000,
|
|
80
|
+
durationInUnits: 0,
|
|
81
|
+
durationInSeconds: 0,
|
|
82
|
+
rate: 1,
|
|
83
|
+
volume: 1,
|
|
84
|
+
matrix: primitives_1.IDENTITY_MATRIX,
|
|
85
|
+
nextTrackId: 2,
|
|
86
|
+
type: 'mvhd-box',
|
|
87
|
+
boxSize: 108,
|
|
88
|
+
offset: 0,
|
|
89
|
+
});
|
|
90
|
+
const content = (0, create_mvhd_1.createMvhd)({
|
|
91
|
+
timescale: 1000,
|
|
92
|
+
durationInUnits: 0,
|
|
93
|
+
rate: 1,
|
|
94
|
+
volume: 1,
|
|
95
|
+
nextTrackId: 2,
|
|
96
|
+
matrix: [
|
|
97
|
+
//
|
|
98
|
+
1, 0, 0,
|
|
99
|
+
//
|
|
100
|
+
0, 1, 0,
|
|
101
|
+
//
|
|
102
|
+
0, 0, 1,
|
|
103
|
+
],
|
|
104
|
+
creationTime: null,
|
|
105
|
+
modificationTime: null,
|
|
106
|
+
});
|
|
107
|
+
(0, bun_test_1.expect)(content).toEqual(input);
|
|
108
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const example_stts_1 = require("../create/iso-base-media/example-stts");
|
|
5
|
+
const create_ctts_1 = require("../create/iso-base-media/trak/mdia/minf/stbl/create-ctts");
|
|
6
|
+
const reference = new Uint8Array([
|
|
7
|
+
0, 0, 3, 128, 99, 116, 116, 115, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 1, 0, 0,
|
|
8
|
+
23, 112, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0,
|
|
9
|
+
0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0,
|
|
10
|
+
0, 11, 184, 0, 0, 0, 1, 0, 0, 46, 224, 0, 0, 0, 2, 0, 0, 11, 184, 0, 0, 0, 1,
|
|
11
|
+
0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0,
|
|
12
|
+
1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
|
13
|
+
1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 46, 224, 0, 0, 0, 2, 0, 0, 11, 184, 0, 0,
|
|
14
|
+
0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0,
|
|
15
|
+
0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 3, 0, 0, 23, 112,
|
|
16
|
+
0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 58,
|
|
17
|
+
152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11,
|
|
18
|
+
184, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0,
|
|
19
|
+
0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0,
|
|
20
|
+
11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0,
|
|
21
|
+
0, 11, 184, 0, 0, 0, 2, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1,
|
|
22
|
+
0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1,
|
|
23
|
+
0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
|
|
24
|
+
0, 0, 11, 184, 0, 0, 0, 2, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 46, 224, 0, 0, 0,
|
|
25
|
+
2, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0,
|
|
26
|
+
0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0,
|
|
27
|
+
0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 46, 224, 0, 0, 0, 2, 0, 0, 11, 184,
|
|
28
|
+
0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23,
|
|
29
|
+
112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 58,
|
|
30
|
+
152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11,
|
|
31
|
+
184, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0,
|
|
32
|
+
0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0,
|
|
33
|
+
58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
|
|
34
|
+
11, 184, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0,
|
|
35
|
+
0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0,
|
|
36
|
+
0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 2, 0, 0, 23, 112, 0, 0, 0, 1,
|
|
37
|
+
0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
|
|
38
|
+
0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0,
|
|
39
|
+
1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0,
|
|
40
|
+
0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0,
|
|
41
|
+
0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0,
|
|
42
|
+
0, 0, 1, 0, 0, 46, 224, 0, 0, 0, 2, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40,
|
|
43
|
+
0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11,
|
|
44
|
+
184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0,
|
|
45
|
+
35, 40, 0, 0, 0, 1, 0, 0, 11, 184,
|
|
46
|
+
]);
|
|
47
|
+
(0, bun_test_1.test)('ctts atom', () => {
|
|
48
|
+
(0, bun_test_1.expect)((0, create_ctts_1.createCttsBox)(example_stts_1.exampleVideoSamplePositions)).toEqual(reference);
|
|
49
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const create_dinf_1 = require("../create/iso-base-media/trak/mdia/minf/create-dinf");
|
|
5
|
+
const data = new Uint8Array([
|
|
6
|
+
0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64,
|
|
7
|
+
0x72, 0x65, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
|
8
|
+
0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00, 0x01,
|
|
9
|
+
]);
|
|
10
|
+
(0, bun_test_1.test)('dinf', () => {
|
|
11
|
+
(0, bun_test_1.expect)((0, create_dinf_1.createDinf)()).toEqual(data);
|
|
12
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|