@remotion/webcodecs 4.0.244 → 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.
Files changed (201) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/audio-decoder.d.ts +2 -1
  3. package/dist/audio-encoder.d.ts +2 -1
  4. package/dist/auto-select-writer.d.ts +1 -1
  5. package/dist/auto-select-writer.js +4 -4
  6. package/dist/convert-encoded-chunk.d.ts +0 -1
  7. package/dist/convert-encoded-chunk.js +1 -21
  8. package/dist/convert-media.d.ts +3 -2
  9. package/dist/convert-media.js +5 -3
  10. package/dist/create/event-emitter.d.ts +31 -0
  11. package/dist/create/event-emitter.js +25 -0
  12. package/dist/create/iso-base-media/codec-specific/avc1.d.ts +2 -0
  13. package/dist/create/iso-base-media/codec-specific/avc1.js +48 -0
  14. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +22 -0
  15. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +36 -0
  16. package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +2 -0
  17. package/dist/create/iso-base-media/codec-specific/mp4a.js +74 -0
  18. package/dist/create/iso-base-media/create-colr.d.ts +6 -0
  19. package/dist/create/iso-base-media/create-colr.js +26 -0
  20. package/dist/create/iso-base-media/create-ftyp.d.ts +10 -0
  21. package/dist/create/iso-base-media/create-ftyp.js +22 -0
  22. package/dist/create/iso-base-media/create-ilst.d.ts +1 -0
  23. package/dist/create/iso-base-media/create-ilst.js +14 -0
  24. package/dist/create/iso-base-media/create-iso-base-media.d.ts +2 -0
  25. package/dist/create/iso-base-media/create-iso-base-media.js +184 -0
  26. package/dist/create/iso-base-media/create-mdia.d.ts +5 -0
  27. package/dist/create/iso-base-media/create-mdia.js +18 -0
  28. package/dist/create/iso-base-media/create-moov.d.ts +5 -0
  29. package/dist/create/iso-base-media/create-moov.js +18 -0
  30. package/dist/create/iso-base-media/create-mvhd.d.ts +10 -0
  31. package/dist/create/iso-base-media/create-mvhd.js +48 -0
  32. package/dist/create/iso-base-media/create-trak.d.ts +4 -0
  33. package/dist/create/iso-base-media/create-trak.js +17 -0
  34. package/dist/create/iso-base-media/create-udta.d.ts +1 -0
  35. package/dist/create/iso-base-media/create-udta.js +14 -0
  36. package/dist/create/iso-base-media/create-url.d.ts +1 -0
  37. package/dist/create/iso-base-media/create-url.js +16 -0
  38. package/dist/create/iso-base-media/example-stts.d.ts +3 -0
  39. package/dist/create/iso-base-media/example-stts.js +2797 -0
  40. package/dist/create/iso-base-media/ilst/create-cmt.d.ts +1 -0
  41. package/dist/create/iso-base-media/ilst/create-cmt.js +26 -0
  42. package/dist/create/iso-base-media/ilst/create-too.d.ts +1 -0
  43. package/dist/create/iso-base-media/ilst/create-too.js +27 -0
  44. package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +6 -0
  45. package/dist/create/iso-base-media/mdia/create-mdhd.js +33 -0
  46. package/dist/create/iso-base-media/mp4-header.d.ts +6 -0
  47. package/dist/create/iso-base-media/mp4-header.js +48 -0
  48. package/dist/create/iso-base-media/primitives.d.ts +26 -0
  49. package/dist/create/iso-base-media/primitives.js +133 -0
  50. package/dist/create/iso-base-media/serialize-track.d.ts +9 -0
  51. package/dist/create/iso-base-media/serialize-track.js +63 -0
  52. package/dist/create/iso-base-media/trak/create-tkhd.d.ts +27 -0
  53. package/dist/create/iso-base-media/trak/create-tkhd.js +97 -0
  54. package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +4 -0
  55. package/dist/create/iso-base-media/trak/mdia/create-minf.js +19 -0
  56. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +1 -0
  57. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +22 -0
  58. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +1 -0
  59. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +20 -0
  60. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +6 -0
  61. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +41 -0
  62. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +1 -0
  63. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +20 -0
  64. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +2 -0
  65. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +45 -0
  66. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +2 -0
  67. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +28 -0
  68. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +2 -0
  69. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +56 -0
  70. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +2 -0
  71. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +23 -0
  72. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +2 -0
  73. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +25 -0
  74. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +2 -0
  75. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +51 -0
  76. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +1 -0
  77. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +20 -0
  78. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +1 -0
  79. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +16 -0
  80. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +1 -0
  81. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +13 -0
  82. package/dist/create/iso-base-media/udta/create-meta.d.ts +4 -0
  83. package/dist/create/iso-base-media/udta/create-meta.js +20 -0
  84. package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +1 -0
  85. package/dist/create/iso-base-media/udta/meta/create-hdlr.js +32 -0
  86. package/dist/create/make-track-info.d.ts +20 -0
  87. package/dist/create/matroska/cluster-segment.d.ts +10 -0
  88. package/dist/create/matroska/cluster-segment.js +38 -0
  89. package/dist/create/matroska/cluster.d.ts +25 -0
  90. package/dist/create/matroska/cluster.js +76 -0
  91. package/dist/create/matroska/color.d.ts +2 -0
  92. package/dist/create/matroska/color.js +85 -0
  93. package/dist/create/matroska/create-matroska-media.d.ts +2 -0
  94. package/dist/create/matroska/create-matroska-media.js +189 -0
  95. package/dist/create/matroska/make-duration-with-padding.d.ts +1 -0
  96. package/dist/create/matroska/make-duration-with-padding.js +15 -0
  97. package/dist/create/matroska/matroska-cues.d.ts +6 -0
  98. package/dist/create/matroska/matroska-cues.js +49 -0
  99. package/dist/create/matroska/matroska-header.d.ts +1 -0
  100. package/dist/create/matroska/matroska-header.js +66 -0
  101. package/dist/create/matroska/matroska-info.d.ts +3 -0
  102. package/dist/create/matroska/matroska-info.js +33 -0
  103. package/dist/create/matroska/matroska-seek.d.ts +6 -0
  104. package/dist/create/matroska/matroska-seek.js +32 -0
  105. package/dist/create/matroska/matroska-segment.d.ts +3 -0
  106. package/dist/create/matroska/matroska-segment.js +13 -0
  107. package/dist/create/matroska/matroska-trackentry.d.ts +10 -0
  108. package/dist/create/matroska/matroska-trackentry.js +249 -0
  109. package/dist/create/matroska/matroska-utils.d.ts +30 -0
  110. package/dist/create/matroska/matroska-utils.js +292 -0
  111. package/dist/create/media-fn.d.ts +32 -0
  112. package/dist/create/progress-tracker.d.ts +9 -0
  113. package/dist/create/progress-tracker.js +67 -0
  114. package/dist/create/timescale.d.ts +1 -0
  115. package/dist/create/timescale.js +4 -0
  116. package/dist/create/wav/create-wav.d.ts +2 -0
  117. package/dist/create/wav/create-wav.js +110 -0
  118. package/dist/create/with-resolvers.d.ts +10 -0
  119. package/dist/create/with-resolvers.js +28 -0
  120. package/dist/esm/buffer.mjs +74 -0
  121. package/dist/esm/index.mjs +2518 -40
  122. package/dist/esm/web-fs.mjs +92 -0
  123. package/dist/from-unix-timestamp.d.ts +1 -0
  124. package/dist/from-unix-timestamp.js +11 -0
  125. package/dist/index.d.ts +1 -0
  126. package/dist/io-manager/io-synchronizer.d.ts +1 -1
  127. package/dist/io-manager/io-synchronizer.js +5 -4
  128. package/dist/io-manager/make-timeout-promise.js +2 -2
  129. package/dist/on-audio-track.d.ts +3 -1
  130. package/dist/on-video-track.d.ts +3 -1
  131. package/dist/select-container-creator.d.ts +1 -1
  132. package/dist/select-container-creator.js +6 -4
  133. package/dist/test/avc1.test.d.ts +1 -0
  134. package/dist/test/avc1.test.js +39 -0
  135. package/dist/test/avcc.test.d.ts +1 -0
  136. package/dist/test/avcc.test.js +15 -0
  137. package/dist/test/cmt.test.d.ts +1 -0
  138. package/dist/test/cmt.test.js +13 -0
  139. package/dist/test/colr.test.d.ts +1 -0
  140. package/dist/test/colr.test.js +16 -0
  141. package/dist/test/create-ftyp.test.d.ts +1 -0
  142. package/dist/test/create-ftyp.test.js +47 -0
  143. package/dist/test/create-matroska.test.d.ts +1 -0
  144. package/dist/test/create-matroska.test.js +101 -0
  145. package/dist/test/create-mvhd.test.d.ts +1 -0
  146. package/dist/test/create-mvhd.test.js +108 -0
  147. package/dist/test/ctts.test.d.ts +1 -0
  148. package/dist/test/ctts.test.js +49 -0
  149. package/dist/test/dinf.test.d.ts +1 -0
  150. package/dist/test/dinf.test.js +12 -0
  151. package/dist/test/ilst.test.d.ts +1 -0
  152. package/dist/test/ilst.test.js +22 -0
  153. package/dist/test/mdhd.test.d.ts +1 -0
  154. package/dist/test/mdhd.test.js +17 -0
  155. package/dist/test/meta.test.d.ts +1 -0
  156. package/dist/test/meta.test.js +26 -0
  157. package/dist/test/mp4a.test.d.ts +1 -0
  158. package/dist/test/mp4a.test.js +24 -0
  159. package/dist/test/pasp.test.d.ts +1 -0
  160. package/dist/test/pasp.test.js +12 -0
  161. package/dist/test/stbl.test.js +166 -0
  162. package/dist/test/stco.test.d.ts +1 -0
  163. package/dist/test/stco.test.js +34 -0
  164. package/dist/test/stsc.test.d.ts +1 -0
  165. package/dist/test/stsc.test.js +63 -0
  166. package/dist/test/stsd.test.d.ts +1 -0
  167. package/dist/test/stsd.test.js +264 -0
  168. package/dist/test/stss.test.d.ts +1 -0
  169. package/dist/test/stss.test.js +14 -0
  170. package/dist/test/stsz.test.d.ts +1 -0
  171. package/dist/test/stsz.test.js +43 -0
  172. package/dist/test/stts.test.d.ts +1 -0
  173. package/dist/test/stts.test.js +12 -0
  174. package/dist/test/tkhd.test.d.ts +1 -0
  175. package/dist/test/tkhd.test.js +175 -0
  176. package/dist/test/too.test.d.ts +1 -0
  177. package/dist/test/too.test.js +12 -0
  178. package/dist/test/url.test.d.ts +1 -0
  179. package/dist/test/url.test.js +11 -0
  180. package/dist/truthy.d.ts +3 -0
  181. package/dist/truthy.js +6 -0
  182. package/dist/video-decoder.d.ts +2 -1
  183. package/dist/video-encoder.d.ts +2 -1
  184. package/dist/writers/buffer-implementation/writer.d.ts +2 -0
  185. package/dist/writers/buffer-implementation/writer.js +54 -0
  186. package/dist/writers/buffer.d.ts +2 -0
  187. package/dist/writers/buffer.js +7 -0
  188. package/dist/writers/web-fs.d.ts +3 -0
  189. package/dist/writers/web-fs.js +75 -0
  190. package/dist/writers/writer.d.ts +15 -0
  191. package/package.json +36 -5
  192. package/dist/get-operation-id.js +0 -1
  193. package/dist/resizing/resizing.d.ts +0 -13
  194. package/dist/resizing.d.ts +0 -13
  195. package/dist/rotate-video-frame.d.ts +0 -9
  196. package/dist/rotate-video-frame.js +0 -53
  197. package/dist/scaling.d.ts +0 -13
  198. /package/dist/{resizing.js → create/make-track-info.js} +0 -0
  199. /package/dist/{resizing/resizing.js → create/media-fn.js} +0 -0
  200. /package/dist/{get-operation-id.d.ts → test/stbl.test.d.ts} +0 -0
  201. /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 '@remotion/media-parser';
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 media_parser_1 = require("@remotion/media-parser");
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 media_parser_1.MediaParserInternals.IoEventEmitter();
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 } = media_parser_1.MediaParserInternals.withResolvers();
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 } = media_parser_1.MediaParserInternals.withResolvers();
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 media_parser_1 = require("@remotion/media-parser");
4
+ const with_resolvers_1 = require("../create/with-resolvers");
5
5
  const makeTimeoutPromise = (label, ms) => {
6
- const { promise, reject, resolve } = media_parser_1.MediaParserInternals.withResolvers();
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);
@@ -1,4 +1,6 @@
1
- import { type LogLevel, type MediaFn, type OnAudioTrack, type ProgressTracker } from '@remotion/media-parser';
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';
@@ -1,5 +1,7 @@
1
- import type { LogLevel, MediaFn, OnVideoTrack, ProgressTracker } from '@remotion/media-parser';
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("@remotion/media-parser/dist/create/media-fn").MediaFnGeneratorInput) => Promise<import("@remotion/media-parser").MediaFn>;
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 media_parser_1 = require("@remotion/media-parser");
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 media_parser_1.MediaParserInternals.createIsoBaseMedia;
9
+ return create_iso_base_media_1.createIsoBaseMedia;
8
10
  }
9
11
  if (container === 'wav') {
10
- return media_parser_1.MediaParserInternals.createWav;
12
+ return create_wav_1.createWav;
11
13
  }
12
14
  if (container === 'webm') {
13
- return media_parser_1.MediaParserInternals.createMatroskaMedia;
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 {};