webcodecs-node 0.5.0 → 0.5.1

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 (185) hide show
  1. package/package.json +1 -1
  2. package/dist/AudioData.d.ts +0 -6
  3. package/dist/AudioData.d.ts.map +0 -1
  4. package/dist/AudioData.js +0 -6
  5. package/dist/AudioData.js.map +0 -1
  6. package/dist/AudioDecoder.d.ts +0 -6
  7. package/dist/AudioDecoder.d.ts.map +0 -1
  8. package/dist/AudioDecoder.js +0 -6
  9. package/dist/AudioDecoder.js.map +0 -1
  10. package/dist/AudioEncoder.d.ts +0 -6
  11. package/dist/AudioEncoder.d.ts.map +0 -1
  12. package/dist/AudioEncoder.js +0 -6
  13. package/dist/AudioEncoder.js.map +0 -1
  14. package/dist/EncodedAudioChunk.d.ts +0 -6
  15. package/dist/EncodedAudioChunk.d.ts.map +0 -1
  16. package/dist/EncodedAudioChunk.js +0 -6
  17. package/dist/EncodedAudioChunk.js.map +0 -1
  18. package/dist/EncodedVideoChunk.d.ts +0 -6
  19. package/dist/EncodedVideoChunk.d.ts.map +0 -1
  20. package/dist/EncodedVideoChunk.js +0 -6
  21. package/dist/EncodedVideoChunk.js.map +0 -1
  22. package/dist/FFmpegProcess.d.ts +0 -6
  23. package/dist/FFmpegProcess.d.ts.map +0 -1
  24. package/dist/FFmpegProcess.js +0 -6
  25. package/dist/FFmpegProcess.js.map +0 -1
  26. package/dist/HardwareAcceleration.d.ts +0 -6
  27. package/dist/HardwareAcceleration.d.ts.map +0 -1
  28. package/dist/HardwareAcceleration.js +0 -6
  29. package/dist/HardwareAcceleration.js.map +0 -1
  30. package/dist/ImageDecoder.d.ts +0 -6
  31. package/dist/ImageDecoder.d.ts.map +0 -1
  32. package/dist/ImageDecoder.js +0 -6
  33. package/dist/ImageDecoder.js.map +0 -1
  34. package/dist/Logger.d.ts +0 -6
  35. package/dist/Logger.d.ts.map +0 -1
  36. package/dist/Logger.js +0 -6
  37. package/dist/Logger.js.map +0 -1
  38. package/dist/MediaCapabilities.d.ts +0 -9
  39. package/dist/MediaCapabilities.d.ts.map +0 -1
  40. package/dist/MediaCapabilities.js +0 -8
  41. package/dist/MediaCapabilities.js.map +0 -1
  42. package/dist/VideoDecoder.d.ts +0 -6
  43. package/dist/VideoDecoder.d.ts.map +0 -1
  44. package/dist/VideoDecoder.js +0 -6
  45. package/dist/VideoDecoder.js.map +0 -1
  46. package/dist/VideoEncoder.d.ts +0 -6
  47. package/dist/VideoEncoder.d.ts.map +0 -1
  48. package/dist/VideoEncoder.js +0 -6
  49. package/dist/VideoEncoder.js.map +0 -1
  50. package/dist/VideoFrame.d.ts +0 -10
  51. package/dist/VideoFrame.d.ts.map +0 -1
  52. package/dist/VideoFrame.js +0 -9
  53. package/dist/VideoFrame.js.map +0 -1
  54. package/dist/__tests__/AudioData.test.d.ts +0 -5
  55. package/dist/__tests__/AudioData.test.d.ts.map +0 -1
  56. package/dist/__tests__/AudioData.test.js +0 -180
  57. package/dist/__tests__/AudioData.test.js.map +0 -1
  58. package/dist/__tests__/AudioDecoder.test.d.ts +0 -5
  59. package/dist/__tests__/AudioDecoder.test.d.ts.map +0 -1
  60. package/dist/__tests__/AudioDecoder.test.js +0 -733
  61. package/dist/__tests__/AudioDecoder.test.js.map +0 -1
  62. package/dist/__tests__/AudioEncoder.test.d.ts +0 -5
  63. package/dist/__tests__/AudioEncoder.test.d.ts.map +0 -1
  64. package/dist/__tests__/AudioEncoder.test.js +0 -247
  65. package/dist/__tests__/AudioEncoder.test.js.map +0 -1
  66. package/dist/__tests__/EncodedChunks.test.d.ts +0 -5
  67. package/dist/__tests__/EncodedChunks.test.d.ts.map +0 -1
  68. package/dist/__tests__/EncodedChunks.test.js +0 -100
  69. package/dist/__tests__/EncodedChunks.test.js.map +0 -1
  70. package/dist/__tests__/HardwareAcceleration.test.d.ts +0 -5
  71. package/dist/__tests__/HardwareAcceleration.test.d.ts.map +0 -1
  72. package/dist/__tests__/HardwareAcceleration.test.js +0 -85
  73. package/dist/__tests__/HardwareAcceleration.test.js.map +0 -1
  74. package/dist/__tests__/ImageDecoder.test.d.ts +0 -5
  75. package/dist/__tests__/ImageDecoder.test.d.ts.map +0 -1
  76. package/dist/__tests__/ImageDecoder.test.js +0 -558
  77. package/dist/__tests__/ImageDecoder.test.js.map +0 -1
  78. package/dist/__tests__/ImageDecoder.wpt.test.d.ts +0 -8
  79. package/dist/__tests__/ImageDecoder.wpt.test.d.ts.map +0 -1
  80. package/dist/__tests__/ImageDecoder.wpt.test.js +0 -135
  81. package/dist/__tests__/ImageDecoder.wpt.test.js.map +0 -1
  82. package/dist/__tests__/MediaCapabilities.test.d.ts +0 -5
  83. package/dist/__tests__/MediaCapabilities.test.d.ts.map +0 -1
  84. package/dist/__tests__/MediaCapabilities.test.js +0 -346
  85. package/dist/__tests__/MediaCapabilities.test.js.map +0 -1
  86. package/dist/__tests__/NodeAvDecoder.test.d.ts +0 -2
  87. package/dist/__tests__/NodeAvDecoder.test.d.ts.map +0 -1
  88. package/dist/__tests__/NodeAvDecoder.test.js +0 -206
  89. package/dist/__tests__/NodeAvDecoder.test.js.map +0 -1
  90. package/dist/__tests__/NodeAvEncoder.test.d.ts +0 -2
  91. package/dist/__tests__/NodeAvEncoder.test.d.ts.map +0 -1
  92. package/dist/__tests__/NodeAvEncoder.test.js +0 -176
  93. package/dist/__tests__/NodeAvEncoder.test.js.map +0 -1
  94. package/dist/__tests__/VideoDecoder.test.d.ts +0 -5
  95. package/dist/__tests__/VideoDecoder.test.d.ts.map +0 -1
  96. package/dist/__tests__/VideoDecoder.test.js +0 -675
  97. package/dist/__tests__/VideoDecoder.test.js.map +0 -1
  98. package/dist/__tests__/VideoEncoder.test.d.ts +0 -5
  99. package/dist/__tests__/VideoEncoder.test.d.ts.map +0 -1
  100. package/dist/__tests__/VideoEncoder.test.js +0 -468
  101. package/dist/__tests__/VideoEncoder.test.js.map +0 -1
  102. package/dist/__tests__/VideoFrame.test.d.ts +0 -5
  103. package/dist/__tests__/VideoFrame.test.d.ts.map +0 -1
  104. package/dist/__tests__/VideoFrame.test.js +0 -246
  105. package/dist/__tests__/VideoFrame.test.js.map +0 -1
  106. package/dist/__tests__/aac-utils.test.d.ts +0 -2
  107. package/dist/__tests__/aac-utils.test.d.ts.map +0 -1
  108. package/dist/__tests__/aac-utils.test.js +0 -37
  109. package/dist/__tests__/aac-utils.test.js.map +0 -1
  110. package/dist/__tests__/avc-utils.test.d.ts +0 -2
  111. package/dist/__tests__/avc-utils.test.d.ts.map +0 -1
  112. package/dist/__tests__/avc-utils.test.js +0 -63
  113. package/dist/__tests__/avc-utils.test.js.map +0 -1
  114. package/dist/__tests__/hevc-utils.test.d.ts +0 -2
  115. package/dist/__tests__/hevc-utils.test.d.ts.map +0 -1
  116. package/dist/__tests__/hevc-utils.test.js +0 -78
  117. package/dist/__tests__/hevc-utils.test.js.map +0 -1
  118. package/dist/demos/demo-conversion.d.ts +0 -13
  119. package/dist/demos/demo-conversion.d.ts.map +0 -1
  120. package/dist/demos/demo-conversion.js +0 -301
  121. package/dist/demos/demo-conversion.js.map +0 -1
  122. package/dist/demos/demo-hwaccel-conversion.d.ts +0 -8
  123. package/dist/demos/demo-hwaccel-conversion.d.ts.map +0 -1
  124. package/dist/demos/demo-hwaccel-conversion.js +0 -161
  125. package/dist/demos/demo-hwaccel-conversion.js.map +0 -1
  126. package/dist/demos/demo-mediabunny.d.ts +0 -7
  127. package/dist/demos/demo-mediabunny.d.ts.map +0 -1
  128. package/dist/demos/demo-mediabunny.js +0 -78
  129. package/dist/demos/demo-mediabunny.js.map +0 -1
  130. package/dist/ffmpeg/FFmpegProcess.d.ts +0 -111
  131. package/dist/ffmpeg/FFmpegProcess.d.ts.map +0 -1
  132. package/dist/ffmpeg/FFmpegProcess.js +0 -543
  133. package/dist/ffmpeg/FFmpegProcess.js.map +0 -1
  134. package/dist/ffmpeg/audio-codecs.d.ts +0 -59
  135. package/dist/ffmpeg/audio-codecs.d.ts.map +0 -1
  136. package/dist/ffmpeg/audio-codecs.js +0 -99
  137. package/dist/ffmpeg/audio-codecs.js.map +0 -1
  138. package/dist/ffmpeg/formats.d.ts +0 -42
  139. package/dist/ffmpeg/formats.d.ts.map +0 -1
  140. package/dist/ffmpeg/formats.js +0 -147
  141. package/dist/ffmpeg/formats.js.map +0 -1
  142. package/dist/ffmpeg/index.d.ts +0 -10
  143. package/dist/ffmpeg/index.d.ts.map +0 -1
  144. package/dist/ffmpeg/index.js +0 -13
  145. package/dist/ffmpeg/index.js.map +0 -1
  146. package/dist/ffmpeg/parsers/annexb.d.ts +0 -88
  147. package/dist/ffmpeg/parsers/annexb.d.ts.map +0 -1
  148. package/dist/ffmpeg/parsers/annexb.js +0 -201
  149. package/dist/ffmpeg/parsers/annexb.js.map +0 -1
  150. package/dist/ffmpeg/parsers/index.d.ts +0 -6
  151. package/dist/ffmpeg/parsers/index.d.ts.map +0 -1
  152. package/dist/ffmpeg/parsers/index.js +0 -8
  153. package/dist/ffmpeg/parsers/index.js.map +0 -1
  154. package/dist/ffmpeg/parsers/ivf.d.ts +0 -54
  155. package/dist/ffmpeg/parsers/ivf.d.ts.map +0 -1
  156. package/dist/ffmpeg/parsers/ivf.js +0 -109
  157. package/dist/ffmpeg/parsers/ivf.js.map +0 -1
  158. package/dist/ffmpeg/types.d.ts +0 -85
  159. package/dist/ffmpeg/types.d.ts.map +0 -1
  160. package/dist/ffmpeg/types.js +0 -8
  161. package/dist/ffmpeg/types.js.map +0 -1
  162. package/dist/mediabunny/FFmpegAudioDecoder.d.ts +0 -24
  163. package/dist/mediabunny/FFmpegAudioDecoder.d.ts.map +0 -1
  164. package/dist/mediabunny/FFmpegAudioDecoder.js +0 -126
  165. package/dist/mediabunny/FFmpegAudioDecoder.js.map +0 -1
  166. package/dist/mediabunny/FFmpegAudioEncoder.d.ts +0 -44
  167. package/dist/mediabunny/FFmpegAudioEncoder.d.ts.map +0 -1
  168. package/dist/mediabunny/FFmpegAudioEncoder.js +0 -221
  169. package/dist/mediabunny/FFmpegAudioEncoder.js.map +0 -1
  170. package/dist/mediabunny/FFmpegVideoDecoder.d.ts +0 -25
  171. package/dist/mediabunny/FFmpegVideoDecoder.d.ts.map +0 -1
  172. package/dist/mediabunny/FFmpegVideoDecoder.js +0 -122
  173. package/dist/mediabunny/FFmpegVideoDecoder.js.map +0 -1
  174. package/dist/mediabunny/FFmpegVideoEncoder.d.ts +0 -49
  175. package/dist/mediabunny/FFmpegVideoEncoder.d.ts.map +0 -1
  176. package/dist/mediabunny/FFmpegVideoEncoder.js +0 -264
  177. package/dist/mediabunny/FFmpegVideoEncoder.js.map +0 -1
  178. package/dist/mediabunny/index.d.ts +0 -21
  179. package/dist/mediabunny/index.d.ts.map +0 -1
  180. package/dist/mediabunny/index.js +0 -33
  181. package/dist/mediabunny/index.js.map +0 -1
  182. package/dist/types.d.ts +0 -6
  183. package/dist/types.d.ts.map +0 -1
  184. package/dist/types.js +0 -6
  185. package/dist/types.js.map +0 -1
@@ -1,246 +0,0 @@
1
- /**
2
- * Tests for VideoFrame class
3
- */
4
- import { describe, it, expect } from 'vitest';
5
- import { VideoFrame } from '../core/VideoFrame.js';
6
- import { VideoColorSpace } from '../formats/color-space.js';
7
- import { DOMRectReadOnly } from '../types/geometry.js';
8
- describe('VideoFrame', () => {
9
- describe('constructor with BufferSource', () => {
10
- it('should create a VideoFrame from Uint8Array', () => {
11
- const width = 4;
12
- const height = 4;
13
- const data = new Uint8Array(width * height * 4); // RGBA
14
- const frame = new VideoFrame(data, {
15
- format: 'RGBA',
16
- codedWidth: width,
17
- codedHeight: height,
18
- timestamp: 1000,
19
- });
20
- expect(frame.format).toBe('RGBA');
21
- expect(frame.codedWidth).toBe(width);
22
- expect(frame.codedHeight).toBe(height);
23
- expect(frame.timestamp).toBe(1000);
24
- expect(frame.displayWidth).toBe(width);
25
- expect(frame.displayHeight).toBe(height);
26
- frame.close();
27
- });
28
- it('should create a VideoFrame from ArrayBuffer', () => {
29
- const width = 4;
30
- const height = 4;
31
- const buffer = new ArrayBuffer(width * height * 4);
32
- const frame = new VideoFrame(buffer, {
33
- format: 'RGBA',
34
- codedWidth: width,
35
- codedHeight: height,
36
- timestamp: 0,
37
- });
38
- expect(frame.format).toBe('RGBA');
39
- expect(frame.codedWidth).toBe(width);
40
- expect(frame.codedHeight).toBe(height);
41
- frame.close();
42
- });
43
- it('should set duration when provided', () => {
44
- const data = new Uint8Array(16 * 4);
45
- const frame = new VideoFrame(data, {
46
- format: 'RGBA',
47
- codedWidth: 4,
48
- codedHeight: 4,
49
- timestamp: 0,
50
- duration: 33333,
51
- });
52
- expect(frame.duration).toBe(33333);
53
- frame.close();
54
- });
55
- it('should set displayWidth and displayHeight when provided', () => {
56
- const data = new Uint8Array(16 * 4);
57
- const frame = new VideoFrame(data, {
58
- format: 'RGBA',
59
- codedWidth: 4,
60
- codedHeight: 4,
61
- timestamp: 0,
62
- displayWidth: 8,
63
- displayHeight: 8,
64
- });
65
- expect(frame.displayWidth).toBe(8);
66
- expect(frame.displayHeight).toBe(8);
67
- frame.close();
68
- });
69
- });
70
- describe('constructor with CanvasImageSource', () => {
71
- it('should create a VideoFrame from canvas-like object', () => {
72
- // Mock canvas-like object
73
- const mockCanvas = {
74
- width: 4,
75
- height: 4,
76
- getContext: () => ({
77
- getImageData: () => ({
78
- data: new Uint8ClampedArray(4 * 4 * 4),
79
- }),
80
- }),
81
- };
82
- const frame = new VideoFrame(mockCanvas, {
83
- timestamp: 1000,
84
- });
85
- expect(frame.format).toBe('RGBA');
86
- expect(frame.codedWidth).toBe(4);
87
- expect(frame.codedHeight).toBe(4);
88
- expect(frame.timestamp).toBe(1000);
89
- frame.close();
90
- });
91
- });
92
- describe('clone', () => {
93
- it('should create an independent copy', () => {
94
- const data = new Uint8Array([255, 0, 0, 255, 0, 255, 0, 255, 0, 0, 255, 255, 255, 255, 255, 255]);
95
- const frame = new VideoFrame(data, {
96
- format: 'RGBA',
97
- codedWidth: 2,
98
- codedHeight: 2,
99
- timestamp: 1000,
100
- duration: 100,
101
- });
102
- const clone = frame.clone();
103
- expect(clone.format).toBe(frame.format);
104
- expect(clone.codedWidth).toBe(frame.codedWidth);
105
- expect(clone.codedHeight).toBe(frame.codedHeight);
106
- expect(clone.timestamp).toBe(frame.timestamp);
107
- expect(clone.duration).toBe(frame.duration);
108
- // Close original, clone should still work
109
- frame.close();
110
- expect(clone.allocationSize()).toBeGreaterThan(0);
111
- clone.close();
112
- });
113
- });
114
- describe('copyTo', () => {
115
- it('should copy frame data to destination buffer', async () => {
116
- const sourceData = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]);
117
- const frame = new VideoFrame(sourceData, {
118
- format: 'RGBA',
119
- codedWidth: 2,
120
- codedHeight: 2,
121
- timestamp: 0,
122
- });
123
- const dest = new Uint8Array(16);
124
- await frame.copyTo(dest);
125
- expect(Array.from(dest)).toEqual(Array.from(sourceData));
126
- frame.close();
127
- });
128
- });
129
- describe('allocationSize', () => {
130
- it('should return the correct buffer size', () => {
131
- const width = 8;
132
- const height = 8;
133
- const data = new Uint8Array(width * height * 4);
134
- const frame = new VideoFrame(data, {
135
- format: 'RGBA',
136
- codedWidth: width,
137
- codedHeight: height,
138
- timestamp: 0,
139
- });
140
- expect(frame.allocationSize()).toBe(width * height * 4);
141
- frame.close();
142
- });
143
- });
144
- describe('close', () => {
145
- it('should throw when accessing closed frame', () => {
146
- const data = new Uint8Array(16);
147
- const frame = new VideoFrame(data, {
148
- format: 'RGBA',
149
- codedWidth: 2,
150
- codedHeight: 2,
151
- timestamp: 0,
152
- });
153
- frame.close();
154
- expect(() => frame.allocationSize()).toThrow('VideoFrame is closed');
155
- });
156
- });
157
- describe('codedRect and visibleRect', () => {
158
- it('should have correct rect values', () => {
159
- const data = new Uint8Array(64 * 4);
160
- const frame = new VideoFrame(data, {
161
- format: 'RGBA',
162
- codedWidth: 8,
163
- codedHeight: 8,
164
- timestamp: 0,
165
- });
166
- expect(frame.codedRect.x).toBe(0);
167
- expect(frame.codedRect.y).toBe(0);
168
- expect(frame.codedRect.width).toBe(8);
169
- expect(frame.codedRect.height).toBe(8);
170
- expect(frame.visibleRect.x).toBe(0);
171
- expect(frame.visibleRect.y).toBe(0);
172
- expect(frame.visibleRect.width).toBe(8);
173
- expect(frame.visibleRect.height).toBe(8);
174
- frame.close();
175
- });
176
- it('should support custom visibleRect', () => {
177
- const data = new Uint8Array(64 * 4);
178
- const frame = new VideoFrame(data, {
179
- format: 'RGBA',
180
- codedWidth: 8,
181
- codedHeight: 8,
182
- timestamp: 0,
183
- visibleRect: { x: 1, y: 1, width: 6, height: 6 },
184
- });
185
- expect(frame.visibleRect.x).toBe(1);
186
- expect(frame.visibleRect.y).toBe(1);
187
- expect(frame.visibleRect.width).toBe(6);
188
- expect(frame.visibleRect.height).toBe(6);
189
- frame.close();
190
- });
191
- });
192
- });
193
- describe('VideoColorSpace', () => {
194
- it('should create with default values', () => {
195
- const colorSpace = new VideoColorSpace();
196
- expect(colorSpace.primaries).toBeNull();
197
- expect(colorSpace.transfer).toBeNull();
198
- expect(colorSpace.matrix).toBeNull();
199
- expect(colorSpace.fullRange).toBeNull();
200
- });
201
- it('should create with provided values', () => {
202
- const colorSpace = new VideoColorSpace({
203
- primaries: 'bt709',
204
- transfer: 'bt709',
205
- matrix: 'bt709',
206
- fullRange: true,
207
- });
208
- expect(colorSpace.primaries).toBe('bt709');
209
- expect(colorSpace.transfer).toBe('bt709');
210
- expect(colorSpace.matrix).toBe('bt709');
211
- expect(colorSpace.fullRange).toBe(true);
212
- });
213
- it('should serialize to JSON', () => {
214
- const colorSpace = new VideoColorSpace({
215
- primaries: 'bt709',
216
- fullRange: false,
217
- });
218
- const json = colorSpace.toJSON();
219
- expect(json.primaries).toBe('bt709');
220
- expect(json.fullRange).toBe(false);
221
- });
222
- });
223
- describe('DOMRectReadOnly', () => {
224
- it('should create with default values', () => {
225
- const rect = new DOMRectReadOnly();
226
- expect(rect.x).toBe(0);
227
- expect(rect.y).toBe(0);
228
- expect(rect.width).toBe(0);
229
- expect(rect.height).toBe(0);
230
- });
231
- it('should create with provided values', () => {
232
- const rect = new DOMRectReadOnly(10, 20, 100, 200);
233
- expect(rect.x).toBe(10);
234
- expect(rect.y).toBe(20);
235
- expect(rect.width).toBe(100);
236
- expect(rect.height).toBe(200);
237
- });
238
- it('should compute derived properties', () => {
239
- const rect = new DOMRectReadOnly(10, 20, 100, 200);
240
- expect(rect.top).toBe(20);
241
- expect(rect.left).toBe(10);
242
- expect(rect.right).toBe(110);
243
- expect(rect.bottom).toBe(220);
244
- });
245
- });
246
- //# sourceMappingURL=VideoFrame.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoFrame.test.js","sourceRoot":"","sources":["../../src/__tests__/VideoFrame.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=aac-utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aac-utils.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/aac-utils.test.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- import { Buffer } from 'buffer';
2
- import { parseAudioSpecificConfig, wrapAacFrameWithAdts, buildAudioSpecificConfig, } from '../utils/aac.js';
3
- describe('AAC utilities', () => {
4
- // Example AudioSpecificConfig: AAC LC, 44100 Hz, stereo (from mp4a.40.2)
5
- const asc = new Uint8Array([0x12, 0x10]);
6
- it('parses AudioSpecificConfig', () => {
7
- const config = parseAudioSpecificConfig(asc);
8
- expect(config.audioObjectType).toBe(2);
9
- expect(config.samplingFrequencyIndex).toBe(4);
10
- expect(config.samplingRate).toBe(44100);
11
- expect(config.channelConfiguration).toBe(2);
12
- });
13
- it('wraps AAC frame in ADTS header', () => {
14
- const config = parseAudioSpecificConfig(asc);
15
- const payload = new Uint8Array([0x01, 0x02, 0x03, 0x04]);
16
- const adtsFrame = wrapAacFrameWithAdts(payload, config);
17
- expect(adtsFrame.length).toBe(11);
18
- // Sync word 0xFFF
19
- expect(adtsFrame[0]).toBe(0xff);
20
- expect(adtsFrame[1] & 0xf0).toBe(0xf0);
21
- // Frame length field should match header length + payload
22
- const frameLength = ((adtsFrame[3] & 0x3) << 11) |
23
- (adtsFrame[4] << 3) |
24
- ((adtsFrame[5] >> 5) & 0x7);
25
- expect(frameLength).toBe(11);
26
- // Payload preserved at the end
27
- expect(adtsFrame.subarray(7).equals(Buffer.from(payload))).toBe(true);
28
- });
29
- it('builds AudioSpecificConfig', () => {
30
- const config = buildAudioSpecificConfig({
31
- samplingRate: 44100,
32
- channelConfiguration: 2,
33
- });
34
- expect(Array.from(config)).toEqual([0x12, 0x10]);
35
- });
36
- });
37
- //# sourceMappingURL=aac-utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aac-utils.test.js","sourceRoot":"","sources":["../../src/__tests__/aac-utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,yEAAyE;IACzE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEzC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAExD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,kBAAkB;QAClB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,0DAA0D;QAC1D,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,+BAA+B;QAC/B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,wBAAwB,CAAC;YACtC,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,CAAC;SACxB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=avc-utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avc-utils.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/avc-utils.test.ts"],"names":[],"mappings":""}
@@ -1,63 +0,0 @@
1
- import { Buffer } from 'buffer';
2
- import { convertAvccToAnnexB, parseAvcDecoderConfig, extractAvcParameterSetsFromAnnexB, buildAvcDecoderConfig, convertAnnexBToAvcc, } from '../utils/avc.js';
3
- describe('AVC utilities', () => {
4
- const avcConfigBytes = new Uint8Array([
5
- 0x01, // configurationVersion
6
- 0x64, 0x00, 0x1F, // profile/compatibility/level
7
- 0xFF, // reserved + lengthSizeMinusOne (3 => 4 bytes)
8
- 0xE1, // numOfSequenceParameterSets (1)
9
- 0x00, 0x04, // SPS length
10
- 0x67, 0x64, 0x00, 0x1F, // SPS data
11
- 0x01, // numOfPictureParameterSets (1)
12
- 0x00, 0x03, // PPS length
13
- 0x68, 0xEE, 0x3C, // PPS data
14
- ]);
15
- it('parses AVC decoder configuration record', () => {
16
- const config = parseAvcDecoderConfig(avcConfigBytes);
17
- expect(config.lengthSize).toBe(4);
18
- expect(config.sps).toHaveLength(1);
19
- expect(Array.from(config.sps[0])).toEqual([0x67, 0x64, 0x00, 0x1F]);
20
- expect(config.pps).toHaveLength(1);
21
- expect(Array.from(config.pps[0])).toEqual([0x68, 0xEE, 0x3C]);
22
- });
23
- it('converts avcC samples to Annex B with parameter sets', () => {
24
- const config = parseAvcDecoderConfig(avcConfigBytes);
25
- const chunk = new Uint8Array([
26
- 0x00, 0x00, 0x00, 0x02, 0x65, 0x88, // IDR NAL length 2 + payload
27
- 0x00, 0x00, 0x00, 0x01, 0x06, // SEI NAL length 1 + payload
28
- ]);
29
- const annexB = convertAvccToAnnexB(chunk, config, true);
30
- const expected = Buffer.concat([
31
- Buffer.from([0x00, 0x00, 0x00, 0x01, 0x67, 0x64, 0x00, 0x1F]),
32
- Buffer.from([0x00, 0x00, 0x00, 0x01, 0x68, 0xEE, 0x3C]),
33
- Buffer.from([0x00, 0x00, 0x00, 0x01, 0x65, 0x88]),
34
- Buffer.from([0x00, 0x00, 0x00, 0x01, 0x06]),
35
- ]);
36
- expect(annexB.equals(expected)).toBe(true);
37
- });
38
- it('extracts parameter sets from Annex B frame and rebuilds config', () => {
39
- const annexB = new Uint8Array([
40
- 0x00, 0x00, 0x00, 0x01, 0x67, 0x64, 0x00, 0x1F,
41
- 0x00, 0x00, 0x00, 0x01, 0x68, 0xEE, 0x3C,
42
- ]);
43
- const { sps, pps } = extractAvcParameterSetsFromAnnexB(annexB);
44
- expect(sps).toHaveLength(1);
45
- expect(pps).toHaveLength(1);
46
- const config = buildAvcDecoderConfig(sps, pps);
47
- const parsed = parseAvcDecoderConfig(config);
48
- expect(parsed.sps).toHaveLength(1);
49
- expect(parsed.pps).toHaveLength(1);
50
- });
51
- it('converts Annex B frames to AVCC', () => {
52
- const annexB = new Uint8Array([
53
- 0x00, 0x00, 0x00, 0x01, 0x65, 0x88, 0x99,
54
- 0x00, 0x00, 0x01, 0x06, 0x11,
55
- ]);
56
- const avcc = convertAnnexBToAvcc(annexB, 4);
57
- expect(avcc.equals(Buffer.from([
58
- 0x00, 0x00, 0x00, 0x03, 0x65, 0x88, 0x99,
59
- 0x00, 0x00, 0x00, 0x02, 0x06, 0x11,
60
- ]))).toBe(true);
61
- });
62
- });
63
- //# sourceMappingURL=avc-utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avc-utils.test.js","sourceRoot":"","sources":["../../src/__tests__/avc-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hevc-utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hevc-utils.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/hevc-utils.test.ts"],"names":[],"mappings":""}
@@ -1,78 +0,0 @@
1
- import { Buffer } from 'buffer';
2
- import { convertHvccToAnnexB, parseHvccDecoderConfig, extractHevcParameterSetsFromAnnexB, buildHvccDecoderConfig, convertAnnexBToHvcc, } from '../utils/hevc.js';
3
- describe('HEVC utilities', () => {
4
- // Minimal HVCC record with single VPS/SPS/PPS
5
- const hvcc = new Uint8Array([
6
- 0x01, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
7
- 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
8
- 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFD, // lengthSizeMinusOne in byte 21 (0xFD & 3 = 1 => size 2)
9
- 0x03, // numOfArrays
10
- // VPS array
11
- 0x80 | 32, // completeness + nal type
12
- 0x00, 0x01, // numNalus
13
- 0x00, 0x04, // nal length
14
- 0x40, 0x01, 0x02, 0x03,
15
- // SPS array
16
- 0x80 | 33,
17
- 0x00, 0x01,
18
- 0x00, 0x05,
19
- 0x42, 0x01, 0x02, 0x03, 0x04,
20
- // PPS array
21
- 0x80 | 34,
22
- 0x00, 0x01,
23
- 0x00, 0x02,
24
- 0x44, 0x55,
25
- ]);
26
- it('parses HVCC record', () => {
27
- const config = parseHvccDecoderConfig(hvcc);
28
- expect(config.lengthSize).toBe(2);
29
- expect(config.vps).toHaveLength(1);
30
- expect(config.sps).toHaveLength(1);
31
- expect(config.pps).toHaveLength(1);
32
- expect(Array.from(config.vps[0])).toEqual([0x40, 0x01, 0x02, 0x03]);
33
- });
34
- it('converts HVCC samples to Annex B', () => {
35
- const config = parseHvccDecoderConfig(hvcc);
36
- const chunk = new Uint8Array([
37
- 0x00, 0x03, 0x26, 0x27, 0x28, // NAL length 3 + payload
38
- 0x00, 0x02, 0x01, 0x02, // NAL length 2 + payload
39
- ]);
40
- const annex = convertHvccToAnnexB(chunk, config, true);
41
- const expected = Buffer.concat([
42
- Buffer.from([0, 0, 0, 1, 0x40, 0x01, 0x02, 0x03]),
43
- Buffer.from([0, 0, 0, 1, 0x42, 0x01, 0x02, 0x03, 0x04]),
44
- Buffer.from([0, 0, 0, 1, 0x44, 0x55]),
45
- Buffer.from([0, 0, 0, 1, 0x26, 0x27, 0x28]),
46
- Buffer.from([0, 0, 0, 1, 0x01, 0x02]),
47
- ]);
48
- expect(annex.equals(expected)).toBe(true);
49
- });
50
- it('extracts HEVC parameter sets from Annex B', () => {
51
- const annex = new Uint8Array([
52
- 0, 0, 0, 1, 0x40, 0x01, 0x02,
53
- 0, 0, 0, 1, 0x42, 0x01, 0x02, 0x03,
54
- 0, 0, 0, 1, 0x44, 0x55,
55
- ]);
56
- const sets = extractHevcParameterSetsFromAnnexB(annex);
57
- expect(sets.vps).toHaveLength(1);
58
- expect(sets.sps).toHaveLength(1);
59
- expect(sets.pps).toHaveLength(1);
60
- const hvcc = buildHvccDecoderConfig(sets.vps, sets.sps, sets.pps);
61
- const parsed = parseHvccDecoderConfig(hvcc);
62
- expect(parsed.vps).toHaveLength(1);
63
- expect(parsed.sps).toHaveLength(1);
64
- expect(parsed.pps).toHaveLength(1);
65
- });
66
- it('converts Annex B frames to HVCC length-prefixed payloads', () => {
67
- const annex = new Uint8Array([
68
- 0, 0, 0, 1, 0x26, 0x27, 0x28,
69
- 0, 0, 1, 0x02, 0x03,
70
- ]);
71
- const result = convertAnnexBToHvcc(annex, 4);
72
- expect(result.equals(Buffer.from([
73
- 0, 0, 0, 3, 0x26, 0x27, 0x28,
74
- 0, 0, 0, 2, 0x02, 0x03,
75
- ]))).toBe(true);
76
- });
77
- });
78
- //# sourceMappingURL=hevc-utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hevc-utils.test.js","sourceRoot":"","sources":["../../src/__tests__/hevc-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Demo: Real File Conversion with Mediabunny + WebCodecs
3
- *
4
- * This demo shows how to:
5
- * 1. Use WebCodecs API (VideoEncoder, AudioEncoder, etc.) with Mediabunny
6
- * 2. Convert MP4 to WebM with progress tracking
7
- * 3. Handle video resizing, codec conversion, and audio transcoding
8
- *
9
- * The WebCodecs polyfill makes VideoFrame, AudioData, EncodedVideoChunk, etc.
10
- * available globally, so Mediabunny uses our FFmpeg-backed implementations.
11
- */
12
- import '../polyfill.js';
13
- //# sourceMappingURL=demo-conversion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demo-conversion.d.ts","sourceRoot":"","sources":["../../src/demos/demo-conversion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,OAAO,gBAAgB,CAAC"}