@remotion/media-parser 4.0.201 → 4.0.204

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 (144) hide show
  1. package/dist/av1-codec-string.d.ts +0 -5
  2. package/dist/av1-codec-string.js +1 -18
  3. package/dist/boxes/iso-base-media/ftype.d.ts +9 -0
  4. package/dist/boxes/iso-base-media/ftype.js +31 -0
  5. package/dist/boxes/iso-base-media/get-sample-positions-from-track.d.ts +4 -0
  6. package/dist/boxes/iso-base-media/get-sample-positions-from-track.js +48 -0
  7. package/dist/boxes/iso-base-media/mvhd.js +2 -2
  8. package/dist/boxes/iso-base-media/stsd/keys.js +1 -1
  9. package/dist/boxes/iso-base-media/tfdt.d.ts +12 -0
  10. package/dist/boxes/iso-base-media/tfdt.js +20 -0
  11. package/dist/boxes/iso-base-media/tfhd.d.ts +16 -0
  12. package/dist/boxes/iso-base-media/tfhd.js +41 -0
  13. package/dist/boxes/iso-base-media/trun.d.ts +21 -0
  14. package/dist/boxes/iso-base-media/trun.js +44 -0
  15. package/dist/boxes/webm/av1-codec-private.js +1 -1
  16. package/dist/boxes/webm/bitstream/av1.js +1 -10
  17. package/dist/boxes/webm/description.d.ts +2 -2
  18. package/dist/boxes/webm/description.js +2 -2
  19. package/dist/boxes/webm/ebml.d.ts +2 -2
  20. package/dist/boxes/webm/ebml.js +23 -1
  21. package/dist/boxes/webm/get-ready-tracks.d.ts +1 -1
  22. package/dist/boxes/webm/get-ready-tracks.js +3 -3
  23. package/dist/boxes/webm/get-sample-from-block.d.ts +17 -0
  24. package/dist/boxes/webm/get-sample-from-block.js +78 -0
  25. package/dist/boxes/webm/get-track.d.ts +2 -2
  26. package/dist/boxes/webm/get-track.js +26 -25
  27. package/dist/boxes/webm/make-header.d.ts +3 -8
  28. package/dist/boxes/webm/make-header.js +43 -20
  29. package/dist/boxes/webm/parse-ebml.d.ts +9 -4
  30. package/dist/boxes/webm/parse-ebml.js +122 -13
  31. package/dist/boxes/webm/segments/all-segments.d.ts +421 -107
  32. package/dist/boxes/webm/segments/all-segments.js +260 -33
  33. package/dist/boxes/webm/segments/track-entry.d.ts +3 -191
  34. package/dist/boxes/webm/segments/track-entry.js +2 -456
  35. package/dist/boxes/webm/segments.d.ts +3 -16
  36. package/dist/boxes/webm/segments.js +12 -196
  37. package/dist/boxes/webm/tracks.d.ts +8 -0
  38. package/dist/boxes/webm/tracks.js +21 -0
  39. package/dist/boxes/webm/traversal.d.ts +5 -6
  40. package/dist/boxes/webm/traversal.js +6 -6
  41. package/dist/buffer-iterator.d.ts +1 -1
  42. package/dist/buffer-iterator.js +3 -3
  43. package/dist/from-web.js +6 -15
  44. package/dist/get-audio-codec.d.ts +1 -1
  45. package/dist/get-audio-codec.js +13 -13
  46. package/dist/get-duration.js +12 -14
  47. package/dist/get-tracks.js +2 -2
  48. package/dist/get-video-codec.js +13 -13
  49. package/dist/get-video-metadata.d.ts +2 -0
  50. package/dist/get-video-metadata.js +44 -0
  51. package/dist/parse-media.js +4 -1
  52. package/dist/parser-context.d.ts +1 -0
  53. package/dist/parser-state.js +3 -2
  54. package/dist/read-and-increment-offset.d.ts +28 -0
  55. package/dist/read-and-increment-offset.js +177 -0
  56. package/dist/samples-from-moof.d.ts +6 -0
  57. package/dist/samples-from-moof.js +74 -0
  58. package/dist/traversal.d.ts +19 -17
  59. package/dist/traversal.js +38 -39
  60. package/dist/understand-vorbis.d.ts +1 -0
  61. package/dist/understand-vorbis.js +12 -0
  62. package/input.webm +0 -0
  63. package/package.json +2 -2
  64. package/src/boxes/iso-base-media/get-sample-positions-from-track.ts +69 -0
  65. package/src/boxes/iso-base-media/make-track.ts +4 -45
  66. package/src/boxes/iso-base-media/mdat/mdat.ts +33 -24
  67. package/src/boxes/iso-base-media/mdhd.ts +10 -7
  68. package/src/boxes/iso-base-media/mvhd.ts +17 -16
  69. package/src/boxes/iso-base-media/process-box.ts +42 -0
  70. package/src/boxes/iso-base-media/stsd/keys.ts +1 -1
  71. package/src/boxes/iso-base-media/tfdt.ts +37 -0
  72. package/src/boxes/iso-base-media/tfhd.ts +66 -0
  73. package/src/boxes/iso-base-media/tkhd.ts +11 -13
  74. package/src/boxes/iso-base-media/trun.ts +74 -0
  75. package/src/boxes/webm/av1-codec-private.ts +1 -1
  76. package/src/boxes/webm/description.ts +7 -4
  77. package/src/boxes/webm/ebml.ts +24 -4
  78. package/src/boxes/webm/get-ready-tracks.ts +4 -4
  79. package/src/boxes/webm/get-sample-from-block.ts +125 -0
  80. package/src/boxes/webm/get-track.ts +40 -33
  81. package/src/boxes/webm/make-header.ts +58 -51
  82. package/src/boxes/webm/parse-ebml.ts +170 -16
  83. package/src/boxes/webm/segments/all-segments.ts +379 -62
  84. package/src/boxes/webm/segments/track-entry.ts +3 -846
  85. package/src/boxes/webm/segments.ts +18 -410
  86. package/src/boxes/webm/traversal.ts +17 -17
  87. package/src/buffer-iterator.ts +8 -6
  88. package/src/get-audio-codec.ts +14 -16
  89. package/src/get-duration.ts +55 -21
  90. package/src/get-tracks.ts +6 -6
  91. package/src/get-video-codec.ts +13 -15
  92. package/src/has-all-info.ts +1 -1
  93. package/src/parse-media.ts +7 -2
  94. package/src/parse-result.ts +7 -1
  95. package/src/parser-context.ts +1 -0
  96. package/src/parser-state.ts +2 -2
  97. package/src/samples-from-moof.ts +101 -0
  98. package/src/test/create-matroska.test.ts +237 -23
  99. package/src/test/matroska.test.ts +283 -348
  100. package/src/test/mvhd.test.ts +1 -1
  101. package/src/test/parse-esds.test.ts +2 -2
  102. package/src/test/parse-stco.test.ts +2 -2
  103. package/src/test/parse-stsc.test.ts +2 -2
  104. package/src/test/parse-stsz.test.ts +2 -2
  105. package/src/test/parse-stts.test.ts +1 -1
  106. package/src/test/samples-from-moof.test.ts +2496 -0
  107. package/src/test/stream-local.test.ts +28 -30
  108. package/src/test/stream-samples.test.ts +153 -231
  109. package/src/test/stsd.test.ts +4 -2
  110. package/src/test/tkhd.test.ts +1 -1
  111. package/src/traversal.ts +118 -86
  112. package/tsconfig.tsbuildinfo +1 -1
  113. package/dist/bitstream/av1.d.ts +0 -2
  114. package/dist/bitstream/av1.js +0 -12
  115. package/dist/boxes/iso-base-media/avcc-hvcc.d.ts +0 -20
  116. package/dist/boxes/iso-base-media/avcc-hvcc.js +0 -73
  117. package/dist/boxes/iso-base-media/avcc.d.ts +0 -18
  118. package/dist/boxes/iso-base-media/avcc.js +0 -27
  119. package/dist/boxes/iso-base-media/esds-descriptors.d.ts +0 -21
  120. package/dist/boxes/iso-base-media/esds-descriptors.js +0 -62
  121. package/dist/boxes/iso-base-media/esds.d.ts +0 -15
  122. package/dist/boxes/iso-base-media/esds.js +0 -27
  123. package/dist/from-input-type-file.d.ts +0 -2
  124. package/dist/from-input-type-file.js +0 -37
  125. package/dist/get-codec.d.ts +0 -4
  126. package/dist/get-codec.js +0 -22
  127. package/dist/web-file.d.ts +0 -2
  128. package/dist/web-file.js +0 -37
  129. package/src/boxes/webm/segments/duration.ts +0 -29
  130. package/src/boxes/webm/segments/info.ts +0 -34
  131. package/src/boxes/webm/segments/main.ts +0 -6
  132. package/src/boxes/webm/segments/muxing.ts +0 -18
  133. package/src/boxes/webm/segments/seek-head.ts +0 -34
  134. package/src/boxes/webm/segments/seek-position.ts +0 -18
  135. package/src/boxes/webm/segments/seek.ts +0 -55
  136. package/src/boxes/webm/segments/timestamp-scale.ts +0 -17
  137. package/src/boxes/webm/segments/tracks.ts +0 -32
  138. package/src/boxes/webm/segments/void.ts +0 -18
  139. package/src/boxes/webm/segments/writing.ts +0 -18
  140. package/src/combine-uint8array.ts +0 -13
  141. /package/dist/{get-samples.d.ts → boxes/webm/bitstream/av1/frame.d.ts} +0 -0
  142. /package/dist/{get-samples.js → boxes/webm/bitstream/av1/frame.js} +0 -0
  143. /package/dist/{sample-aspect-ratio.d.ts → boxes/webm/bitstream/h264/get-h264-descriptor.d.ts} +0 -0
  144. /package/dist/{sample-aspect-ratio.js → boxes/webm/bitstream/h264/get-h264-descriptor.js} +0 -0
@@ -138,7 +138,6 @@ test('Should stream AV1', async () => {
138
138
  denominator: 1,
139
139
  numerator: 1,
140
140
  },
141
- samplePositions: [],
142
141
  timescale: 1000000,
143
142
  trackId: 1,
144
143
  codedHeight: 1080,
@@ -148,6 +147,7 @@ test('Should stream AV1', async () => {
148
147
  displayAspectHeight: 1080,
149
148
  displayAspectWidth: 1920,
150
149
  rotation: 0,
150
+ trakBox: null,
151
151
  });
152
152
  expect(parsed.audioTracks.length).toBe(0);
153
153
  expect(videoTracks).toBe(1);
@@ -263,12 +263,12 @@ test('Should stream variable fps video', async () => {
263
263
  boxes: true,
264
264
  },
265
265
  reader: nodeReader,
266
- onAudioTrack: (track) => {
267
- expect(track.type).toBe('audio');
268
- expect(track.trackId).toBe(1);
269
- expect(track.codec).toBe('opus');
270
- expect(track.numberOfChannels).toBe(1);
271
- expect(track.sampleRate).toBe(48000);
266
+ onAudioTrack: (track_) => {
267
+ expect(track_.type).toBe('audio');
268
+ expect(track_.trackId).toBe(1);
269
+ expect(track_.codec).toBe('opus');
270
+ expect(track_.numberOfChannels).toBe(1);
271
+ expect(track_.sampleRate).toBe(48000);
272
272
  audioTracks++;
273
273
  return () => {
274
274
  samples++;
@@ -293,7 +293,6 @@ test('Should stream variable fps video', async () => {
293
293
  denominator: 1,
294
294
  numerator: 1,
295
295
  },
296
- samplePositions: [],
297
296
  timescale: 1000000,
298
297
  trackId: 2,
299
298
  codedHeight: 720,
@@ -303,17 +302,18 @@ test('Should stream variable fps video', async () => {
303
302
  displayAspectHeight: 720,
304
303
  displayAspectWidth: 1280,
305
304
  rotation: 0,
305
+ trakBox: null,
306
306
  });
307
307
  expect(parsed.audioTracks.length).toBe(1);
308
308
  expect(parsed.audioTracks[0]).toEqual({
309
309
  type: 'audio',
310
310
  codec: 'opus',
311
- samplePositions: null,
312
311
  timescale: 1000000,
313
312
  trackId: 1,
314
313
  numberOfChannels: 1,
315
314
  sampleRate: 48000,
316
315
  description: undefined,
316
+ trakBox: null,
317
317
  });
318
318
  expect(audioTracks).toBe(1);
319
319
  expect(samples).toBe(381);
@@ -574,27 +574,25 @@ test('Stretched VP8', async () => {
574
574
  reader: nodeReader,
575
575
  });
576
576
 
577
- expect(videoTracks).toEqual([
578
- {
579
- codec: 'vp8',
580
- codedHeight: 1080,
581
- codedWidth: 1440,
582
- description: undefined,
583
- height: 1080,
584
- sampleAspectRatio: {
585
- denominator: 1,
586
- numerator: 1,
587
- },
588
- samplePositions: [],
589
- timescale: 1000000,
590
- trackId: 1,
591
- type: 'video',
592
- width: 1920,
593
- displayAspectHeight: 1080,
594
- displayAspectWidth: 1920,
595
- rotation: 0,
596
- },
597
- ]);
577
+ const {trakBox, ...track} = videoTracks[0];
578
+ expect(track).toEqual({
579
+ codec: 'vp8',
580
+ codedHeight: 1080,
581
+ codedWidth: 1440,
582
+ description: undefined,
583
+ height: 1080,
584
+ sampleAspectRatio: {
585
+ denominator: 1,
586
+ numerator: 1,
587
+ },
588
+ timescale: 1000000,
589
+ trackId: 1,
590
+ type: 'video',
591
+ width: 1920,
592
+ displayAspectHeight: 1080,
593
+ displayAspectWidth: 1920,
594
+ rotation: 0,
595
+ });
598
596
  });
599
597
 
600
598
  test('HEVC and AAC in Matroska', async () => {
@@ -1,5 +1,7 @@
1
1
  import {RenderInternals} from '@remotion/renderer';
2
2
  import {expect, test} from 'bun:test';
3
+ import {getSamplePositionsFromTrack} from '../boxes/iso-base-media/get-sample-positions-from-track';
4
+ import type {TrakBox} from '../boxes/iso-base-media/trak/trak';
3
5
  import {nodeReader} from '../from-node';
4
6
  import {parseMedia} from '../parse-media';
5
7
 
@@ -20,240 +22,160 @@ test('Stream samples', async () => {
20
22
  140, 176, 1, 0, 6, 104, 235, 224, 140, 178, 44, 253, 248, 248, 0,
21
23
  ]);
22
24
 
23
- expect(videoTracks).toEqual([
24
- {
25
- type: 'video',
26
- trackId: 1,
27
- samplePositions: [
28
- {
29
- offset: 1637,
30
- size: 4834,
31
- isKeyframe: true,
32
- dts: 0,
33
- duration: 512,
34
- cts: 1024,
35
- },
36
- {
37
- offset: 6471,
38
- size: 437,
39
- isKeyframe: false,
40
- dts: 512,
41
- duration: 512,
42
- cts: 1536,
43
- },
44
- {
45
- offset: 7868,
46
- size: 698,
47
- isKeyframe: false,
48
- dts: 1024,
49
- duration: 512,
50
- cts: 2048,
51
- },
52
- {
53
- offset: 10486,
54
- size: 595,
55
- isKeyframe: false,
56
- dts: 1536,
57
- duration: 512,
58
- cts: 2560,
59
- },
60
- {
61
- offset: 12041,
62
- size: 548,
63
- isKeyframe: false,
64
- dts: 2048,
65
- duration: 512,
66
- cts: 3072,
67
- },
68
- {
69
- offset: 14509,
70
- size: 611,
71
- isKeyframe: false,
72
- dts: 2560,
73
- duration: 512,
74
- cts: 3584,
75
- },
76
- {
77
- offset: 16080,
78
- size: 701,
79
- isKeyframe: false,
80
- dts: 3072,
81
- duration: 512,
82
- cts: 4096,
83
- },
84
- {
85
- offset: 17741,
86
- size: 535,
87
- isKeyframe: false,
88
- dts: 3584,
89
- duration: 512,
90
- cts: 4608,
91
- },
92
- {
93
- offset: 20196,
94
- size: 776,
95
- isKeyframe: false,
96
- dts: 4096,
97
- duration: 512,
98
- cts: 5120,
99
- },
100
- {
101
- offset: 21932,
102
- size: 586,
103
- isKeyframe: false,
104
- dts: 4608,
105
- duration: 512,
106
- cts: 5632,
107
- },
108
- ],
109
- description,
110
- timescale: 15360,
111
- codec: 'avc1.640020',
112
- sampleAspectRatio: {
113
- numerator: 1,
114
- denominator: 1,
115
- },
116
- width: 1080,
117
- height: 1080,
118
- codedWidth: 1080,
119
- codedHeight: 1080,
120
- displayAspectHeight: 1080,
121
- displayAspectWidth: 1080,
122
- rotation: 0,
25
+ const {trakBox, ...trackInfo} = videoTracks[0];
26
+ expect(trackInfo).toEqual({
27
+ type: 'video',
28
+ trackId: 1,
29
+ description,
30
+ timescale: 15360,
31
+ codec: 'avc1.640020',
32
+ sampleAspectRatio: {
33
+ numerator: 1,
34
+ denominator: 1,
123
35
  },
124
- ]);
36
+ width: 1080,
37
+ height: 1080,
38
+ codedWidth: 1080,
39
+ codedHeight: 1080,
40
+ displayAspectHeight: 1080,
41
+ displayAspectWidth: 1080,
42
+ rotation: 0,
43
+ });
44
+
45
+ expect(getSamplePositionsFromTrack(trakBox as TrakBox, null));
46
+
47
+ const [firstAudioTrack] = audioTracks;
48
+ const {trakBox: trakBox2, ...audioTrack} = firstAudioTrack;
125
49
 
126
- expect(audioTracks).toEqual([
50
+ expect(audioTrack).toEqual({
51
+ type: 'audio',
52
+ trackId: 2,
53
+ timescale: 48000,
54
+ numberOfChannels: 2,
55
+ codec: 'mp3',
56
+ sampleRate: 48000,
57
+ description: undefined,
58
+ });
59
+ expect(getSamplePositionsFromTrack(trakBox2 as TrakBox, null)).toEqual([
60
+ {
61
+ offset: 6908,
62
+ size: 960,
63
+ isKeyframe: true,
64
+ dts: 0,
65
+ duration: 1152,
66
+ cts: 0,
67
+ },
68
+ {
69
+ offset: 8566,
70
+ size: 960,
71
+ isKeyframe: true,
72
+ dts: 1152,
73
+ duration: 1152,
74
+ cts: 1152,
75
+ },
76
+ {
77
+ offset: 9526,
78
+ size: 960,
79
+ isKeyframe: true,
80
+ dts: 2304,
81
+ duration: 1152,
82
+ cts: 2304,
83
+ },
84
+ {
85
+ offset: 11081,
86
+ size: 960,
87
+ isKeyframe: true,
88
+ dts: 3456,
89
+ duration: 1152,
90
+ cts: 3456,
91
+ },
92
+ {
93
+ offset: 12589,
94
+ size: 960,
95
+ isKeyframe: true,
96
+ dts: 4608,
97
+ duration: 1152,
98
+ cts: 4608,
99
+ },
100
+ {
101
+ offset: 13549,
102
+ size: 960,
103
+ isKeyframe: true,
104
+ dts: 5760,
105
+ duration: 1152,
106
+ cts: 5760,
107
+ },
108
+ {
109
+ offset: 15120,
110
+ size: 960,
111
+ isKeyframe: true,
112
+ dts: 6912,
113
+ duration: 1152,
114
+ cts: 6912,
115
+ },
116
+ {
117
+ offset: 16781,
118
+ size: 960,
119
+ isKeyframe: true,
120
+ dts: 8064,
121
+ duration: 1152,
122
+ cts: 8064,
123
+ },
124
+ {
125
+ offset: 18276,
126
+ size: 960,
127
+ isKeyframe: true,
128
+ dts: 9216,
129
+ duration: 1152,
130
+ cts: 9216,
131
+ },
132
+ {
133
+ offset: 19236,
134
+ size: 960,
135
+ isKeyframe: true,
136
+ dts: 10368,
137
+ duration: 1152,
138
+ cts: 10368,
139
+ },
140
+ {
141
+ offset: 20972,
142
+ size: 960,
143
+ isKeyframe: true,
144
+ dts: 11520,
145
+ duration: 1152,
146
+ cts: 11520,
147
+ },
148
+ {
149
+ offset: 22518,
150
+ size: 960,
151
+ isKeyframe: true,
152
+ dts: 12672,
153
+ duration: 1152,
154
+ cts: 12672,
155
+ },
156
+ {
157
+ offset: 23478,
158
+ size: 960,
159
+ isKeyframe: true,
160
+ dts: 13824,
161
+ duration: 1152,
162
+ cts: 13824,
163
+ },
164
+ {
165
+ offset: 24438,
166
+ size: 960,
167
+ isKeyframe: true,
168
+ dts: 14976,
169
+ duration: 1152,
170
+ cts: 14976,
171
+ },
127
172
  {
128
- type: 'audio',
129
- trackId: 2,
130
- samplePositions: [
131
- {
132
- offset: 6908,
133
- size: 960,
134
- isKeyframe: true,
135
- dts: 0,
136
- duration: 1152,
137
- cts: 0,
138
- },
139
- {
140
- offset: 8566,
141
- size: 960,
142
- isKeyframe: true,
143
- dts: 1152,
144
- duration: 1152,
145
- cts: 1152,
146
- },
147
- {
148
- offset: 9526,
149
- size: 960,
150
- isKeyframe: true,
151
- dts: 2304,
152
- duration: 1152,
153
- cts: 2304,
154
- },
155
- {
156
- offset: 11081,
157
- size: 960,
158
- isKeyframe: true,
159
- dts: 3456,
160
- duration: 1152,
161
- cts: 3456,
162
- },
163
- {
164
- offset: 12589,
165
- size: 960,
166
- isKeyframe: true,
167
- dts: 4608,
168
- duration: 1152,
169
- cts: 4608,
170
- },
171
- {
172
- offset: 13549,
173
- size: 960,
174
- isKeyframe: true,
175
- dts: 5760,
176
- duration: 1152,
177
- cts: 5760,
178
- },
179
- {
180
- offset: 15120,
181
- size: 960,
182
- isKeyframe: true,
183
- dts: 6912,
184
- duration: 1152,
185
- cts: 6912,
186
- },
187
- {
188
- offset: 16781,
189
- size: 960,
190
- isKeyframe: true,
191
- dts: 8064,
192
- duration: 1152,
193
- cts: 8064,
194
- },
195
- {
196
- offset: 18276,
197
- size: 960,
198
- isKeyframe: true,
199
- dts: 9216,
200
- duration: 1152,
201
- cts: 9216,
202
- },
203
- {
204
- offset: 19236,
205
- size: 960,
206
- isKeyframe: true,
207
- dts: 10368,
208
- duration: 1152,
209
- cts: 10368,
210
- },
211
- {
212
- offset: 20972,
213
- size: 960,
214
- isKeyframe: true,
215
- dts: 11520,
216
- duration: 1152,
217
- cts: 11520,
218
- },
219
- {
220
- offset: 22518,
221
- size: 960,
222
- isKeyframe: true,
223
- dts: 12672,
224
- duration: 1152,
225
- cts: 12672,
226
- },
227
- {
228
- offset: 23478,
229
- size: 960,
230
- isKeyframe: true,
231
- dts: 13824,
232
- duration: 1152,
233
- cts: 13824,
234
- },
235
- {
236
- offset: 24438,
237
- size: 960,
238
- isKeyframe: true,
239
- dts: 14976,
240
- duration: 1152,
241
- cts: 14976,
242
- },
243
- {
244
- offset: 25398,
245
- size: 960,
246
- isKeyframe: true,
247
- dts: 16128,
248
- duration: 1152,
249
- cts: 16128,
250
- },
251
- ],
252
- timescale: 48000,
253
- numberOfChannels: 2,
254
- codec: 'mp3',
255
- sampleRate: 48000,
256
- description: undefined,
173
+ offset: 25398,
174
+ size: 960,
175
+ isKeyframe: true,
176
+ dts: 16128,
177
+ duration: 1152,
178
+ cts: 16128,
257
179
  },
258
180
  ]);
259
181
  });
@@ -35,7 +35,7 @@ test('Should be able to parse a STSD audio box correctly', async () => {
35
35
  2, 18, 16, 6, 128, 128, 128, 1, 2, 0, 0, 0, 8, 0, 0, 0, 0,
36
36
  ]);
37
37
 
38
- const iterator = getArrayBufferIterator(buffer);
38
+ const iterator = getArrayBufferIterator(buffer, null);
39
39
  iterator.discard(8);
40
40
 
41
41
  const parsed = await parseStsd({
@@ -51,6 +51,7 @@ test('Should be able to parse a STSD audio box correctly', async () => {
51
51
  hasVideoCallbacks: false,
52
52
  signal: undefined,
53
53
  }),
54
+ nullifySamples: false,
54
55
  },
55
56
  });
56
57
 
@@ -206,7 +207,7 @@ test('Should be able to parse a STSD video box correctly', async () => {
206
207
  ]);
207
208
 
208
209
  const parsed = await processSample({
209
- iterator: getArrayBufferIterator(buffer),
210
+ iterator: getArrayBufferIterator(buffer, null),
210
211
  options: {
211
212
  canSkipVideoData: true,
212
213
  onAudioTrack: null,
@@ -216,6 +217,7 @@ test('Should be able to parse a STSD video box correctly', async () => {
216
217
  hasVideoCallbacks: false,
217
218
  signal: undefined,
218
219
  }),
220
+ nullifySamples: false,
219
221
  },
220
222
  });
221
223
  expect(parsed.sample).toEqual({
@@ -58,7 +58,7 @@ test('Should be able to parse a TKHD box', () => {
58
58
  0, 0, 0, 0,
59
59
  ]);
60
60
 
61
- const iterator = getArrayBufferIterator(buffer);
61
+ const iterator = getArrayBufferIterator(buffer, null);
62
62
  iterator.discard(8);
63
63
  const mvhd = parseTkhd({
64
64
  iterator,