opus-codec 1.0.0 → 1.0.3

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 (71) hide show
  1. package/es/opus/Decoder.d.ts.map +1 -1
  2. package/es/opus/Decoder.js +1 -0
  3. package/es/opus/Decoder.js.map +1 -1
  4. package/es/opus/Encoder.d.ts.map +1 -1
  5. package/es/opus/Encoder.js +5 -3
  6. package/es/opus/Encoder.js.map +1 -1
  7. package/es/opus/OpusGettersAndSetters.d.ts +4 -2
  8. package/es/opus/OpusGettersAndSetters.d.ts.map +1 -1
  9. package/es/opus/OpusGettersAndSetters.js +45 -117
  10. package/es/opus/OpusGettersAndSetters.js.map +1 -1
  11. package/es/opus/constants.js +30 -30
  12. package/es/opus/constants.js.map +1 -1
  13. package/es/opus/index.d.ts +0 -1
  14. package/es/opus/index.d.ts.map +1 -1
  15. package/es/opus/index.js +0 -1
  16. package/es/opus/index.js.map +1 -1
  17. package/es/runtime/Buffer.d.ts +1 -0
  18. package/es/runtime/Buffer.d.ts.map +1 -1
  19. package/es/runtime/Buffer.js +3 -0
  20. package/es/runtime/Buffer.js.map +1 -1
  21. package/es/runtime/Integer.d.ts.map +1 -1
  22. package/es/runtime/Integer.js +3 -0
  23. package/es/runtime/Integer.js.map +1 -1
  24. package/es/runtime/ResourcesHolder.d.ts +1 -0
  25. package/es/runtime/ResourcesHolder.d.ts.map +1 -1
  26. package/es/runtime/ResourcesHolder.js +2 -1
  27. package/es/runtime/ResourcesHolder.js.map +1 -1
  28. package/es/runtime/Runtime.d.ts +1 -0
  29. package/es/runtime/Runtime.d.ts.map +1 -1
  30. package/es/runtime/Runtime.js +10 -1
  31. package/es/runtime/Runtime.js.map +1 -1
  32. package/native/index.d.ts +4 -1
  33. package/native/index.js +44 -14
  34. package/native/index.wasm +0 -0
  35. package/native/opus-ts-getters-and-setters.d.ts +39 -39
  36. package/opus/Decoder.d.ts.map +1 -1
  37. package/opus/Decoder.js +1 -0
  38. package/opus/Decoder.js.map +1 -1
  39. package/opus/Encoder.d.ts.map +1 -1
  40. package/opus/Encoder.js +5 -3
  41. package/opus/Encoder.js.map +1 -1
  42. package/opus/OpusGettersAndSetters.d.ts +4 -2
  43. package/opus/OpusGettersAndSetters.d.ts.map +1 -1
  44. package/opus/OpusGettersAndSetters.js +45 -117
  45. package/opus/OpusGettersAndSetters.js.map +1 -1
  46. package/opus/constants.js +30 -30
  47. package/opus/constants.js.map +1 -1
  48. package/opus/index.d.ts +0 -1
  49. package/opus/index.d.ts.map +1 -1
  50. package/opus/index.js +0 -1
  51. package/opus/index.js.map +1 -1
  52. package/package.json +13 -8
  53. package/runtime/Buffer.d.ts +1 -0
  54. package/runtime/Buffer.d.ts.map +1 -1
  55. package/runtime/Buffer.js +3 -0
  56. package/runtime/Buffer.js.map +1 -1
  57. package/runtime/Integer.d.ts.map +1 -1
  58. package/runtime/Integer.js +3 -0
  59. package/runtime/Integer.js.map +1 -1
  60. package/runtime/ResourcesHolder.d.ts +1 -0
  61. package/runtime/ResourcesHolder.d.ts.map +1 -1
  62. package/runtime/ResourcesHolder.js +2 -1
  63. package/runtime/ResourcesHolder.js.map +1 -1
  64. package/runtime/Runtime.d.ts +1 -0
  65. package/runtime/Runtime.d.ts.map +1 -1
  66. package/runtime/Runtime.js +10 -1
  67. package/runtime/Runtime.js.map +1 -1
  68. package/opus/RingBuffer.d.ts +0 -3
  69. package/opus/RingBuffer.d.ts.map +0 -1
  70. package/opus/RingBuffer.js +0 -2
  71. package/opus/RingBuffer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Integer.d.ts","sourceRoot":"","sources":["../../runtime/Integer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,OAAQ,YAAW,SAAS;;gBAG1B,OAAO,EAAE,OAAO;IAK5B,KAAK;IAOL,GAAG,CAAC,KAAK,EAAE,MAAM;IAIjB,IAAI;IAIJ,MAAM;IAIN,OAAO;IAKd,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnB"}
1
+ {"version":3,"file":"Integer.d.ts","sourceRoot":"","sources":["../../runtime/Integer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,OAAQ,YAAW,SAAS;;gBAG1B,OAAO,EAAE,OAAO;IAK5B,KAAK;IAOL,GAAG,CAAC,KAAK,EAAE,MAAM;IAIjB,IAAI;IAIJ,MAAM;IAON,OAAO;IAKd,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnB"}
@@ -18,6 +18,9 @@ export default class Integer {
18
18
  return this.#runtime.originalRuntime().size_of_int();
19
19
  }
20
20
  offset() {
21
+ if (this.#offset === 0) {
22
+ throw new Error('Integer has been destroyed');
23
+ }
21
24
  return this.#offset;
22
25
  }
23
26
  destroy() {
@@ -1 +1 @@
1
- {"version":3,"file":"Integer.js","sourceRoot":"","sources":["../../runtime/Integer.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,OAAO;IACf,QAAQ,CAAC;IAClB,OAAO,CAAC;IACR,YAAmB,OAAgB;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEM,KAAK;QACR,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEM,GAAG,CAAC,KAAa;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;CACJ"}
1
+ {"version":3,"file":"Integer.js","sourceRoot":"","sources":["../../runtime/Integer.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,OAAO;IACf,QAAQ,CAAC;IAClB,OAAO,CAAC;IACR,YAAmB,OAAgB;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEM,KAAK;QACR,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEM,GAAG,CAAC,KAAa;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,CAAC;IAEM,MAAM;QACT,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;CACJ"}
@@ -7,5 +7,6 @@ export default class ResourcesHolder {
7
7
  }
8
8
  export interface IResource {
9
9
  destroy(): void;
10
+ [Symbol.dispose](): void;
10
11
  }
11
12
  //# sourceMappingURL=ResourcesHolder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourcesHolder.d.ts","sourceRoot":"","sources":["../../runtime/ResourcesHolder.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,eAAe;;;IAIzB,GAAG,CAAC,QAAQ,EAAE,SAAS;IAGvB,OAAO;IASd,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnB;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,IAAI,IAAI,CAAC;CACnB"}
1
+ {"version":3,"file":"ResourcesHolder.d.ts","sourceRoot":"","sources":["../../runtime/ResourcesHolder.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,eAAe;;;IAIzB,GAAG,CAAC,QAAQ,EAAE,SAAS;IAGvB,OAAO;IAUd,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnB;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,IAAI,IAAI,CAAC;IAChB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC5B"}
@@ -9,10 +9,11 @@ export default class ResourcesHolder {
9
9
  if (this.#destroyed) {
10
10
  throw new Error('ResourcesHolder already destroyed');
11
11
  }
12
- this.#destroyed = true;
13
12
  for (const r of this.#resources) {
14
13
  r.destroy();
15
14
  }
15
+ this.#resources.clear();
16
+ this.#destroyed = true;
16
17
  }
17
18
  [Symbol.dispose]() {
18
19
  this.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"ResourcesHolder.js","sourceRoot":"","sources":["../../runtime/ResourcesHolder.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,eAAe;IACvB,UAAU,GAAG,IAAI,GAAG,EAAa,CAAC;IAC3C,UAAU,GAAG,KAAK,CAAC;IACnB,gBAAsB,CAAC;IAChB,GAAG,CAAC,QAAmB;QAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACM,OAAO;QACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,CAAC,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;IACL,CAAC;IACD,CAAC,MAAM,CAAC,OAAO,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;CACJ"}
1
+ {"version":3,"file":"ResourcesHolder.js","sourceRoot":"","sources":["../../runtime/ResourcesHolder.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,eAAe;IACvB,UAAU,GAAG,IAAI,GAAG,EAAa,CAAC;IAC3C,UAAU,GAAG,KAAK,CAAC;IACnB,gBAAsB,CAAC;IAChB,GAAG,CAAC,QAAmB;QAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACM,OAAO;QACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,CAAC,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,CAAC,MAAM,CAAC,OAAO,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;CACJ"}
@@ -7,5 +7,6 @@ export default class Runtime {
7
7
  free(offset: number): void;
8
8
  view(): DataView<ArrayBuffer>;
9
9
  malloc(len: number): number;
10
+ [Symbol.dispose](): void;
10
11
  }
11
12
  //# sourceMappingURL=Runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.d.ts","sourceRoot":"","sources":["../../runtime/Runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,OAAO;;gBAEL,OAAO,EAAE,iBAAiB;IAGtC,eAAe;IAGf,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAGnC,IAAI,CAAC,MAAM,EAAE,MAAM;IAGnB,IAAI;IAGJ,MAAM,CAAC,GAAG,EAAE,MAAM;CAO5B"}
1
+ {"version":3,"file":"Runtime.d.ts","sourceRoot":"","sources":["../../runtime/Runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,OAAO;;gBAGL,OAAO,EAAE,iBAAiB;IAGtC,eAAe;IAGf,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAGnC,IAAI,CAAC,MAAM,EAAE,MAAM;IAInB,IAAI;IAGJ,MAAM,CAAC,GAAG,EAAE,MAAM;IASzB,CAAC,MAAM,CAAC,OAAO,CAAC;CAOnB"}
@@ -1,5 +1,6 @@
1
1
  export default class Runtime {
2
2
  #runtime;
3
+ #allocations = new Map();
3
4
  constructor(runtime) {
4
5
  this.#runtime = runtime;
5
6
  }
@@ -10,6 +11,7 @@ export default class Runtime {
10
11
  return new Uint8Array(this.#runtime.memory.buffer, start, end - start);
11
12
  }
12
13
  free(offset) {
14
+ this.#allocations.delete(offset);
13
15
  this.#runtime.free(offset);
14
16
  }
15
17
  view() {
@@ -18,9 +20,16 @@ export default class Runtime {
18
20
  malloc(len) {
19
21
  const offset = this.#runtime.malloc(len);
20
22
  if (!offset) {
21
- throw new Error(`failed to allocate ${len} bytes`);
23
+ throw new Error(`Failed to allocate ${len} bytes`);
22
24
  }
25
+ const stack = new Error().stack ?? null;
26
+ this.#allocations.set(offset, stack);
23
27
  return offset;
24
28
  }
29
+ [Symbol.dispose]() {
30
+ for (const [offset, stack] of this.#allocations) {
31
+ throw new Error(`Memory leak detected at offset ${offset}\nAllocation stack:\n${stack}`);
32
+ }
33
+ }
25
34
  }
26
35
  //# sourceMappingURL=Runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../../runtime/Runtime.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,OAAO;IACf,QAAQ,CAAC;IAClB,YAAmB,OAA0B;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IACM,eAAe;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACM,QAAQ,CAAC,KAAa,EAAE,GAAW;QACtC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;IAC3E,CAAC;IACM,IAAI,CAAC,MAAc;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACM,IAAI;QACP,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IACM,MAAM,CAAC,GAAW;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,QAAQ,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
1
+ {"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../../runtime/Runtime.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,OAAO;IACf,QAAQ,CAAC;IACT,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;IACzD,YAAmB,OAA0B;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IACM,eAAe;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACM,QAAQ,CAAC,KAAa,EAAE,GAAW;QACtC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;IAC3E,CAAC;IACM,IAAI,CAAC,MAAc;QACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACM,IAAI;QACP,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IACM,MAAM,CAAC,GAAW;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,QAAQ,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,CAAC,MAAM,CAAC,OAAO,CAAC;QACZ,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACX,kCAAkC,MAAM,wBAAwB,KAAK,EAAE,CAC1E,CAAC;QACN,CAAC;IACL,CAAC;CACJ"}
package/native/index.d.ts CHANGED
@@ -2,7 +2,10 @@ type GeneratedOpusGettersAndSetters =
2
2
  import('./opus-ts-getters-and-setters.d.ts').GeneratedOpusGettersAndSetters;
3
3
 
4
4
  export interface EmscriptenRuntime extends GeneratedOpusGettersAndSetters {
5
- memory: { buffer: ArrayBuffer };
5
+ memory: { buffer: ArrayBuffer; grow(delta: number): number };
6
+ __data_end: { value: number };
7
+ __heap_end: { value: number };
8
+ __heap_base: { value: number };
6
9
  malloc(n: number): number;
7
10
  size_of_int(): number;
8
11
  size_of_void_ptr(): number;
package/native/index.js CHANGED
@@ -1,21 +1,44 @@
1
+ async function wasmNoop(returnValue) {
2
+ return (...args) => {
3
+ console.log(args);
4
+ return returnValue; // Success
5
+ };
6
+ }
7
+
1
8
  async function createModule({ wasmFileHref } = {}) {
2
- const memory = new WebAssembly.Memory({ initial: 2 });
9
+ const wasi_snapshot_preview1 = {};
10
+ for (const funcName of [
11
+ 'args_get',
12
+ 'args_sizes_get',
13
+ 'fd_close',
14
+ 'fd_seek',
15
+ 'fd_write',
16
+ 'proc_exit'
17
+ ]) {
18
+ wasi_snapshot_preview1[funcName] = function (args) {
19
+ console.log('[%s] called with %o', funcName, args);
20
+ return 0; // Success
21
+ };
22
+ }
23
+
3
24
  const importObject = {
4
- env: {
5
- memory,
6
- },
7
- wasi_snapshot_preview1: {
8
- args_get: () => 1,
9
- args_sizes_get: () => 1,
10
- fd_close: () => 1,
11
- fd_seek: () => 1,
12
- fd_write: () => 1,
13
- proc_exit: () => 0,
14
- },
25
+ wasi_snapshot_preview1
15
26
  };
16
27
 
28
+ let memory;
29
+ const shouldImportMemory = process.env['WASI_IMPORT_MEMORY'];
30
+
31
+ if (shouldImportMemory) {
32
+ memory = new WebAssembly.Memory({ initial: 256, maximum: 32768 });
33
+ importObject['env'] = {
34
+ memory
35
+ };
36
+ } else {
37
+ memory = null;
38
+ }
39
+
17
40
  let pendingWebAssemblyInstantiateSource;
18
- if ('process' in globalThis) {
41
+ if (process.env['NODE_ENV'] !== 'production') {
19
42
  const fs = await import('fs');
20
43
  const path = await import('path');
21
44
  const wasmPath = path.resolve(import.meta.dirname, 'index.wasm');
@@ -42,9 +65,16 @@ async function createModule({ wasmFileHref } = {}) {
42
65
  const webAssemblyInstantiatedSource =
43
66
  await pendingWebAssemblyInstantiateSource;
44
67
 
68
+ if (!shouldImportMemory) {
69
+ memory = webAssemblyInstantiatedSource.instance.exports.memory;
70
+ }
71
+ if (memory === null) {
72
+ throw new Error('Memory was expected to be imported but is null');
73
+ }
74
+
45
75
  return {
46
76
  ...webAssemblyInstantiatedSource.instance.exports,
47
- memory,
77
+ memory
48
78
  };
49
79
  }
50
80
 
package/native/index.wasm CHANGED
Binary file
@@ -1,41 +1,41 @@
1
1
  export type GeneratedOpusGettersAndSetters = {
2
- _opus_set_complexity(enc: number,value: number): number;
3
- _opus_get_complexity(enc: number,value: number): number;
4
- _opus_set_bitrate(enc: number,value: number): number;
5
- _opus_get_bitrate(enc: number,value: number): number;
6
- _opus_set_vbr(enc: number,value: number): number;
7
- _opus_get_vbr(enc: number,value: number): number;
8
- _opus_set_vbr_constraint(enc: number,value: number): number;
9
- _opus_get_vbr_constraint(enc: number,value: number): number;
10
- _opus_set_force_channels(enc: number,value: number): number;
11
- _opus_get_force_channels(enc: number,value: number): number;
12
- _opus_set_max_bandwidth(enc: number,value: number): number;
13
- _opus_get_max_bandwidth(enc: number,value: number): number;
14
- _opus_set_bandwidth(enc: number,value: number): number;
15
- _opus_set_signal(enc: number,value: number): number;
16
- _opus_get_signal(enc: number,value: number): number;
17
- _opus_set_application(enc: number,value: number): number;
18
- _opus_get_application(enc: number,value: number): number;
19
- _opus_get_lookahead(enc: number,value: number): number;
20
- _opus_set_inband_fec(enc: number,value: number): number;
21
- _opus_get_inband_fec(enc: number,value: number): number;
22
- _opus_set_packet_loss_perc(enc: number,value: number): number;
23
- _opus_get_packet_loss_perc(enc: number,value: number): number;
24
- _opus_set_dtx(enc: number,value: number): number;
25
- _opus_get_dtx(enc: number,value: number): number;
26
- _opus_set_lsb_depth(enc: number,value: number): number;
27
- _opus_get_lsb_depth(enc: number,value: number): number;
28
- _opus_set_expert_frame_duration(enc: number,value: number): number;
29
- _opus_get_expert_frame_duration(enc: number,value: number): number;
30
- _opus_set_prediction_disabled(enc: number,value: number): number;
31
- _opus_get_prediction_disabled(enc: number,value: number): number;
32
- _opus_get_bandwidth(enc: number,value: number): number;
33
- _opus_get_sample_rate(enc: number,value: number): number;
34
- _opus_set_phase_inversion_disabled(enc: number,value: number): number;
35
- _opus_get_phase_inversion_disabled(enc: number,value: number): number;
36
- _opus_get_in_dtx(enc: number,value: number): number;
37
- _opus_set_gain(enc: number,value: number): number;
38
- _opus_get_gain(enc: number,value: number): number;
39
- _opus_get_last_packet_duration(enc: number,value: number): number;
40
- _opus_get_pitch(enc: number,value: number): number;
2
+ opus_set_complexity(enc: number,value: number): number;
3
+ opus_get_complexity(enc: number,value: number): number;
4
+ opus_set_bitrate(enc: number,value: number): number;
5
+ opus_get_bitrate(enc: number,value: number): number;
6
+ opus_set_vbr(enc: number,value: number): number;
7
+ opus_get_vbr(enc: number,value: number): number;
8
+ opus_set_vbr_constraint(enc: number,value: number): number;
9
+ opus_get_vbr_constraint(enc: number,value: number): number;
10
+ opus_set_force_channels(enc: number,value: number): number;
11
+ opus_get_force_channels(enc: number,value: number): number;
12
+ opus_set_max_bandwidth(enc: number,value: number): number;
13
+ opus_get_max_bandwidth(enc: number,value: number): number;
14
+ opus_set_bandwidth(enc: number,value: number): number;
15
+ opus_set_signal(enc: number,value: number): number;
16
+ opus_get_signal(enc: number,value: number): number;
17
+ opus_set_application(enc: number,value: number): number;
18
+ opus_get_application(enc: number,value: number): number;
19
+ opus_get_lookahead(enc: number,value: number): number;
20
+ opus_set_inband_fec(enc: number,value: number): number;
21
+ opus_get_inband_fec(enc: number,value: number): number;
22
+ opus_set_packet_loss_perc(enc: number,value: number): number;
23
+ opus_get_packet_loss_perc(enc: number,value: number): number;
24
+ opus_set_dtx(enc: number,value: number): number;
25
+ opus_get_dtx(enc: number,value: number): number;
26
+ opus_set_lsb_depth(enc: number,value: number): number;
27
+ opus_get_lsb_depth(enc: number,value: number): number;
28
+ opus_set_expert_frame_duration(enc: number,value: number): number;
29
+ opus_get_expert_frame_duration(enc: number,value: number): number;
30
+ opus_set_prediction_disabled(enc: number,value: number): number;
31
+ opus_get_prediction_disabled(enc: number,value: number): number;
32
+ opus_get_bandwidth(enc: number,value: number): number;
33
+ opus_get_sample_rate(enc: number,value: number): number;
34
+ opus_set_phase_inversion_disabled(enc: number,value: number): number;
35
+ opus_get_phase_inversion_disabled(enc: number,value: number): number;
36
+ opus_get_in_dtx(enc: number,value: number): number;
37
+ opus_set_gain(enc: number,value: number): number;
38
+ opus_get_gain(enc: number,value: number): number;
39
+ opus_get_last_packet_duration(enc: number,value: number): number;
40
+ opus_get_pitch(enc: number,value: number): number;
41
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Decoder.d.ts","sourceRoot":"","sources":["Decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoC,MAAM,qBAAqB,CAAC;AAEhF,MAAM,CAAC,OAAO,OAAO,OAAO;;gBASpB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;IAwBd,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,SAAI;IAwC5C,OAAO;IAQP,OAAO;IAKd,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnB"}
1
+ {"version":3,"file":"Decoder.d.ts","sourceRoot":"","sources":["Decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoC,MAAM,qBAAqB,CAAC;AAEhF,MAAM,CAAC,OAAO,OAAO,OAAO;;gBASpB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;IAyBd,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,SAAI;IAwC5C,OAAO;IAQP,OAAO;IAKd,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnB"}
package/opus/Decoder.js CHANGED
@@ -26,6 +26,7 @@ export default class Decoder {
26
26
  throw new Error('Failed to create decoder');
27
27
  }
28
28
  this.#pcm = new Buffer(runtime, this.#frameSize * channels * Float32Array.BYTES_PER_ELEMENT);
29
+ this.#holder.add(this.#pcm);
29
30
  }
30
31
  decodeFloat(value, decodeFec = 0) {
31
32
  let data = this.#data;
@@ -1 +1 @@
1
- {"version":3,"file":"Decoder.js","sourceRoot":"","sources":["Decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Decoder.js","sourceRoot":"","sources":["Decoder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Encoder.d.ts","sourceRoot":"","sources":["Encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,qBAAqB;;gBAQlD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM;IACnB;;OAEG;IACH,eAAe,EAAE,MAAM;IACvB;;OAEG;IACH,eAAe,EAAE,MAAM;IAyCpB,OAAO;IAGd;;;;;;OAMG;IACI,WAAW,CACd,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM;IA6BjB,OAAO;IAId,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnB"}
1
+ {"version":3,"file":"Encoder.d.ts","sourceRoot":"","sources":["Encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,qBAAqB;;gBAQlD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM;IACnB;;OAEG;IACH,eAAe,EAAE,MAAM;IACvB;;OAEG;IACH,eAAe,EAAE,MAAM;IA2CpB,OAAO;IAGd;;;;;;OAMG;IACI,WAAW,CACd,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM;IA6BR,OAAO;IAKP,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnC"}
package/opus/Encoder.js CHANGED
@@ -16,6 +16,9 @@ export default class Encoder extends OpusGettersAndSetters {
16
16
  * how many bytes will we be receiving through encodeFloat() function
17
17
  */
18
18
  pcmBufferLength) {
19
+ if (!outBufferLength) {
20
+ throw new Error('Output buffer length must be more than 0');
21
+ }
19
22
  const error = new Integer(runtime);
20
23
  const encoderId = runtime
21
24
  .originalRuntime()
@@ -43,11 +46,9 @@ export default class Encoder extends OpusGettersAndSetters {
43
46
  */
44
47
  this.#encoder = encoderId;
45
48
  if (error.value() < 0) {
49
+ this.destroy();
46
50
  throw new Error('Failed to create encoder');
47
51
  }
48
- if (!outBufferLength) {
49
- throw new Error('outBufferLength must be more than 0');
50
- }
51
52
  }
52
53
  encoded() {
53
54
  return this.#encoded.data();
@@ -75,6 +76,7 @@ export default class Encoder extends OpusGettersAndSetters {
75
76
  return result;
76
77
  }
77
78
  destroy() {
79
+ super.destroy();
78
80
  this.#holder.destroy();
79
81
  this.#runtime.originalRuntime().opus_encoder_destroy(this.#encoder);
80
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Encoder.js","sourceRoot":"","sources":["Encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Encoder.js","sourceRoot":"","sources":["Encoder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Runtime } from '../runtime/index.js';
2
- export declare class OpusGettersAndSetters {
1
+ import { Runtime, type IResource } from '../runtime/index.js';
2
+ export declare class OpusGettersAndSetters implements IResource {
3
3
  #private;
4
4
  constructor(runtime: Runtime, opusEncoderOffset: number);
5
5
  setComplexity(x: number): boolean;
@@ -41,5 +41,7 @@ export declare class OpusGettersAndSetters {
41
41
  getGain(): number;
42
42
  getLastPacketduration(): number;
43
43
  getPitch(): number;
44
+ destroy(): void;
45
+ [Symbol.dispose](): void;
44
46
  }
45
47
  //# sourceMappingURL=OpusGettersAndSetters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpusGettersAndSetters.d.ts","sourceRoot":"","sources":["OpusGettersAndSetters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,qBAAqB;;gBAIX,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM;IAKvD,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMjC,aAAa,IAAI,MAAM;IAWvB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAM9B,UAAU,IAAI,MAAM;IAQpB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAM1B,MAAM,IAAI,MAAM;IAQhB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMpC,gBAAgB,IAAI,MAAM;IAW1B,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMpC,gBAAgB,IAAI,MAAM;IAW1B,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMnC,eAAe,IAAI,MAAM;IAWzB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMhC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAM7B,SAAS,IAAI,MAAM;IAQnB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMlC,cAAc,IAAI,MAAM;IAWxB,YAAY,IAAI,MAAM;IAQtB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMhC,YAAY,IAAI,MAAM;IAWtB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMrC,iBAAiB,IAAI,MAAM;IAW3B,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAM1B,MAAM,IAAI,MAAM;IAQhB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAM/B,WAAW,IAAI,MAAM;IAQrB,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAM1C,sBAAsB,IAAI,MAAM;IAWhC,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAMzC,qBAAqB,IAAI,MAAM;IAW/B,YAAY,IAAI,MAAM;IAQtB,aAAa,IAAI,MAAM;IAWvB,yBAAyB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAM7C,yBAAyB,IAAI,MAAM;IAWnC,QAAQ,IAAI,MAAM;IAQlB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAM3B,OAAO,IAAI,MAAM;IAQjB,qBAAqB,IAAI,MAAM;IAW/B,QAAQ,IAAI,MAAM;CAQ5B"}
1
+ {"version":3,"file":"OpusGettersAndSetters.d.ts","sourceRoot":"","sources":["OpusGettersAndSetters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,qBAAa,qBAAsB,YAAW,SAAS;;gBAIhC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM;IAKvD,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIjC,aAAa,IAAI,MAAM;IAKvB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI9B,UAAU,IAAI,MAAM;IAKpB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI1B,MAAM,IAAI,MAAM;IAKhB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIpC,gBAAgB,IAAI,MAAM;IAK1B,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIpC,gBAAgB,IAAI,MAAM;IAK1B,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAInC,eAAe,IAAI,MAAM;IAKzB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIhC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI7B,SAAS,IAAI,MAAM;IAKnB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlC,cAAc,IAAI,MAAM;IAKxB,YAAY,IAAI,MAAM;IAKtB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIhC,YAAY,IAAI,MAAM;IAKtB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIrC,iBAAiB,IAAI,MAAM;IAK3B,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI1B,MAAM,IAAI,MAAM;IAKhB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI/B,WAAW,IAAI,MAAM;IAKrB,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI1C,sBAAsB,IAAI,MAAM;IAKhC,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIzC,qBAAqB,IAAI,MAAM;IAK/B,YAAY,IAAI,MAAM;IAKtB,aAAa,IAAI,MAAM;IAKvB,yBAAyB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI7C,yBAAyB,IAAI,MAAM;IAKnC,QAAQ,IAAI,MAAM;IAKlB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI3B,OAAO,IAAI,MAAM;IAKjB,qBAAqB,IAAI,MAAM;IAK/B,QAAQ,IAAI,MAAM;IAKlB,OAAO;IAGd,CAAC,MAAM,CAAC,OAAO,CAAC;CAGnB"}