@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.
Files changed (200) hide show
  1. package/dist/audio-decoder.d.ts +2 -1
  2. package/dist/audio-encoder.d.ts +2 -1
  3. package/dist/auto-select-writer.d.ts +1 -1
  4. package/dist/auto-select-writer.js +4 -4
  5. package/dist/convert-encoded-chunk.d.ts +0 -1
  6. package/dist/convert-encoded-chunk.js +1 -21
  7. package/dist/convert-media.d.ts +2 -1
  8. package/dist/convert-media.js +4 -2
  9. package/dist/create/event-emitter.d.ts +31 -0
  10. package/dist/create/event-emitter.js +25 -0
  11. package/dist/create/iso-base-media/codec-specific/avc1.d.ts +2 -0
  12. package/dist/create/iso-base-media/codec-specific/avc1.js +48 -0
  13. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +22 -0
  14. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +36 -0
  15. package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +2 -0
  16. package/dist/create/iso-base-media/codec-specific/mp4a.js +74 -0
  17. package/dist/create/iso-base-media/create-colr.d.ts +6 -0
  18. package/dist/create/iso-base-media/create-colr.js +26 -0
  19. package/dist/create/iso-base-media/create-ftyp.d.ts +10 -0
  20. package/dist/create/iso-base-media/create-ftyp.js +22 -0
  21. package/dist/create/iso-base-media/create-ilst.d.ts +1 -0
  22. package/dist/create/iso-base-media/create-ilst.js +14 -0
  23. package/dist/create/iso-base-media/create-iso-base-media.d.ts +2 -0
  24. package/dist/create/iso-base-media/create-iso-base-media.js +184 -0
  25. package/dist/create/iso-base-media/create-mdia.d.ts +5 -0
  26. package/dist/create/iso-base-media/create-mdia.js +18 -0
  27. package/dist/create/iso-base-media/create-moov.d.ts +5 -0
  28. package/dist/create/iso-base-media/create-moov.js +18 -0
  29. package/dist/create/iso-base-media/create-mvhd.d.ts +10 -0
  30. package/dist/create/iso-base-media/create-mvhd.js +48 -0
  31. package/dist/create/iso-base-media/create-trak.d.ts +4 -0
  32. package/dist/create/iso-base-media/create-trak.js +17 -0
  33. package/dist/create/iso-base-media/create-udta.d.ts +1 -0
  34. package/dist/create/iso-base-media/create-udta.js +14 -0
  35. package/dist/create/iso-base-media/create-url.d.ts +1 -0
  36. package/dist/create/iso-base-media/create-url.js +16 -0
  37. package/dist/create/iso-base-media/example-stts.d.ts +3 -0
  38. package/dist/create/iso-base-media/example-stts.js +2797 -0
  39. package/dist/create/iso-base-media/ilst/create-cmt.d.ts +1 -0
  40. package/dist/create/iso-base-media/ilst/create-cmt.js +26 -0
  41. package/dist/create/iso-base-media/ilst/create-too.d.ts +1 -0
  42. package/dist/create/iso-base-media/ilst/create-too.js +27 -0
  43. package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +6 -0
  44. package/dist/create/iso-base-media/mdia/create-mdhd.js +33 -0
  45. package/dist/create/iso-base-media/mp4-header.d.ts +6 -0
  46. package/dist/create/iso-base-media/mp4-header.js +48 -0
  47. package/dist/create/iso-base-media/primitives.d.ts +26 -0
  48. package/dist/create/iso-base-media/primitives.js +133 -0
  49. package/dist/create/iso-base-media/serialize-track.d.ts +9 -0
  50. package/dist/create/iso-base-media/serialize-track.js +63 -0
  51. package/dist/create/iso-base-media/trak/create-tkhd.d.ts +27 -0
  52. package/dist/create/iso-base-media/trak/create-tkhd.js +97 -0
  53. package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +4 -0
  54. package/dist/create/iso-base-media/trak/mdia/create-minf.js +19 -0
  55. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +1 -0
  56. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +22 -0
  57. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +1 -0
  58. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +20 -0
  59. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +6 -0
  60. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +41 -0
  61. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +1 -0
  62. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +20 -0
  63. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +2 -0
  64. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +45 -0
  65. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +2 -0
  66. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +28 -0
  67. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +2 -0
  68. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +56 -0
  69. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +2 -0
  70. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +23 -0
  71. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +2 -0
  72. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +25 -0
  73. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +2 -0
  74. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +51 -0
  75. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +1 -0
  76. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +20 -0
  77. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +1 -0
  78. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +16 -0
  79. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +1 -0
  80. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +13 -0
  81. package/dist/create/iso-base-media/udta/create-meta.d.ts +4 -0
  82. package/dist/create/iso-base-media/udta/create-meta.js +20 -0
  83. package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +1 -0
  84. package/dist/create/iso-base-media/udta/meta/create-hdlr.js +32 -0
  85. package/dist/create/make-track-info.d.ts +20 -0
  86. package/dist/create/matroska/cluster-segment.d.ts +10 -0
  87. package/dist/create/matroska/cluster-segment.js +38 -0
  88. package/dist/create/matroska/cluster.d.ts +25 -0
  89. package/dist/create/matroska/cluster.js +76 -0
  90. package/dist/create/matroska/color.d.ts +2 -0
  91. package/dist/create/matroska/color.js +85 -0
  92. package/dist/create/matroska/create-matroska-media.d.ts +2 -0
  93. package/dist/create/matroska/create-matroska-media.js +189 -0
  94. package/dist/create/matroska/make-duration-with-padding.d.ts +1 -0
  95. package/dist/create/matroska/make-duration-with-padding.js +15 -0
  96. package/dist/create/matroska/matroska-cues.d.ts +6 -0
  97. package/dist/create/matroska/matroska-cues.js +49 -0
  98. package/dist/create/matroska/matroska-header.d.ts +1 -0
  99. package/dist/create/matroska/matroska-header.js +66 -0
  100. package/dist/create/matroska/matroska-info.d.ts +3 -0
  101. package/dist/create/matroska/matroska-info.js +33 -0
  102. package/dist/create/matroska/matroska-seek.d.ts +6 -0
  103. package/dist/create/matroska/matroska-seek.js +32 -0
  104. package/dist/create/matroska/matroska-segment.d.ts +3 -0
  105. package/dist/create/matroska/matroska-segment.js +13 -0
  106. package/dist/create/matroska/matroska-trackentry.d.ts +10 -0
  107. package/dist/create/matroska/matroska-trackentry.js +249 -0
  108. package/dist/create/matroska/matroska-utils.d.ts +30 -0
  109. package/dist/create/matroska/matroska-utils.js +292 -0
  110. package/dist/create/media-fn.d.ts +32 -0
  111. package/dist/create/progress-tracker.d.ts +9 -0
  112. package/dist/create/progress-tracker.js +67 -0
  113. package/dist/create/timescale.d.ts +1 -0
  114. package/dist/create/timescale.js +4 -0
  115. package/dist/create/wav/create-wav.d.ts +2 -0
  116. package/dist/create/wav/create-wav.js +110 -0
  117. package/dist/create/with-resolvers.d.ts +10 -0
  118. package/dist/create/with-resolvers.js +28 -0
  119. package/dist/esm/buffer.mjs +74 -0
  120. package/dist/esm/index.mjs +2518 -40
  121. package/dist/esm/web-fs.mjs +92 -0
  122. package/dist/from-unix-timestamp.d.ts +1 -0
  123. package/dist/from-unix-timestamp.js +11 -0
  124. package/dist/index.d.ts +1 -0
  125. package/dist/io-manager/io-synchronizer.d.ts +1 -1
  126. package/dist/io-manager/io-synchronizer.js +5 -4
  127. package/dist/io-manager/make-timeout-promise.js +2 -2
  128. package/dist/on-audio-track.d.ts +3 -1
  129. package/dist/on-video-track.d.ts +3 -1
  130. package/dist/select-container-creator.d.ts +1 -1
  131. package/dist/select-container-creator.js +6 -4
  132. package/dist/test/avc1.test.d.ts +1 -0
  133. package/dist/test/avc1.test.js +39 -0
  134. package/dist/test/avcc.test.d.ts +1 -0
  135. package/dist/test/avcc.test.js +15 -0
  136. package/dist/test/cmt.test.d.ts +1 -0
  137. package/dist/test/cmt.test.js +13 -0
  138. package/dist/test/colr.test.d.ts +1 -0
  139. package/dist/test/colr.test.js +16 -0
  140. package/dist/test/create-ftyp.test.d.ts +1 -0
  141. package/dist/test/create-ftyp.test.js +47 -0
  142. package/dist/test/create-matroska.test.d.ts +1 -0
  143. package/dist/test/create-matroska.test.js +101 -0
  144. package/dist/test/create-mvhd.test.d.ts +1 -0
  145. package/dist/test/create-mvhd.test.js +108 -0
  146. package/dist/test/ctts.test.d.ts +1 -0
  147. package/dist/test/ctts.test.js +49 -0
  148. package/dist/test/dinf.test.d.ts +1 -0
  149. package/dist/test/dinf.test.js +12 -0
  150. package/dist/test/ilst.test.d.ts +1 -0
  151. package/dist/test/ilst.test.js +22 -0
  152. package/dist/test/mdhd.test.d.ts +1 -0
  153. package/dist/test/mdhd.test.js +17 -0
  154. package/dist/test/meta.test.d.ts +1 -0
  155. package/dist/test/meta.test.js +26 -0
  156. package/dist/test/mp4a.test.d.ts +1 -0
  157. package/dist/test/mp4a.test.js +24 -0
  158. package/dist/test/pasp.test.d.ts +1 -0
  159. package/dist/test/pasp.test.js +12 -0
  160. package/dist/test/stbl.test.js +166 -0
  161. package/dist/test/stco.test.d.ts +1 -0
  162. package/dist/test/stco.test.js +34 -0
  163. package/dist/test/stsc.test.d.ts +1 -0
  164. package/dist/test/stsc.test.js +63 -0
  165. package/dist/test/stsd.test.d.ts +1 -0
  166. package/dist/test/stsd.test.js +264 -0
  167. package/dist/test/stss.test.d.ts +1 -0
  168. package/dist/test/stss.test.js +14 -0
  169. package/dist/test/stsz.test.d.ts +1 -0
  170. package/dist/test/stsz.test.js +43 -0
  171. package/dist/test/stts.test.d.ts +1 -0
  172. package/dist/test/stts.test.js +12 -0
  173. package/dist/test/tkhd.test.d.ts +1 -0
  174. package/dist/test/tkhd.test.js +175 -0
  175. package/dist/test/too.test.d.ts +1 -0
  176. package/dist/test/too.test.js +12 -0
  177. package/dist/test/url.test.d.ts +1 -0
  178. package/dist/test/url.test.js +11 -0
  179. package/dist/truthy.d.ts +3 -0
  180. package/dist/truthy.js +6 -0
  181. package/dist/video-decoder.d.ts +2 -1
  182. package/dist/video-encoder.d.ts +2 -1
  183. package/dist/writers/buffer-implementation/writer.d.ts +2 -0
  184. package/dist/writers/buffer-implementation/writer.js +54 -0
  185. package/dist/writers/buffer.d.ts +2 -0
  186. package/dist/writers/buffer.js +7 -0
  187. package/dist/writers/web-fs.d.ts +3 -0
  188. package/dist/writers/web-fs.js +75 -0
  189. package/dist/writers/writer.d.ts +15 -0
  190. package/package.json +36 -5
  191. package/dist/get-operation-id.js +0 -1
  192. package/dist/resizing/resizing.d.ts +0 -13
  193. package/dist/resizing.d.ts +0 -13
  194. package/dist/rotate-video-frame.d.ts +0 -9
  195. package/dist/rotate-video-frame.js +0 -53
  196. package/dist/scaling.d.ts +0 -13
  197. /package/dist/{resizing.js → create/make-track-info.js} +0 -0
  198. /package/dist/{resizing/resizing.js → create/media-fn.js} +0 -0
  199. /package/dist/{get-operation-id.d.ts → test/stbl.test.d.ts} +0 -0
  200. /package/dist/{scaling.js → writers/writer.js} +0 -0
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const bun_test_1 = require("bun:test");
4
+ const create_ilst_1 = require("../create/iso-base-media/create-ilst");
5
+ const create_cmt_1 = require("../create/iso-base-media/ilst/create-cmt");
6
+ const create_too_1 = require("../create/iso-base-media/ilst/create-too");
7
+ const reference = new Uint8Array([
8
+ 0x00, 0x00, 0x00, 0x5e, 0x69, 0x6c, 0x73, 0x74, 0x00, 0x00, 0x00, 0x24, 0xa9,
9
+ 0x74, 0x6f, 0x6f, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00,
10
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x61, 0x76, 0x66, 0x36, 0x31, 0x2e,
11
+ 0x37, 0x2e, 0x31, 0x30, 0x30, 0x00, 0x00, 0x00, 0x32, 0xa9, 0x63, 0x6d, 0x74,
12
+ 0x00, 0x00, 0x00, 0x2a, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x01, 0x00,
13
+ 0x00, 0x00, 0x00, 0x4d, 0x61, 0x64, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
14
+ 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x34, 0x2e, 0x30, 0x2e,
15
+ 0x32, 0x32, 0x37,
16
+ ]);
17
+ (0, bun_test_1.test)('ilst', () => {
18
+ (0, bun_test_1.expect)((0, create_ilst_1.createIlst)([
19
+ (0, create_too_1.createToo)('Lavf61.7.100'),
20
+ (0, create_cmt_1.createCmt)('Made with Remotion 4.0.227'),
21
+ ])).toEqual(reference);
22
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const bun_test_1 = require("bun:test");
4
+ const create_mdhd_1 = require("../create/iso-base-media/mdia/create-mdhd");
5
+ const reference = new Uint8Array([
6
+ 0, 0, 0, 32, 109, 100, 104, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 95,
7
+ 144, 1, 238, 98, 128, 85, 196, 0, 0,
8
+ ]);
9
+ (0, bun_test_1.test)('mdhd', () => {
10
+ (0, bun_test_1.expect)(reference.length).toBe(32);
11
+ (0, bun_test_1.expect)((0, create_mdhd_1.createMdhd)({
12
+ creationTime: null,
13
+ modificationTime: null,
14
+ timescale: 90000,
15
+ duration: 360000,
16
+ })).toEqual(reference);
17
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const bun_test_1 = require("bun:test");
4
+ const create_ilst_1 = require("../create/iso-base-media/create-ilst");
5
+ const create_cmt_1 = require("../create/iso-base-media/ilst/create-cmt");
6
+ const create_too_1 = require("../create/iso-base-media/ilst/create-too");
7
+ const create_meta_1 = require("../create/iso-base-media/udta/create-meta");
8
+ const create_hdlr_1 = require("../create/iso-base-media/udta/meta/create-hdlr");
9
+ (0, bun_test_1.test)('meta atom', () => {
10
+ (0, bun_test_1.expect)((0, create_meta_1.createMeta)({
11
+ hdlr: (0, create_hdlr_1.createHdlr)('mdir'),
12
+ ilst: (0, create_ilst_1.createIlst)([
13
+ (0, create_too_1.createToo)('Lavf61.7.100'),
14
+ (0, create_cmt_1.createCmt)('Made with Remotion 4.0.227'),
15
+ ]),
16
+ })).toEqual(new Uint8Array([
17
+ 0, 0, 0, 139, 109, 101, 116, 97, 0, 0, 0, 0, 0, 0, 0, 33, 104, 100, 108,
18
+ 114, 0, 0, 0, 0, 0, 0, 0, 0, 109, 100, 105, 114, 97, 112, 112, 108, 0, 0,
19
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 105, 108, 115, 116, 0, 0, 0, 36, 169,
20
+ 116, 111, 111, 0, 0, 0, 28, 100, 97, 116, 97, 0, 0, 0, 1, 0, 0, 0, 0, 76,
21
+ 97, 118, 102, 54, 49, 46, 55, 46, 49, 48, 48, 0, 0, 0, 50, 169, 99, 109,
22
+ 116, 0, 0, 0, 42, 100, 97, 116, 97, 0, 0, 0, 1, 0, 0, 0, 0, 77, 97, 100,
23
+ 101, 32, 119, 105, 116, 104, 32, 82, 101, 109, 111, 116, 105, 111, 110,
24
+ 32, 52, 46, 48, 46, 50, 50, 55,
25
+ ]));
26
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const bun_test_1 = require("bun:test");
4
+ const mp4a_1 = require("../create/iso-base-media/codec-specific/mp4a");
5
+ const reference = new Uint8Array([
6
+ 0x00, 0x00, 0x00, 87, 0x6d, 0x70, 0x34, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00,
7
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
8
+ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
9
+ 0x33, 0x65, 0x73, 0x64, 0x73, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x80, 0x80,
10
+ 0x22, 0x00, 0x02, 0x00, 0x04, 0x80, 0x80, 0x80, 0x14, 0x40, 0x15, 0x00, 0x00,
11
+ 0x00, 0x00, 0x04, 0xe1, 0xff, 0x00, 0x04, 0xd7, 0xba, 0x05, 0x80, 0x80, 0x80,
12
+ 0x02, 0x11, 0x90, 0x06, 0x80, 0x80, 0x80, 0x01, 0x02,
13
+ ]);
14
+ (0, bun_test_1.test)('mp4a', () => {
15
+ const result = (0, mp4a_1.createMp4a)({
16
+ type: 'mp4a-data',
17
+ channelCount: 2,
18
+ sampleRate: 48000,
19
+ avgBitrate: 317370,
20
+ maxBitrate: 319999,
21
+ codecPrivate: new Uint8Array([17, 144]),
22
+ });
23
+ (0, bun_test_1.expect)(result).toEqual(reference.slice(0, result.length + 7));
24
+ });
@@ -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_pasp_1 = require("../create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp");
5
+ const reference = new Uint8Array([
6
+ 0x00, 0x00, 0x00, 0x10, 0x70, 0x61, 0x73, 0x70, 0x00, 0x00, 0x00, 0x01, 0x00,
7
+ 0x00, 0x00, 0x01,
8
+ ]);
9
+ (0, bun_test_1.test)('pasp box', () => {
10
+ const pasp = (0, create_pasp_1.createPasp)(1, 1);
11
+ (0, bun_test_1.expect)(pasp).toEqual(reference);
12
+ });
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ if (process.platform !== 'win32') {
26
+ // @ts-expect-error
27
+ const { expect, test } = await Promise.resolve().then(() => __importStar(require('bun:test')));
28
+ // @ts-expect-error
29
+ const { createAvc1Data } = await Promise.resolve().then(() => __importStar(require('../create/iso-base-media/codec-specific/avc1')));
30
+ // @ts-expect-error
31
+ const { exampleVideoSamplePositions } = await Promise.resolve().then(() => __importStar(require('../create/iso-base-media/example-stts')));
32
+ // @ts-expect-error
33
+ const { createStbl } = await Promise.resolve().then(() => __importStar(require('../create/iso-base-media/trak/mdia/minf/create-stbl')));
34
+ // @ts-expect-error
35
+ const { createAvccBox } = await Promise.resolve().then(() => __importStar(require('../create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc')));
36
+ // @ts-expect-error
37
+ const { createPasp } = await Promise.resolve().then(() => __importStar(require('../create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp')));
38
+ const sample = new Uint8Array([
39
+ 0, 0, 8, 125, 115, 116, 98, 108, 0, 0, 0, 177, 115, 116, 115, 100, 0, 0, 0,
40
+ 0, 0, 0, 0, 1, 0, 0, 0, 161, 97, 118, 99, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
41
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 128, 1, 104, 0, 72, 0, 0, 0,
42
+ 72, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
43
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 255, 255, 0, 0, 0,
44
+ 59, 97, 118, 99, 67, 1, 100, 0, 30, 255, 225, 0, 30, 103, 100, 0, 30, 172,
45
+ 217, 64, 160, 47, 249, 112, 22, 224, 64, 64, 180, 160, 0, 0, 3, 0, 32, 0, 0,
46
+ 7, 129, 226, 197, 178, 192, 1, 0, 6, 104, 235, 224, 140, 178, 44, 253, 248,
47
+ 248, 0, 0, 0, 0, 16, 112, 97, 115, 112, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 24,
48
+ 115, 116, 116, 115, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 120, 0, 0, 11, 184, 0,
49
+ 0, 0, 40, 115, 116, 115, 115, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0,
50
+ 21, 0, 0, 0, 41, 0, 0, 0, 61, 0, 0, 0, 81, 0, 0, 0, 101, 0, 0, 3, 128, 99,
51
+ 116, 116, 115, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0,
52
+ 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
53
+ 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0,
54
+ 0, 0, 1, 0, 0, 46, 224, 0, 0, 0, 2, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40,
55
+ 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 58,
56
+ 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
57
+ 11, 184, 0, 0, 0, 1, 0, 0, 46, 224, 0, 0, 0, 2, 0, 0, 11, 184, 0, 0, 0, 1,
58
+ 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0,
59
+ 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 3, 0, 0, 23, 112, 0, 0,
60
+ 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 58, 152, 0,
61
+ 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184,
62
+ 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0,
63
+ 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0,
64
+ 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0,
65
+ 0, 11, 184, 0, 0, 0, 2, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0,
66
+ 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0,
67
+ 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0,
68
+ 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 2, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 46,
69
+ 224, 0, 0, 0, 2, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0,
70
+ 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0,
71
+ 0, 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 46, 224, 0, 0, 0,
72
+ 2, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 58, 152, 0,
73
+ 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184,
74
+ 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0,
75
+ 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0,
76
+ 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0,
77
+ 0, 23, 112, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0,
78
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0,
79
+ 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0,
80
+ 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184,
81
+ 0, 0, 0, 2, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 58, 152, 0, 0, 0, 1, 0, 0, 23,
82
+ 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0,
83
+ 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0,
84
+ 0, 58, 152, 0, 0, 0, 1, 0, 0, 23, 112, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
85
+ 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0,
86
+ 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 46, 224, 0, 0,
87
+ 0, 2, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0,
88
+ 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40,
89
+ 0, 0, 0, 1, 0, 0, 11, 184, 0, 0, 0, 1, 0, 0, 35, 40, 0, 0, 0, 1, 0, 0, 11,
90
+ 184, 0, 0, 0, 40, 115, 116, 115, 99, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
91
+ 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 244, 115,
92
+ 116, 115, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 30, 78, 0, 0, 12,
93
+ 118, 0, 0, 6, 88, 0, 0, 3, 102, 0, 0, 2, 226, 0, 0, 11, 254, 0, 0, 3, 26, 0,
94
+ 0, 11, 220, 0, 0, 3, 185, 0, 0, 2, 211, 0, 0, 13, 169, 0, 0, 3, 117, 0, 0,
95
+ 10, 226, 0, 0, 21, 209, 0, 0, 11, 136, 0, 0, 5, 158, 0, 0, 10, 7, 0, 0, 13,
96
+ 159, 0, 0, 10, 129, 0, 0, 6, 243, 0, 0, 54, 116, 0, 0, 15, 32, 0, 0, 5, 204,
97
+ 0, 0, 15, 147, 0, 0, 6, 253, 0, 0, 15, 32, 0, 0, 13, 193, 0, 0, 14, 115, 0,
98
+ 0, 14, 228, 0, 0, 5, 180, 0, 0, 17, 151, 0, 0, 7, 46, 0, 0, 4, 240, 0, 0, 4,
99
+ 176, 0, 0, 13, 68, 0, 0, 9, 26, 0, 0, 4, 70, 0, 0, 4, 175, 0, 0, 7, 72, 0,
100
+ 0, 3, 136, 0, 0, 61, 1, 0, 0, 18, 142, 0, 0, 4, 82, 0, 0, 9, 162, 0, 0, 11,
101
+ 163, 0, 0, 21, 234, 0, 0, 7, 237, 0, 0, 2, 245, 0, 0, 3, 76, 0, 0, 20, 46,
102
+ 0, 0, 5, 116, 0, 0, 3, 49, 0, 0, 4, 116, 0, 0, 9, 119, 0, 0, 9, 53, 0, 0,
103
+ 12, 109, 0, 0, 4, 64, 0, 0, 3, 172, 0, 0, 7, 105, 0, 0, 3, 228, 0, 0, 75,
104
+ 172, 0, 0, 11, 57, 0, 0, 3, 226, 0, 0, 8, 119, 0, 0, 9, 75, 0, 0, 3, 109, 0,
105
+ 0, 2, 156, 0, 0, 5, 241, 0, 0, 7, 155, 0, 0, 3, 111, 0, 0, 2, 28, 0, 0, 2,
106
+ 117, 0, 0, 5, 157, 0, 0, 3, 114, 0, 0, 2, 44, 0, 0, 2, 21, 0, 0, 3, 70, 0,
107
+ 0, 3, 88, 0, 0, 1, 210, 0, 0, 2, 1, 0, 0, 76, 94, 0, 0, 7, 98, 0, 0, 3, 108,
108
+ 0, 0, 1, 236, 0, 0, 2, 81, 0, 0, 6, 121, 0, 0, 3, 157, 0, 0, 2, 128, 0, 0,
109
+ 3, 16, 0, 0, 5, 75, 0, 0, 6, 88, 0, 0, 3, 101, 0, 0, 5, 117, 0, 0, 5, 92, 0,
110
+ 0, 5, 150, 0, 0, 5, 101, 0, 0, 2, 209, 0, 0, 4, 32, 0, 0, 4, 136, 0, 0, 3,
111
+ 172, 0, 0, 77, 246, 0, 0, 9, 144, 0, 0, 4, 2, 0, 0, 2, 39, 0, 0, 1, 144, 0,
112
+ 0, 6, 195, 0, 0, 1, 130, 0, 0, 4, 141, 0, 0, 1, 149, 0, 0, 3, 218, 0, 0, 1,
113
+ 231, 0, 0, 1, 164, 0, 0, 3, 124, 0, 0, 1, 122, 0, 0, 3, 17, 0, 0, 1, 62, 0,
114
+ 0, 2, 117, 0, 0, 1, 45, 0, 0, 4, 199, 0, 0, 2, 48, 0, 0, 1, 232, 115, 116,
115
+ 99, 111, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 22, 167, 0, 0, 78, 95, 0, 0, 88,
116
+ 98, 0, 0, 94, 146, 0, 0, 113, 45, 0, 0, 119, 149, 0, 0, 138, 14, 0, 0, 145,
117
+ 21, 0, 0, 154, 133, 0, 0, 174, 203, 0, 0, 181, 142, 0, 0, 199, 13, 0, 0,
118
+ 224, 44, 0, 0, 242, 81, 0, 0, 251, 61, 0, 1, 11, 225, 0, 1, 28, 206, 0, 1,
119
+ 45, 236, 0, 1, 59, 123, 0, 1, 117, 62, 0, 1, 138, 250, 0, 1, 148, 20, 0, 1,
120
+ 170, 68, 0, 1, 180, 143, 0, 1, 202, 76, 0, 1, 222, 169, 0, 1, 240, 107, 0,
121
+ 2, 5, 235, 0, 2, 14, 238, 0, 2, 39, 33, 0, 2, 49, 158, 0, 2, 61, 42, 0, 2,
122
+ 69, 41, 0, 2, 89, 9, 0, 2, 104, 192, 0, 2, 112, 84, 0, 2, 123, 160, 0, 2,
123
+ 134, 54, 0, 2, 144, 91, 0, 2, 208, 170, 0, 2, 233, 213, 0, 2, 244, 195, 0,
124
+ 3, 1, 179, 0, 3, 19, 243, 0, 3, 45, 43, 0, 3, 59, 181, 0, 3, 65, 248, 0, 3,
125
+ 75, 225, 0, 3, 99, 93, 0, 3, 111, 110, 0, 3, 121, 60, 0, 3, 128, 254, 0, 3,
126
+ 145, 18, 0, 3, 157, 149, 0, 3, 176, 159, 0, 3, 184, 45, 0, 3, 194, 118, 0,
127
+ 3, 208, 123, 0, 3, 215, 174, 0, 4, 41, 246, 0, 4, 56, 126, 0, 4, 66, 252, 0,
128
+ 4, 78, 193, 0, 4, 94, 169, 0, 4, 101, 100, 0, 4, 110, 157, 0, 4, 123, 43, 0,
129
+ 4, 134, 20, 0, 4, 144, 32, 0, 4, 149, 138, 0, 4, 158, 156, 0, 4, 167, 135,
130
+ 0, 4, 177, 150, 0, 4, 186, 94, 0, 4, 191, 194, 0, 4, 201, 164, 0, 4, 208,
131
+ 75, 0, 4, 216, 185, 0, 4, 222, 9, 0, 5, 49, 3, 0, 5, 59, 180, 0, 5, 69, 188,
132
+ 0, 5, 78, 69, 0, 5, 83, 228, 0, 5, 96, 250, 0, 5, 103, 229, 0, 5, 113, 2, 0,
133
+ 5, 119, 96, 0, 5, 131, 72, 0, 5, 144, 60, 0, 5, 150, 240, 0, 5, 163, 1, 0,
134
+ 5, 171, 172, 0, 5, 183, 222, 0, 5, 192, 146, 0, 5, 201, 255, 0, 5, 209, 110,
135
+ 0, 5, 220, 146, 0, 5, 230, 219, 0, 6, 56, 31, 0, 6, 72, 76, 0, 6, 79, 156,
136
+ 0, 6, 88, 96, 0, 6, 93, 62, 0, 6, 106, 158, 0, 6, 114, 188, 0, 6, 122, 152,
137
+ 0, 6, 130, 201, 0, 6, 137, 242, 0, 6, 146, 117, 0, 6, 151, 104, 0, 6, 161,
138
+ 128, 0, 6, 166, 73, 0, 6, 175, 246, 0, 6, 183, 209, 0, 6, 189, 148, 0, 6,
139
+ 197, 94, 0, 6, 205, 115,
140
+ ]);
141
+ test('Create a full stbl atom', () => {
142
+ const privateData = new Uint8Array([
143
+ 0x01, 0x64, 0x00, 0x1e, 0xff, 0xe1, 0x00, 0x1e, 0x67, 0x64, 0x00, 0x1e,
144
+ 0xac, 0xd9, 0x40, 0xa0, 0x2f, 0xf9, 0x70, 0x16, 0xe0, 0x40, 0x40, 0xb4,
145
+ 0xa0, 0x00, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x07, 0x81, 0xe2, 0xc5,
146
+ 0xb2, 0xc0, 0x01, 0x00, 0x06, 0x68, 0xeb, 0xe0, 0x8c, 0xb2, 0x2c, 0xfd,
147
+ 0xf8, 0xf8, 0x00,
148
+ ]);
149
+ const result = createStbl({
150
+ samplePositions: exampleVideoSamplePositions,
151
+ codecSpecificData: createAvc1Data({
152
+ pasp: createPasp(1, 1),
153
+ avccBox: createAvccBox(privateData),
154
+ width: 640,
155
+ height: 360,
156
+ horizontalResolution: 72,
157
+ verticalResolution: 72,
158
+ compressorName: '',
159
+ depth: 24,
160
+ type: 'avc1-data',
161
+ }),
162
+ isVideo: true,
163
+ });
164
+ expect(result).toEqual(sample);
165
+ });
166
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
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_stco_1 = require("../create/iso-base-media/trak/mdia/minf/stbl/create-stco");
6
+ const reference = new Uint8Array([
7
+ 0, 0, 1, 232, 115, 116, 99, 111, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 71, 195, 0,
8
+ 0, 81, 197, 0, 0, 91, 68, 0, 0, 106, 144, 0, 0, 116, 71, 0, 0, 131, 113, 0, 0,
9
+ 141, 199, 0, 0, 147, 232, 0, 0, 168, 46, 0, 0, 178, 64, 0, 0, 192, 112, 0, 0,
10
+ 220, 222, 0, 0, 235, 180, 0, 0, 247, 239, 0, 1, 5, 68, 0, 1, 25, 128, 0, 1,
11
+ 39, 79, 0, 1, 52, 223, 0, 1, 113, 239, 0, 1, 132, 94, 0, 1, 144, 198, 0, 1,
12
+ 163, 167, 0, 1, 177, 65, 0, 1, 195, 175, 0, 1, 216, 13, 0, 1, 237, 28, 0, 1,
13
+ 255, 79, 0, 2, 11, 159, 0, 2, 32, 133, 0, 2, 46, 79, 0, 2, 54, 142, 0, 2, 65,
14
+ 218, 0, 2, 82, 109, 0, 2, 98, 35, 0, 2, 109, 6, 0, 2, 117, 3, 0, 2, 130, 232,
15
+ 0, 2, 137, 190, 0, 2, 205, 92, 0, 2, 227, 56, 0, 2, 238, 39, 0, 2, 254, 101,
16
+ 0, 3, 13, 86, 0, 3, 41, 221, 0, 3, 53, 24, 0, 3, 62, 170, 0, 3, 69, 68, 0, 3,
17
+ 96, 15, 0, 3, 104, 209, 0, 3, 114, 159, 0, 3, 125, 176, 0, 3, 138, 117, 0, 3,
18
+ 154, 71, 0, 3, 170, 2, 0, 3, 180, 223, 0, 3, 187, 217, 0, 3, 201, 223, 0, 3,
19
+ 212, 95, 0, 4, 35, 90, 0, 4, 53, 47, 0, 4, 60, 96, 0, 4, 75, 115, 0, 4, 88,
20
+ 12, 0, 4, 98, 22, 0, 4, 104, 0, 0, 4, 116, 142, 0, 4, 130, 198, 0, 4, 137,
21
+ 131, 0, 4, 146, 60, 0, 4, 151, 255, 0, 4, 164, 57, 0, 4, 170, 249, 0, 4, 179,
22
+ 194, 0, 4, 188, 115, 0, 4, 195, 8, 0, 4, 204, 252, 0, 4, 210, 29, 0, 4, 218,
23
+ 186, 0, 5, 42, 103, 0, 5, 56, 101, 0, 5, 63, 32, 0, 5, 71, 168, 0, 5, 80, 150,
24
+ 0, 5, 90, 93, 0, 5, 100, 151, 0, 5, 106, 101, 0, 5, 116, 18, 0, 5, 124, 171,
25
+ 0, 5, 137, 160, 0, 5, 147, 161, 0, 5, 156, 101, 0, 5, 168, 93, 0, 5, 177, 66,
26
+ 0, 5, 189, 67, 0, 5, 195, 99, 0, 5, 206, 31, 0, 5, 213, 246, 0, 5, 224, 62, 0,
27
+ 6, 52, 209, 0, 6, 65, 175, 0, 6, 76, 78, 0, 6, 81, 195, 0, 6, 89, 240, 0, 6,
28
+ 100, 1, 0, 6, 108, 32, 0, 6, 119, 73, 0, 6, 124, 45, 0, 6, 134, 163, 0, 6,
29
+ 139, 217, 0, 6, 148, 25, 0, 6, 154, 228, 0, 6, 162, 250, 0, 6, 169, 90, 0, 6,
30
+ 177, 52, 0, 6, 186, 70, 0, 6, 190, 193, 0, 6, 202, 37, 0, 6, 207, 163,
31
+ ]);
32
+ (0, bun_test_1.test)('stco', () => {
33
+ (0, bun_test_1.expect)((0, create_stco_1.createStcoAtom)(example_stts_1.exampleAudioSamplePositions)).toEqual(reference);
34
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const reference = new Uint8Array([
4
+ 0, 0, 4, 228, 115, 116, 115, 99, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
5
+ 0, 2, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 2,
6
+ 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0,
7
+ 0, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 1,
8
+ 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0,
9
+ 0, 11, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 12, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,
10
+ 13, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 15,
11
+ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 18, 0,
12
+ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 20, 0, 0,
13
+ 0, 1, 0, 0, 0, 1, 0, 0, 0, 21, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 22, 0, 0, 0,
14
+ 1, 0, 0, 0, 1, 0, 0, 0, 23, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 1,
15
+ 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 27, 0, 0, 0, 1, 0,
16
+ 0, 0, 1, 0, 0, 0, 28, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0,
17
+ 0, 1, 0, 0, 0, 30, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
18
+ 1, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 1,
19
+ 0, 0, 0, 35, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0, 1, 0,
20
+ 0, 0, 37, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 38, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
21
+ 0, 39, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 41, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
22
+ 42, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 43, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 44,
23
+ 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 45, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 46, 0,
24
+ 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 47, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 48, 0, 0,
25
+ 0, 2, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 51, 0, 0, 0,
26
+ 2, 0, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0, 2,
27
+ 0, 0, 0, 1, 0, 0, 0, 54, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 55, 0, 0, 0, 2, 0,
28
+ 0, 0, 1, 0, 0, 0, 57, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 58, 0, 0, 0, 2, 0, 0,
29
+ 0, 1, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 2, 0, 0, 0,
30
+ 1, 0, 0, 0, 61, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 62, 0, 0, 0, 2, 0, 0, 0, 1,
31
+ 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 1, 0,
32
+ 0, 0, 66, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 67, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0,
33
+ 0, 68, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,
34
+ 70, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 71, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 73,
35
+ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 74, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 75, 0,
36
+ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 76, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 77, 0, 0,
37
+ 0, 1, 0, 0, 0, 1, 0, 0, 0, 78, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 79, 0, 0, 0,
38
+ 1, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 82, 0, 0, 0, 1,
39
+ 0, 0, 0, 1, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 84, 0, 0, 0, 1, 0,
40
+ 0, 0, 1, 0, 0, 0, 85, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 86, 0, 0, 0, 1, 0, 0,
41
+ 0, 1, 0, 0, 0, 87, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 89, 0, 0, 0, 1, 0, 0, 0,
42
+ 1, 0, 0, 0, 90, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 91, 0, 0, 0, 1, 0, 0, 0, 1,
43
+ 0, 0, 0, 92, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 93, 0, 0, 0, 1, 0, 0, 0, 1, 0,
44
+ 0, 0, 94, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 95, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
45
+ 0, 96, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 98, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
46
+ 99, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 100, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
47
+ 101, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 102, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
48
+ 103, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 105, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
49
+ 106, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 107, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
50
+ 108, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 109, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
51
+ 110, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 111, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
52
+ 112, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 114, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
53
+ 115, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 116, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
54
+ 117, 0, 0, 0, 7, 0, 0, 0, 1,
55
+ ]);
56
+ const bun_test_1 = require("bun:test");
57
+ const example_stts_1 = require("../create/iso-base-media/example-stts");
58
+ const create_stsc_1 = require("../create/iso-base-media/trak/mdia/minf/stbl/create-stsc");
59
+ (0, bun_test_1.test)('stsc', () => {
60
+ (0, bun_test_1.expect)(reference.byteLength).toBe(1252);
61
+ const result = (0, create_stsc_1.createStsc)(example_stts_1.exampleAudioSamplePositions);
62
+ (0, bun_test_1.expect)(result).toEqual(reference);
63
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,264 @@
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
+ (0, bun_test_1.test)('Should be able to parse a STSD audio box correctly', async () => {
6
+ const buffer = Uint8Array.from([
7
+ // box size
8
+ 0, 0, 0, 159,
9
+ // data format "stsd"
10
+ 115, 116, 115, 100,
11
+ // reserved
12
+ 0, 0, 0, 0, 0, 0,
13
+ // number of entries
14
+ 0, 1,
15
+ // size
16
+ 0, 0, 0, 143,
17
+ // "mp4a"
18
+ 109, 112, 52, 97,
19
+ // reserved
20
+ 0, 0, 0, 0, 0, 0,
21
+ // data reference index
22
+ 0, 1,
23
+ // version
24
+ 0, 1,
25
+ // revision level
26
+ 0, 0, 0, 0, 0, 0,
27
+ // revision level
28
+ 0, 2, 0, 16, 255, 254, 0, 0, 172, 68, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0,
29
+ 2, 0, 0, 0, 2, 0, 0, 0, 91, 119, 97, 118, 101, 0, 0, 0, 12, 102, 114, 109,
30
+ 97, 109, 112, 52, 97, 0, 0, 0, 12, 109, 112, 52, 97, 0, 0, 0, 0, 0, 0, 0,
31
+ 51, 101, 115, 100, 115, 0, 0, 0, 0, 3, 128, 128, 128, 34, 0, 0, 0, 4, 128,
32
+ 128, 128, 20, 64, 20, 0, 24, 0, 0, 2, 238, 0, 0, 0, 0, 0, 5, 128, 128, 128,
33
+ 2, 18, 16, 6, 128, 128, 128, 1, 2, 0, 0, 0, 8, 0, 0, 0, 0,
34
+ ]);
35
+ const iterator = media_parser_1.MediaParserInternals.getArrayBufferIterator(buffer, null);
36
+ iterator.discard(8);
37
+ const parsed = await media_parser_1.MediaParserInternals.parseStsd({
38
+ iterator,
39
+ offset: 0,
40
+ size: 159,
41
+ state: media_parser_1.MediaParserInternals.makeParserState({
42
+ onAudioTrack: null,
43
+ onVideoTrack: () => () => undefined,
44
+ hasAudioTrackHandlers: true,
45
+ hasVideoTrackHandlers: true,
46
+ signal: undefined,
47
+ getIterator: () => null,
48
+ fields: {},
49
+ supportsContentRange: true,
50
+ }),
51
+ signal: null,
52
+ fields: {},
53
+ });
54
+ (0, bun_test_1.expect)(parsed).toEqual({
55
+ offset: 0,
56
+ boxSize: 159,
57
+ type: 'stsd-box',
58
+ numberOfEntries: 1,
59
+ samples: [
60
+ {
61
+ size: 143,
62
+ offset: 16,
63
+ format: 'mp4a',
64
+ dataReferenceIndex: 1,
65
+ version: 1,
66
+ revisionLevel: 0,
67
+ vendor: [0, 0, 0, 0],
68
+ numberOfChannels: 2,
69
+ type: 'audio',
70
+ sampleSize: 16,
71
+ compressionId: -2,
72
+ packetSize: 0,
73
+ samplesPerPacket: 1024,
74
+ bitsPerSample: 2,
75
+ bytesPerFrame: 2,
76
+ bytesPerPacket: 1,
77
+ sampleRate: 44100,
78
+ children: [
79
+ {
80
+ boxSize: 91,
81
+ boxType: 'wave',
82
+ children: [
83
+ {
84
+ boxSize: 12,
85
+ boxType: 'frma',
86
+ children: [],
87
+ offset: 76,
88
+ type: 'regular-box',
89
+ },
90
+ {
91
+ boxSize: 12,
92
+ boxType: 'mp4a',
93
+ children: [],
94
+ offset: 88,
95
+ type: 'regular-box',
96
+ },
97
+ {
98
+ descriptors: [
99
+ {
100
+ objectTypeIndication: 'aac',
101
+ type: 'decoder-config-descriptor',
102
+ asNumber: 64,
103
+ avgBitrate: 0,
104
+ bufferSizeDB: 6144,
105
+ maxBitrate: 192000,
106
+ streamType: 5,
107
+ decoderSpecificConfigs: [
108
+ {
109
+ audioObjectType: 2,
110
+ channelConfiguration: 2,
111
+ samplingFrequencyIndex: 4,
112
+ type: 'mp4a-specific-config',
113
+ asBytes: new Uint8Array([18, 16]),
114
+ },
115
+ ],
116
+ upStream: 0,
117
+ },
118
+ {
119
+ type: 'sl-config-descriptor',
120
+ },
121
+ ],
122
+ esId: 0,
123
+ sizeOfInstance: 34,
124
+ tag: 3,
125
+ type: 'esds-box',
126
+ version: 0,
127
+ },
128
+ {
129
+ boxSize: 8,
130
+ boxType: '\u0000\u0000\u0000\u0000',
131
+ children: [],
132
+ offset: 151,
133
+ type: 'regular-box',
134
+ },
135
+ ],
136
+ offset: 68,
137
+ type: 'regular-box',
138
+ },
139
+ ],
140
+ },
141
+ ],
142
+ });
143
+ });
144
+ (0, bun_test_1.test)('Should be able to parse a STSD video box correctly', async () => {
145
+ const buffer = Uint8Array.from([
146
+ // box size
147
+ 0, 0, 0, 158,
148
+ // data format "avc1"
149
+ 97, 118, 99, 49,
150
+ // padding
151
+ 0, 0, 0, 0, 0, 0,
152
+ // data reference index
153
+ 0, 1,
154
+ // version
155
+ 0, 0,
156
+ // revision level
157
+ 0, 0,
158
+ // vendor
159
+ 0, 0, 0, 0,
160
+ // temporal quality
161
+ 0, 0, 0, 0,
162
+ // spatial quality
163
+ 0, 0, 0, 0,
164
+ // width
165
+ 4, 56,
166
+ // height
167
+ 4, 56,
168
+ // horiz resolution
169
+ 0, 72, 0, 0,
170
+ // vert resolution
171
+ 0, 72, 0, 0,
172
+ // frame count
173
+ 0, 0,
174
+ // compressor name
175
+ // 0
176
+ 0, 0, 0, 1,
177
+ // 1
178
+ 0, 0, 0, 0,
179
+ // 2
180
+ 0, 0, 0, 0,
181
+ // 3
182
+ 0, 0, 0, 0,
183
+ // 4
184
+ 0, 0, 0, 0,
185
+ // 5
186
+ 0, 0, 0, 0,
187
+ // 6
188
+ 0, 0, 0, 0,
189
+ // 7
190
+ 0, 0, 0, 0,
191
+ // 8
192
+ 0, 0, 0, 0,
193
+ // depth
194
+ 0, 24,
195
+ // color space
196
+ 255, 255,
197
+ // avcC info (not parsed)
198
+ 0, 0, 0, 56, 97, 118, 99, 67, 1, 100, 0, 32, 255, 225, 0, 27, 103, 100, 0,
199
+ 32, 172, 217, 64, 68, 2, 39, 150, 92, 4, 64, 0, 0, 3, 0, 64, 0, 0, 12, 3,
200
+ 198, 12, 101, 128, 1, 0, 6, 104, 235, 224, 140, 178, 44, 253, 248, 248, 0,
201
+ // pasp
202
+ 0, 0, 0, 16, 112, 97, 115, 112, 0, 0, 0, 1, 0, 0, 0, 1,
203
+ ]);
204
+ const parsed = await media_parser_1.MediaParserInternals.processSample({
205
+ iterator: media_parser_1.MediaParserInternals.getArrayBufferIterator(buffer, null),
206
+ state: media_parser_1.MediaParserInternals.makeParserState({
207
+ onAudioTrack: null,
208
+ onVideoTrack: () => () => undefined,
209
+ hasAudioTrackHandlers: true,
210
+ hasVideoTrackHandlers: true,
211
+ signal: undefined,
212
+ getIterator: () => null,
213
+ fields: {
214
+ structure: true,
215
+ },
216
+ supportsContentRange: true,
217
+ }),
218
+ signal: null,
219
+ logLevel: 'info',
220
+ fields: {},
221
+ });
222
+ (0, bun_test_1.expect)(parsed.sample).toEqual({
223
+ size: 158,
224
+ format: 'avc1',
225
+ dataReferenceIndex: 1,
226
+ version: 0,
227
+ revisionLevel: 0,
228
+ vendor: [0, 0, 0, 0],
229
+ type: 'video',
230
+ temporalQuality: 0,
231
+ spacialQuality: 0,
232
+ width: 1080,
233
+ height: 1080,
234
+ horizontalResolutionPpi: 72,
235
+ verticalResolutionPpi: 72,
236
+ dataSize: 0,
237
+ frameCountPerSample: 1,
238
+ compressorName: [
239
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
240
+ 0, 0, 0, 0, 0, 0, 0,
241
+ ],
242
+ offset: 0,
243
+ depth: 24,
244
+ colorTableId: -1,
245
+ descriptors: [
246
+ {
247
+ privateData: new Uint8Array([
248
+ 1, 100, 0, 32, 255, 225, 0, 27, 103, 100, 0, 32, 172, 217, 64, 68, 2,
249
+ 39, 150, 92, 4, 64, 0, 0, 3, 0, 64, 0, 0, 12, 3, 198, 12, 101, 128, 1,
250
+ 0, 6, 104, 235, 224, 140, 178, 44, 253, 248, 248, 0,
251
+ ]),
252
+ type: 'avcc-box',
253
+ configurationString: '640020',
254
+ },
255
+ {
256
+ boxSize: 16,
257
+ offset: 142,
258
+ type: 'pasp-box',
259
+ hSpacing: 1,
260
+ vSpacing: 1,
261
+ },
262
+ ],
263
+ });
264
+ });
@@ -0,0 +1 @@
1
+ export {};