react-native-audio-api 0.11.0-nightly-010ea11-20251110 → 0.11.0-nightly-c8d92af-20251111

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 (64) hide show
  1. package/common/cpp/audioapi/AudioAPIModuleInstaller.h +1 -3
  2. package/common/cpp/audioapi/HostObjects/AudioContextHostObject.cpp +6 -2
  3. package/common/cpp/audioapi/HostObjects/OfflineAudioContextHostObject.cpp +3 -1
  4. package/common/cpp/audioapi/HostObjects/sources/AudioBufferBaseSourceNodeHostObject.cpp +19 -0
  5. package/common/cpp/audioapi/HostObjects/sources/AudioBufferBaseSourceNodeHostObject.h +3 -0
  6. package/common/cpp/audioapi/core/AudioContext.cpp +19 -24
  7. package/common/cpp/audioapi/core/AudioContext.h +2 -2
  8. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +16 -0
  9. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +2 -0
  10. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +23 -3
  11. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +2 -0
  12. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +16 -3
  13. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +5 -5
  14. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +10 -0
  15. package/common/cpp/audioapi/dsp/VectorMath.cpp +15 -15
  16. package/common/cpp/test/src/biquad/BiquadFilterTest.cpp +5 -5
  17. package/ios/audioapi/ios/AudioAPIModule.h +6 -4
  18. package/ios/audioapi/ios/AudioAPIModule.mm +62 -41
  19. package/ios/audioapi/ios/core/IOSAudioPlayer.h +1 -1
  20. package/ios/audioapi/ios/core/IOSAudioPlayer.mm +33 -24
  21. package/ios/audioapi/ios/core/IOSAudioRecorder.h +3 -2
  22. package/ios/audioapi/ios/core/IOSAudioRecorder.mm +6 -4
  23. package/ios/audioapi/ios/core/NativeAudioPlayer.m +18 -9
  24. package/ios/audioapi/ios/core/NativeAudioRecorder.h +2 -1
  25. package/ios/audioapi/ios/core/NativeAudioRecorder.m +45 -27
  26. package/ios/audioapi/ios/core/utils/AudioDecoder.mm +44 -19
  27. package/ios/audioapi/ios/system/AudioEngine.h +4 -2
  28. package/ios/audioapi/ios/system/AudioEngine.mm +22 -8
  29. package/ios/audioapi/ios/system/AudioSessionManager.h +9 -5
  30. package/ios/audioapi/ios/system/AudioSessionManager.mm +51 -21
  31. package/ios/audioapi/ios/system/LockScreenManager.mm +137 -88
  32. package/ios/audioapi/ios/system/NotificationManager.mm +79 -48
  33. package/lib/commonjs/api.js.map +1 -1
  34. package/lib/commonjs/core/AudioBufferBaseSourceNode.js +3 -0
  35. package/lib/commonjs/core/AudioBufferBaseSourceNode.js.map +1 -1
  36. package/lib/commonjs/core/AudioContext.js +1 -1
  37. package/lib/commonjs/core/AudioContext.js.map +1 -1
  38. package/lib/commonjs/web-core/AudioContext.js +1 -1
  39. package/lib/commonjs/web-core/AudioContext.js.map +1 -1
  40. package/lib/module/api.js.map +1 -1
  41. package/lib/module/core/AudioBufferBaseSourceNode.js +3 -0
  42. package/lib/module/core/AudioBufferBaseSourceNode.js.map +1 -1
  43. package/lib/module/core/AudioContext.js +1 -1
  44. package/lib/module/core/AudioContext.js.map +1 -1
  45. package/lib/module/web-core/AudioContext.js +1 -1
  46. package/lib/module/web-core/AudioContext.js.map +1 -1
  47. package/lib/typescript/api.d.ts +1 -1
  48. package/lib/typescript/api.d.ts.map +1 -1
  49. package/lib/typescript/core/AudioBufferBaseSourceNode.d.ts +1 -0
  50. package/lib/typescript/core/AudioBufferBaseSourceNode.d.ts.map +1 -1
  51. package/lib/typescript/core/AudioContext.d.ts.map +1 -1
  52. package/lib/typescript/interfaces.d.ts +2 -0
  53. package/lib/typescript/interfaces.d.ts.map +1 -1
  54. package/lib/typescript/types.d.ts +0 -1
  55. package/lib/typescript/types.d.ts.map +1 -1
  56. package/lib/typescript/web-core/AudioContext.d.ts +1 -1
  57. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
  58. package/package.json +1 -1
  59. package/src/api.ts +0 -1
  60. package/src/core/AudioBufferBaseSourceNode.ts +8 -0
  61. package/src/core/AudioContext.ts +0 -1
  62. package/src/interfaces.ts +3 -0
  63. package/src/types.ts +0 -1
  64. package/src/web-core/AudioContext.tsx +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-audio-api",
3
- "version": "0.11.0-nightly-010ea11-20251110",
3
+ "version": "0.11.0-nightly-c8d92af-20251111",
4
4
  "description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
5
5
  "bin": {
6
6
  "setup-rn-audio-api-web": "./scripts/setup-rn-audio-api-web.js"
package/src/api.ts CHANGED
@@ -13,7 +13,6 @@ import type {
13
13
  declare global {
14
14
  var createAudioContext: (
15
15
  sampleRate: number,
16
- initSuspended: boolean,
17
16
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
17
  audioWorkletRuntime: any
19
18
  ) => IAudioContext;
@@ -51,4 +51,12 @@ export default class AudioBufferBaseSourceNode extends AudioScheduledSourceNode
51
51
  public set onPositionChangedInterval(value: number) {
52
52
  (this.node as IAudioBufferBaseSourceNode).onPositionChangedInterval = value;
53
53
  }
54
+
55
+ public getLatency(): number {
56
+ return (
57
+ (this.node as IAudioBufferBaseSourceNode).getOutputLatency() +
58
+ (this.node as IAudioBufferBaseSourceNode).getInputLatency() *
59
+ (this.node as IAudioBufferBaseSourceNode).playbackRate.value
60
+ );
61
+ }
54
62
  }
@@ -25,7 +25,6 @@ export default class AudioContext extends BaseAudioContext {
25
25
  super(
26
26
  global.createAudioContext(
27
27
  options?.sampleRate || AudioManager.getDevicePreferredSampleRate(),
28
- options?.initSuspended || false,
29
28
  audioRuntime
30
29
  )
31
30
  );
package/src/interfaces.ts CHANGED
@@ -144,6 +144,9 @@ export interface IAudioBufferBaseSourceNode extends IAudioScheduledSourceNode {
144
144
  detune: IAudioParam;
145
145
  playbackRate: IAudioParam;
146
146
 
147
+ getInputLatency: () => number;
148
+ getOutputLatency: () => number;
149
+
147
150
  // passing subscriptionId(uint_64 in cpp, string in js) to the cpp
148
151
  onPositionChanged: string;
149
152
  // set how often the onPositionChanged event is called
package/src/types.ts CHANGED
@@ -31,7 +31,6 @@ export interface PeriodicWaveConstraints {
31
31
 
32
32
  export interface AudioContextOptions {
33
33
  sampleRate?: number;
34
- initSuspended?: boolean;
35
34
  }
36
35
 
37
36
  export interface OfflineAudioContextOptions {
@@ -27,7 +27,7 @@ export default class AudioContext implements BaseAudioContext {
27
27
  readonly destination: AudioDestinationNode;
28
28
  readonly sampleRate: number;
29
29
 
30
- constructor(options?: AudioContextOptions, _initSuspended: boolean = false) {
30
+ constructor(options?: AudioContextOptions) {
31
31
  if (
32
32
  options &&
33
33
  options.sampleRate &&