webcodecs-node 0.5.0 → 0.5.2

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 (188) hide show
  1. package/README.md +64 -184
  2. package/docs/api.md +1 -1
  3. package/docs/configuration.md +6 -17
  4. package/package.json +2 -2
  5. package/dist/AudioData.d.ts +0 -6
  6. package/dist/AudioData.d.ts.map +0 -1
  7. package/dist/AudioData.js +0 -6
  8. package/dist/AudioData.js.map +0 -1
  9. package/dist/AudioDecoder.d.ts +0 -6
  10. package/dist/AudioDecoder.d.ts.map +0 -1
  11. package/dist/AudioDecoder.js +0 -6
  12. package/dist/AudioDecoder.js.map +0 -1
  13. package/dist/AudioEncoder.d.ts +0 -6
  14. package/dist/AudioEncoder.d.ts.map +0 -1
  15. package/dist/AudioEncoder.js +0 -6
  16. package/dist/AudioEncoder.js.map +0 -1
  17. package/dist/EncodedAudioChunk.d.ts +0 -6
  18. package/dist/EncodedAudioChunk.d.ts.map +0 -1
  19. package/dist/EncodedAudioChunk.js +0 -6
  20. package/dist/EncodedAudioChunk.js.map +0 -1
  21. package/dist/EncodedVideoChunk.d.ts +0 -6
  22. package/dist/EncodedVideoChunk.d.ts.map +0 -1
  23. package/dist/EncodedVideoChunk.js +0 -6
  24. package/dist/EncodedVideoChunk.js.map +0 -1
  25. package/dist/FFmpegProcess.d.ts +0 -6
  26. package/dist/FFmpegProcess.d.ts.map +0 -1
  27. package/dist/FFmpegProcess.js +0 -6
  28. package/dist/FFmpegProcess.js.map +0 -1
  29. package/dist/HardwareAcceleration.d.ts +0 -6
  30. package/dist/HardwareAcceleration.d.ts.map +0 -1
  31. package/dist/HardwareAcceleration.js +0 -6
  32. package/dist/HardwareAcceleration.js.map +0 -1
  33. package/dist/ImageDecoder.d.ts +0 -6
  34. package/dist/ImageDecoder.d.ts.map +0 -1
  35. package/dist/ImageDecoder.js +0 -6
  36. package/dist/ImageDecoder.js.map +0 -1
  37. package/dist/Logger.d.ts +0 -6
  38. package/dist/Logger.d.ts.map +0 -1
  39. package/dist/Logger.js +0 -6
  40. package/dist/Logger.js.map +0 -1
  41. package/dist/MediaCapabilities.d.ts +0 -9
  42. package/dist/MediaCapabilities.d.ts.map +0 -1
  43. package/dist/MediaCapabilities.js +0 -8
  44. package/dist/MediaCapabilities.js.map +0 -1
  45. package/dist/VideoDecoder.d.ts +0 -6
  46. package/dist/VideoDecoder.d.ts.map +0 -1
  47. package/dist/VideoDecoder.js +0 -6
  48. package/dist/VideoDecoder.js.map +0 -1
  49. package/dist/VideoEncoder.d.ts +0 -6
  50. package/dist/VideoEncoder.d.ts.map +0 -1
  51. package/dist/VideoEncoder.js +0 -6
  52. package/dist/VideoEncoder.js.map +0 -1
  53. package/dist/VideoFrame.d.ts +0 -10
  54. package/dist/VideoFrame.d.ts.map +0 -1
  55. package/dist/VideoFrame.js +0 -9
  56. package/dist/VideoFrame.js.map +0 -1
  57. package/dist/__tests__/AudioData.test.d.ts +0 -5
  58. package/dist/__tests__/AudioData.test.d.ts.map +0 -1
  59. package/dist/__tests__/AudioData.test.js +0 -180
  60. package/dist/__tests__/AudioData.test.js.map +0 -1
  61. package/dist/__tests__/AudioDecoder.test.d.ts +0 -5
  62. package/dist/__tests__/AudioDecoder.test.d.ts.map +0 -1
  63. package/dist/__tests__/AudioDecoder.test.js +0 -733
  64. package/dist/__tests__/AudioDecoder.test.js.map +0 -1
  65. package/dist/__tests__/AudioEncoder.test.d.ts +0 -5
  66. package/dist/__tests__/AudioEncoder.test.d.ts.map +0 -1
  67. package/dist/__tests__/AudioEncoder.test.js +0 -247
  68. package/dist/__tests__/AudioEncoder.test.js.map +0 -1
  69. package/dist/__tests__/EncodedChunks.test.d.ts +0 -5
  70. package/dist/__tests__/EncodedChunks.test.d.ts.map +0 -1
  71. package/dist/__tests__/EncodedChunks.test.js +0 -100
  72. package/dist/__tests__/EncodedChunks.test.js.map +0 -1
  73. package/dist/__tests__/HardwareAcceleration.test.d.ts +0 -5
  74. package/dist/__tests__/HardwareAcceleration.test.d.ts.map +0 -1
  75. package/dist/__tests__/HardwareAcceleration.test.js +0 -85
  76. package/dist/__tests__/HardwareAcceleration.test.js.map +0 -1
  77. package/dist/__tests__/ImageDecoder.test.d.ts +0 -5
  78. package/dist/__tests__/ImageDecoder.test.d.ts.map +0 -1
  79. package/dist/__tests__/ImageDecoder.test.js +0 -558
  80. package/dist/__tests__/ImageDecoder.test.js.map +0 -1
  81. package/dist/__tests__/ImageDecoder.wpt.test.d.ts +0 -8
  82. package/dist/__tests__/ImageDecoder.wpt.test.d.ts.map +0 -1
  83. package/dist/__tests__/ImageDecoder.wpt.test.js +0 -135
  84. package/dist/__tests__/ImageDecoder.wpt.test.js.map +0 -1
  85. package/dist/__tests__/MediaCapabilities.test.d.ts +0 -5
  86. package/dist/__tests__/MediaCapabilities.test.d.ts.map +0 -1
  87. package/dist/__tests__/MediaCapabilities.test.js +0 -346
  88. package/dist/__tests__/MediaCapabilities.test.js.map +0 -1
  89. package/dist/__tests__/NodeAvDecoder.test.d.ts +0 -2
  90. package/dist/__tests__/NodeAvDecoder.test.d.ts.map +0 -1
  91. package/dist/__tests__/NodeAvDecoder.test.js +0 -206
  92. package/dist/__tests__/NodeAvDecoder.test.js.map +0 -1
  93. package/dist/__tests__/NodeAvEncoder.test.d.ts +0 -2
  94. package/dist/__tests__/NodeAvEncoder.test.d.ts.map +0 -1
  95. package/dist/__tests__/NodeAvEncoder.test.js +0 -176
  96. package/dist/__tests__/NodeAvEncoder.test.js.map +0 -1
  97. package/dist/__tests__/VideoDecoder.test.d.ts +0 -5
  98. package/dist/__tests__/VideoDecoder.test.d.ts.map +0 -1
  99. package/dist/__tests__/VideoDecoder.test.js +0 -675
  100. package/dist/__tests__/VideoDecoder.test.js.map +0 -1
  101. package/dist/__tests__/VideoEncoder.test.d.ts +0 -5
  102. package/dist/__tests__/VideoEncoder.test.d.ts.map +0 -1
  103. package/dist/__tests__/VideoEncoder.test.js +0 -468
  104. package/dist/__tests__/VideoEncoder.test.js.map +0 -1
  105. package/dist/__tests__/VideoFrame.test.d.ts +0 -5
  106. package/dist/__tests__/VideoFrame.test.d.ts.map +0 -1
  107. package/dist/__tests__/VideoFrame.test.js +0 -246
  108. package/dist/__tests__/VideoFrame.test.js.map +0 -1
  109. package/dist/__tests__/aac-utils.test.d.ts +0 -2
  110. package/dist/__tests__/aac-utils.test.d.ts.map +0 -1
  111. package/dist/__tests__/aac-utils.test.js +0 -37
  112. package/dist/__tests__/aac-utils.test.js.map +0 -1
  113. package/dist/__tests__/avc-utils.test.d.ts +0 -2
  114. package/dist/__tests__/avc-utils.test.d.ts.map +0 -1
  115. package/dist/__tests__/avc-utils.test.js +0 -63
  116. package/dist/__tests__/avc-utils.test.js.map +0 -1
  117. package/dist/__tests__/hevc-utils.test.d.ts +0 -2
  118. package/dist/__tests__/hevc-utils.test.d.ts.map +0 -1
  119. package/dist/__tests__/hevc-utils.test.js +0 -78
  120. package/dist/__tests__/hevc-utils.test.js.map +0 -1
  121. package/dist/demos/demo-conversion.d.ts +0 -13
  122. package/dist/demos/demo-conversion.d.ts.map +0 -1
  123. package/dist/demos/demo-conversion.js +0 -301
  124. package/dist/demos/demo-conversion.js.map +0 -1
  125. package/dist/demos/demo-hwaccel-conversion.d.ts +0 -8
  126. package/dist/demos/demo-hwaccel-conversion.d.ts.map +0 -1
  127. package/dist/demos/demo-hwaccel-conversion.js +0 -161
  128. package/dist/demos/demo-hwaccel-conversion.js.map +0 -1
  129. package/dist/demos/demo-mediabunny.d.ts +0 -7
  130. package/dist/demos/demo-mediabunny.d.ts.map +0 -1
  131. package/dist/demos/demo-mediabunny.js +0 -78
  132. package/dist/demos/demo-mediabunny.js.map +0 -1
  133. package/dist/ffmpeg/FFmpegProcess.d.ts +0 -111
  134. package/dist/ffmpeg/FFmpegProcess.d.ts.map +0 -1
  135. package/dist/ffmpeg/FFmpegProcess.js +0 -543
  136. package/dist/ffmpeg/FFmpegProcess.js.map +0 -1
  137. package/dist/ffmpeg/audio-codecs.d.ts +0 -59
  138. package/dist/ffmpeg/audio-codecs.d.ts.map +0 -1
  139. package/dist/ffmpeg/audio-codecs.js +0 -99
  140. package/dist/ffmpeg/audio-codecs.js.map +0 -1
  141. package/dist/ffmpeg/formats.d.ts +0 -42
  142. package/dist/ffmpeg/formats.d.ts.map +0 -1
  143. package/dist/ffmpeg/formats.js +0 -147
  144. package/dist/ffmpeg/formats.js.map +0 -1
  145. package/dist/ffmpeg/index.d.ts +0 -10
  146. package/dist/ffmpeg/index.d.ts.map +0 -1
  147. package/dist/ffmpeg/index.js +0 -13
  148. package/dist/ffmpeg/index.js.map +0 -1
  149. package/dist/ffmpeg/parsers/annexb.d.ts +0 -88
  150. package/dist/ffmpeg/parsers/annexb.d.ts.map +0 -1
  151. package/dist/ffmpeg/parsers/annexb.js +0 -201
  152. package/dist/ffmpeg/parsers/annexb.js.map +0 -1
  153. package/dist/ffmpeg/parsers/index.d.ts +0 -6
  154. package/dist/ffmpeg/parsers/index.d.ts.map +0 -1
  155. package/dist/ffmpeg/parsers/index.js +0 -8
  156. package/dist/ffmpeg/parsers/index.js.map +0 -1
  157. package/dist/ffmpeg/parsers/ivf.d.ts +0 -54
  158. package/dist/ffmpeg/parsers/ivf.d.ts.map +0 -1
  159. package/dist/ffmpeg/parsers/ivf.js +0 -109
  160. package/dist/ffmpeg/parsers/ivf.js.map +0 -1
  161. package/dist/ffmpeg/types.d.ts +0 -85
  162. package/dist/ffmpeg/types.d.ts.map +0 -1
  163. package/dist/ffmpeg/types.js +0 -8
  164. package/dist/ffmpeg/types.js.map +0 -1
  165. package/dist/mediabunny/FFmpegAudioDecoder.d.ts +0 -24
  166. package/dist/mediabunny/FFmpegAudioDecoder.d.ts.map +0 -1
  167. package/dist/mediabunny/FFmpegAudioDecoder.js +0 -126
  168. package/dist/mediabunny/FFmpegAudioDecoder.js.map +0 -1
  169. package/dist/mediabunny/FFmpegAudioEncoder.d.ts +0 -44
  170. package/dist/mediabunny/FFmpegAudioEncoder.d.ts.map +0 -1
  171. package/dist/mediabunny/FFmpegAudioEncoder.js +0 -221
  172. package/dist/mediabunny/FFmpegAudioEncoder.js.map +0 -1
  173. package/dist/mediabunny/FFmpegVideoDecoder.d.ts +0 -25
  174. package/dist/mediabunny/FFmpegVideoDecoder.d.ts.map +0 -1
  175. package/dist/mediabunny/FFmpegVideoDecoder.js +0 -122
  176. package/dist/mediabunny/FFmpegVideoDecoder.js.map +0 -1
  177. package/dist/mediabunny/FFmpegVideoEncoder.d.ts +0 -49
  178. package/dist/mediabunny/FFmpegVideoEncoder.d.ts.map +0 -1
  179. package/dist/mediabunny/FFmpegVideoEncoder.js +0 -264
  180. package/dist/mediabunny/FFmpegVideoEncoder.js.map +0 -1
  181. package/dist/mediabunny/index.d.ts +0 -21
  182. package/dist/mediabunny/index.d.ts.map +0 -1
  183. package/dist/mediabunny/index.js +0 -33
  184. package/dist/mediabunny/index.js.map +0 -1
  185. package/dist/types.d.ts +0 -6
  186. package/dist/types.d.ts.map +0 -1
  187. package/dist/types.js +0 -6
  188. package/dist/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageDecoder.js","sourceRoot":"","sources":["../src/ImageDecoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,4BAA4B,CAAC"}
package/dist/Logger.d.ts DELETED
@@ -1,6 +0,0 @@
1
- /**
2
- * Logger - Re-export from new location for backwards compatibility
3
- * @deprecated Import from './utils/logger.js' instead
4
- */
5
- export * from './utils/logger.js';
6
- //# sourceMappingURL=Logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC"}
package/dist/Logger.js DELETED
@@ -1,6 +0,0 @@
1
- /**
2
- * Logger - Re-export from new location for backwards compatibility
3
- * @deprecated Import from './utils/logger.js' instead
4
- */
5
- export * from './utils/logger.js';
6
- //# sourceMappingURL=Logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * MediaCapabilities API - Query codec capabilities
3
- * https://developer.mozilla.org/en-US/docs/Web/API/MediaCapabilities
4
- *
5
- * Re-exports from capabilities/ module for backwards compatibility.
6
- */
7
- export { MediaCapabilities, mediaCapabilities, SUPPORTED_VIDEO_CODECS, SUPPORTED_AUDIO_CODECS, SMOOTH_THRESHOLDS, parseContentType, isVideoCodecSupported, isAudioCodecSupported, estimateSmoothPlayback, checkHardwareAcceleration, } from './capabilities/index.js';
8
- export type { VideoConfiguration, AudioConfiguration, MediaDecodingConfiguration, MediaEncodingConfiguration, MediaCapabilitiesInfo, MediaCapabilitiesDecodingInfo, MediaCapabilitiesEncodingInfo, } from './capabilities/index.js';
9
- //# sourceMappingURL=MediaCapabilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MediaCapabilities.d.ts","sourceRoot":"","sources":["../src/MediaCapabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * MediaCapabilities API - Query codec capabilities
3
- * https://developer.mozilla.org/en-US/docs/Web/API/MediaCapabilities
4
- *
5
- * Re-exports from capabilities/ module for backwards compatibility.
6
- */
7
- export { MediaCapabilities, mediaCapabilities, SUPPORTED_VIDEO_CODECS, SUPPORTED_AUDIO_CODECS, SMOOTH_THRESHOLDS, parseContentType, isVideoCodecSupported, isAudioCodecSupported, estimateSmoothPlayback, checkHardwareAcceleration, } from './capabilities/index.js';
8
- //# sourceMappingURL=MediaCapabilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MediaCapabilities.js","sourceRoot":"","sources":["../src/MediaCapabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * VideoDecoder - Re-export from new location for backwards compatibility
3
- * @deprecated Import from './decoders/VideoDecoder.js' instead
4
- */
5
- export * from './decoders/VideoDecoder.js';
6
- //# sourceMappingURL=VideoDecoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoDecoder.d.ts","sourceRoot":"","sources":["../src/VideoDecoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,4BAA4B,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * VideoDecoder - Re-export from new location for backwards compatibility
3
- * @deprecated Import from './decoders/VideoDecoder.js' instead
4
- */
5
- export * from './decoders/VideoDecoder.js';
6
- //# sourceMappingURL=VideoDecoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoDecoder.js","sourceRoot":"","sources":["../src/VideoDecoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,4BAA4B,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * VideoEncoder - Re-export from new location for backwards compatibility
3
- * @deprecated Import from './encoders/VideoEncoder.js' instead
4
- */
5
- export * from './encoders/VideoEncoder.js';
6
- //# sourceMappingURL=VideoEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoEncoder.d.ts","sourceRoot":"","sources":["../src/VideoEncoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,4BAA4B,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * VideoEncoder - Re-export from new location for backwards compatibility
3
- * @deprecated Import from './encoders/VideoEncoder.js' instead
4
- */
5
- export * from './encoders/VideoEncoder.js';
6
- //# sourceMappingURL=VideoEncoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoEncoder.js","sourceRoot":"","sources":["../src/VideoEncoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,4BAA4B,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * VideoFrame - Re-export from new location for backwards compatibility
3
- * @deprecated Import from './core/VideoFrame.js' or './formats/index.js' instead
4
- */
5
- export * from './core/VideoFrame.js';
6
- export { VideoColorSpace } from './formats/color-space.js';
7
- export { DOMRectReadOnly } from './types/geometry.js';
8
- export type { VideoColorSpaceInit } from './formats/color-space.js';
9
- export type { DOMRectInit, PlaneLayout } from './types/geometry.js';
10
- //# sourceMappingURL=VideoFrame.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoFrame.d.ts","sourceRoot":"","sources":["../src/VideoFrame.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * VideoFrame - Re-export from new location for backwards compatibility
3
- * @deprecated Import from './core/VideoFrame.js' or './formats/index.js' instead
4
- */
5
- export * from './core/VideoFrame.js';
6
- // Re-export classes that were previously in this file (runtime exports)
7
- export { VideoColorSpace } from './formats/color-space.js';
8
- export { DOMRectReadOnly } from './types/geometry.js';
9
- //# sourceMappingURL=VideoFrame.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoFrame.js","sourceRoot":"","sources":["../src/VideoFrame.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,sBAAsB,CAAC;AAErC,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for AudioData class
3
- */
4
- export {};
5
- //# sourceMappingURL=AudioData.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioData.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/AudioData.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,180 +0,0 @@
1
- /**
2
- * Tests for AudioData class
3
- */
4
- import { describe, it, expect } from 'vitest';
5
- import { AudioData } from '../core/AudioData.js';
6
- describe('AudioData', () => {
7
- describe('constructor', () => {
8
- it('should create AudioData from f32 interleaved data', () => {
9
- const sampleRate = 48000;
10
- const numberOfChannels = 2;
11
- const numberOfFrames = 100;
12
- const data = new Float32Array(numberOfFrames * numberOfChannels);
13
- const audioData = new AudioData({
14
- format: 'f32',
15
- sampleRate,
16
- numberOfChannels,
17
- numberOfFrames,
18
- timestamp: 1000,
19
- data,
20
- });
21
- expect(audioData.format).toBe('f32');
22
- expect(audioData.sampleRate).toBe(sampleRate);
23
- expect(audioData.numberOfChannels).toBe(numberOfChannels);
24
- expect(audioData.numberOfFrames).toBe(numberOfFrames);
25
- expect(audioData.timestamp).toBe(1000);
26
- audioData.close();
27
- });
28
- it('should create AudioData from f32-planar data', () => {
29
- const sampleRate = 44100;
30
- const numberOfChannels = 2;
31
- const numberOfFrames = 50;
32
- const data = new Float32Array(numberOfFrames * numberOfChannels);
33
- const audioData = new AudioData({
34
- format: 'f32-planar',
35
- sampleRate,
36
- numberOfChannels,
37
- numberOfFrames,
38
- timestamp: 0,
39
- data,
40
- });
41
- expect(audioData.format).toBe('f32-planar');
42
- audioData.close();
43
- });
44
- it('should create AudioData from s16 data', () => {
45
- const sampleRate = 44100;
46
- const numberOfChannels = 1;
47
- const numberOfFrames = 100;
48
- const data = new Int16Array(numberOfFrames);
49
- const audioData = new AudioData({
50
- format: 's16',
51
- sampleRate,
52
- numberOfChannels,
53
- numberOfFrames,
54
- timestamp: 0,
55
- data,
56
- });
57
- expect(audioData.format).toBe('s16');
58
- audioData.close();
59
- });
60
- it('should calculate duration correctly', () => {
61
- const sampleRate = 48000;
62
- const numberOfFrames = 48000; // 1 second
63
- const audioData = new AudioData({
64
- format: 'f32',
65
- sampleRate,
66
- numberOfChannels: 1,
67
- numberOfFrames,
68
- timestamp: 0,
69
- data: new Float32Array(numberOfFrames),
70
- });
71
- // Duration should be 1 second = 1,000,000 microseconds
72
- expect(audioData.duration).toBe(1000000);
73
- audioData.close();
74
- });
75
- });
76
- describe('allocationSize', () => {
77
- it('should return correct size for f32 format', () => {
78
- const numberOfFrames = 100;
79
- const numberOfChannels = 2;
80
- const audioData = new AudioData({
81
- format: 'f32',
82
- sampleRate: 48000,
83
- numberOfChannels,
84
- numberOfFrames,
85
- timestamp: 0,
86
- data: new Float32Array(numberOfFrames * numberOfChannels),
87
- });
88
- // f32 interleaved: frames * channels * 4 bytes
89
- const expectedSize = numberOfFrames * numberOfChannels * 4;
90
- expect(audioData.allocationSize({ planeIndex: 0 })).toBe(expectedSize);
91
- audioData.close();
92
- });
93
- it('should return correct size for s16 format', () => {
94
- const numberOfFrames = 100;
95
- const numberOfChannels = 2;
96
- const audioData = new AudioData({
97
- format: 's16',
98
- sampleRate: 48000,
99
- numberOfChannels,
100
- numberOfFrames,
101
- timestamp: 0,
102
- data: new Int16Array(numberOfFrames * numberOfChannels),
103
- });
104
- // s16 interleaved: frames * channels * 2 bytes
105
- const expectedSize = numberOfFrames * numberOfChannels * 2;
106
- expect(audioData.allocationSize({ planeIndex: 0 })).toBe(expectedSize);
107
- audioData.close();
108
- });
109
- it('should return correct size for planar format', () => {
110
- const numberOfFrames = 100;
111
- const audioData = new AudioData({
112
- format: 'f32-planar',
113
- sampleRate: 48000,
114
- numberOfChannels: 2,
115
- numberOfFrames,
116
- timestamp: 0,
117
- data: new Float32Array(numberOfFrames * 2),
118
- });
119
- // f32-planar: one plane = frames * 4 bytes
120
- const expectedSize = numberOfFrames * 4;
121
- expect(audioData.allocationSize({ planeIndex: 0 })).toBe(expectedSize);
122
- expect(audioData.allocationSize({ planeIndex: 1 })).toBe(expectedSize);
123
- audioData.close();
124
- });
125
- });
126
- describe('copyTo', () => {
127
- it('should copy f32 interleaved data', () => {
128
- const sourceData = new Float32Array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6]);
129
- const audioData = new AudioData({
130
- format: 'f32',
131
- sampleRate: 48000,
132
- numberOfChannels: 2,
133
- numberOfFrames: 3,
134
- timestamp: 0,
135
- data: sourceData,
136
- });
137
- const dest = new Float32Array(6);
138
- audioData.copyTo(dest, { planeIndex: 0 });
139
- expect(Array.from(dest)).toEqual(Array.from(sourceData));
140
- audioData.close();
141
- });
142
- });
143
- describe('clone', () => {
144
- it('should create an independent copy', () => {
145
- const audioData = new AudioData({
146
- format: 'f32',
147
- sampleRate: 48000,
148
- numberOfChannels: 2,
149
- numberOfFrames: 100,
150
- timestamp: 1000,
151
- data: new Float32Array(200),
152
- });
153
- const clone = audioData.clone();
154
- expect(clone.format).toBe(audioData.format);
155
- expect(clone.sampleRate).toBe(audioData.sampleRate);
156
- expect(clone.numberOfChannels).toBe(audioData.numberOfChannels);
157
- expect(clone.numberOfFrames).toBe(audioData.numberOfFrames);
158
- expect(clone.timestamp).toBe(audioData.timestamp);
159
- audioData.close();
160
- // Clone should still work
161
- expect(clone.numberOfFrames).toBe(100);
162
- clone.close();
163
- });
164
- });
165
- describe('close', () => {
166
- it('should throw when accessing closed AudioData', () => {
167
- const audioData = new AudioData({
168
- format: 'f32',
169
- sampleRate: 48000,
170
- numberOfChannels: 1,
171
- numberOfFrames: 10,
172
- timestamp: 0,
173
- data: new Float32Array(10),
174
- });
175
- audioData.close();
176
- expect(() => audioData.allocationSize({ planeIndex: 0 })).toThrow();
177
- });
178
- });
179
- });
180
- //# sourceMappingURL=AudioData.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioData.test.js","sourceRoot":"","sources":["../../src/__tests__/AudioData.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for AudioDecoder class
3
- */
4
- export {};
5
- //# sourceMappingURL=AudioDecoder.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioDecoder.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/AudioDecoder.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}