react-native-audio-api 0.11.0-alpha.1 → 0.11.0-nightly-bfab178-20251107

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 (355) hide show
  1. package/README.md +13 -11
  2. package/RNAudioAPI.podspec +20 -15
  3. package/android/build.gradle +33 -3
  4. package/android/src/main/cpp/audioapi/CMakeLists.txt +6 -3
  5. package/android/src/main/cpp/audioapi/android/AudioAPIModule.cpp +5 -0
  6. package/android/src/main/cpp/audioapi/android/AudioAPIModule.h +1 -0
  7. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +30 -142
  8. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.h +13 -40
  9. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.cpp +4 -2
  10. package/android/src/main/cpp/audioapi/android/core/NativeAudioRecorder.hpp +9 -9
  11. package/android/src/main/cpp/audioapi/android/core/utils/AudioDecoder.cpp +6 -0
  12. package/android/src/main/java/com/swmansion/audioapi/AudioAPIModule.kt +31 -3
  13. package/android/src/main/java/com/swmansion/audioapi/system/AudioFocusListener.kt +21 -9
  14. package/android/src/main/java/com/swmansion/audioapi/system/LockScreenManager.kt +27 -6
  15. package/android/src/main/java/com/swmansion/audioapi/system/MediaNotificationManager.kt +11 -0
  16. package/android/src/oldarch/NativeAudioAPIModuleSpec.java +4 -0
  17. package/common/cpp/audioapi/AudioAPIModuleInstaller.h +30 -2
  18. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp +18 -0
  19. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +1 -0
  20. package/common/cpp/audioapi/HostObjects/effects/BiquadFilterNodeHostObject.cpp +1 -1
  21. package/common/cpp/audioapi/HostObjects/effects/ConvolverNodeHostObject.cpp +47 -0
  22. package/common/cpp/audioapi/HostObjects/effects/ConvolverNodeHostObject.h +20 -0
  23. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.cpp +18 -97
  24. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.h +6 -18
  25. package/common/cpp/audioapi/HostObjects/sources/AudioBufferBaseSourceNodeHostObject.cpp +1 -1
  26. package/common/cpp/audioapi/HostObjects/sources/AudioBufferSourceNodeHostObject.cpp +1 -1
  27. package/common/cpp/audioapi/HostObjects/sources/AudioScheduledSourceNodeHostObject.cpp +1 -1
  28. package/common/cpp/audioapi/core/AudioNode.h +3 -2
  29. package/common/cpp/audioapi/core/AudioParam.cpp +2 -2
  30. package/common/cpp/audioapi/core/BaseAudioContext.cpp +10 -0
  31. package/common/cpp/audioapi/core/BaseAudioContext.h +2 -0
  32. package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +69 -32
  33. package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +37 -1
  34. package/common/cpp/audioapi/core/effects/ConvolverNode.cpp +210 -0
  35. package/common/cpp/audioapi/core/effects/ConvolverNode.h +55 -0
  36. package/common/cpp/audioapi/core/inputs/AudioRecorder.cpp +82 -36
  37. package/common/cpp/audioapi/core/inputs/AudioRecorder.h +31 -52
  38. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +14 -17
  39. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +0 -1
  40. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +8 -14
  41. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +0 -1
  42. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +14 -18
  43. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +2 -2
  44. package/common/cpp/audioapi/core/sources/StreamerNode.cpp +64 -64
  45. package/common/cpp/audioapi/core/sources/StreamerNode.h +38 -10
  46. package/common/cpp/audioapi/core/utils/AudioNodeManager.cpp +5 -0
  47. package/common/cpp/audioapi/core/utils/Constants.h +2 -1
  48. package/common/cpp/audioapi/core/utils/worklets/SafeIncludes.h +12 -8
  49. package/common/cpp/audioapi/core/utils/worklets/WorkletsRunner.cpp +3 -3
  50. package/common/cpp/audioapi/core/utils/worklets/WorkletsRunner.h +1 -1
  51. package/common/cpp/audioapi/dsp/AudioUtils.cpp +1 -1
  52. package/common/cpp/audioapi/dsp/Convolver.cpp +213 -0
  53. package/common/cpp/audioapi/dsp/Convolver.h +45 -0
  54. package/common/cpp/audioapi/dsp/FFT.cpp +0 -26
  55. package/common/cpp/audioapi/dsp/FFT.h +26 -2
  56. package/common/cpp/audioapi/events/AudioEventHandlerRegistry.h +1 -1
  57. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/avcodec.h +4 -4
  58. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/codec.h +1 -1
  59. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/codec_desc.h +1 -1
  60. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/codec_id.h +3 -1
  61. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/codec_par.h +2 -2
  62. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/defs.h +3 -0
  63. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/packet.h +1 -1
  64. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/smpte_436m.h +254 -0
  65. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/version.h +1 -1
  66. package/common/cpp/audioapi/external/ffmpeg_include/libavformat/avformat.h +6 -6
  67. package/common/cpp/audioapi/external/ffmpeg_include/libavformat/version.h +2 -2
  68. package/common/cpp/audioapi/external/ffmpeg_include/libavformat/version_major.h +2 -0
  69. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/avassert.h +5 -2
  70. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/avutil.h +2 -2
  71. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/channel_layout.h +2 -2
  72. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/csp.h +1 -1
  73. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/dict.h +1 -1
  74. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/ffversion.h +1 -1
  75. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/film_grain_params.h +1 -1
  76. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/frame.h +1 -1
  77. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hdr_dynamic_vivid_metadata.h +3 -3
  78. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext.h +1 -1
  79. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_opencl.h +1 -1
  80. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_qsv.h +0 -1
  81. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_vulkan.h +1 -1
  82. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/iamf.h +2 -2
  83. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/lfg.h +2 -2
  84. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/log.h +2 -2
  85. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/mathematics.h +1 -1
  86. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/opt.h +4 -4
  87. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/rational.h +1 -1
  88. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/rc4.h +1 -1
  89. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/refstruct.h +1 -1
  90. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/spherical.h +6 -0
  91. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/tdrdi.h +1 -1
  92. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/tx.h +1 -1
  93. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/version.h +3 -3
  94. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/video_hint.h +1 -1
  95. package/common/cpp/audioapi/external/ffmpeg_include/libswresample/swresample.h +1 -1
  96. package/common/cpp/audioapi/external/ffmpeg_include/libswresample/version.h +1 -1
  97. package/common/cpp/audioapi/libs/ffmpeg/FFmpegDecoding.cpp +2 -3
  98. package/common/cpp/audioapi/libs/ffmpeg/relinking.md +24 -0
  99. package/common/cpp/audioapi/utils/AlignedAllocator.hpp +50 -0
  100. package/common/cpp/audioapi/utils/AudioBus.cpp +28 -0
  101. package/common/cpp/audioapi/utils/AudioBus.h +3 -0
  102. package/common/cpp/audioapi/utils/ThreadPool.hpp +59 -1
  103. package/common/cpp/test/CMakeLists.txt +19 -14
  104. package/common/cpp/test/src/AudioParamTest.cpp +1 -1
  105. package/common/cpp/test/src/AudioScheduledSourceTest.cpp +134 -0
  106. package/common/cpp/test/src/ConstantSourceTest.cpp +1 -1
  107. package/common/cpp/test/src/GainTest.cpp +1 -1
  108. package/common/cpp/test/src/MockAudioEventHandlerRegistry.h +4 -4
  109. package/common/cpp/test/src/OscillatorTest.cpp +1 -1
  110. package/common/cpp/test/src/StereoPannerTest.cpp +1 -1
  111. package/common/cpp/test/src/biquad/BiquadFilterChromium.cpp +389 -0
  112. package/common/cpp/test/src/biquad/BiquadFilterChromium.h +64 -0
  113. package/common/cpp/test/src/biquad/BiquadFilterTest.cpp +284 -0
  114. package/common/cpp/test/src/biquad/BiquadFilterTest.h +40 -0
  115. package/ios/audioapi/ios/AudioAPIModule.h +2 -1
  116. package/ios/audioapi/ios/AudioAPIModule.mm +13 -0
  117. package/ios/audioapi/ios/core/IOSAudioRecorder.h +10 -28
  118. package/ios/audioapi/ios/core/IOSAudioRecorder.mm +30 -117
  119. package/ios/audioapi/ios/core/NativeAudioRecorder.h +9 -4
  120. package/ios/audioapi/ios/core/NativeAudioRecorder.m +71 -29
  121. package/ios/audioapi/ios/core/utils/AudioDecoder.mm +0 -1
  122. package/ios/audioapi/ios/system/AudioEngine.mm +3 -3
  123. package/ios/audioapi/ios/system/AudioSessionManager.h +2 -0
  124. package/ios/audioapi/ios/system/AudioSessionManager.mm +24 -0
  125. package/ios/audioapi/ios/system/LockScreenManager.h +0 -1
  126. package/ios/audioapi/ios/system/LockScreenManager.mm +6 -19
  127. package/lib/commonjs/api.js +141 -76
  128. package/lib/commonjs/api.js.map +1 -1
  129. package/lib/commonjs/api.web.js +8 -0
  130. package/lib/commonjs/api.web.js.map +1 -1
  131. package/lib/commonjs/core/AudioContext.js +1 -1
  132. package/lib/commonjs/core/AudioContext.js.map +1 -1
  133. package/lib/commonjs/core/AudioRecorder.js +13 -171
  134. package/lib/commonjs/core/AudioRecorder.js.map +1 -1
  135. package/lib/commonjs/core/BaseAudioContext.js +28 -25
  136. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  137. package/lib/commonjs/core/ConvolverNode.js +37 -0
  138. package/lib/commonjs/core/ConvolverNode.js.map +1 -0
  139. package/lib/commonjs/core/OfflineAudioContext.js +1 -1
  140. package/lib/commonjs/core/OfflineAudioContext.js.map +1 -1
  141. package/lib/commonjs/specs/NativeAudioAPIModule.js.map +1 -1
  142. package/lib/commonjs/system/AudioManager.js +3 -0
  143. package/lib/commonjs/system/AudioManager.js.map +1 -1
  144. package/lib/commonjs/types.js +0 -46
  145. package/lib/commonjs/types.js.map +1 -1
  146. package/lib/commonjs/utils/index.js +19 -21
  147. package/lib/commonjs/utils/index.js.map +1 -1
  148. package/lib/commonjs/web-core/AudioContext.js +12 -0
  149. package/lib/commonjs/web-core/AudioContext.js.map +1 -1
  150. package/lib/commonjs/web-core/ConvolverNode.js +40 -0
  151. package/lib/commonjs/web-core/ConvolverNode.js.map +1 -0
  152. package/lib/commonjs/web-core/ConvolverNodeOptions.js +6 -0
  153. package/lib/commonjs/web-core/ConvolverNodeOptions.js.map +1 -0
  154. package/lib/commonjs/web-core/OfflineAudioContext.js +12 -0
  155. package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -1
  156. package/lib/module/api.js +16 -15
  157. package/lib/module/api.js.map +1 -1
  158. package/lib/module/api.web.js +1 -0
  159. package/lib/module/api.web.js.map +1 -1
  160. package/lib/module/core/AudioContext.js +2 -2
  161. package/lib/module/core/AudioContext.js.map +1 -1
  162. package/lib/module/core/AudioRecorder.js +13 -171
  163. package/lib/module/core/AudioRecorder.js.map +1 -1
  164. package/lib/module/core/BaseAudioContext.js +29 -26
  165. package/lib/module/core/BaseAudioContext.js.map +1 -1
  166. package/lib/module/core/ConvolverNode.js +31 -0
  167. package/lib/module/core/ConvolverNode.js.map +1 -0
  168. package/lib/module/core/OfflineAudioContext.js +2 -2
  169. package/lib/module/core/OfflineAudioContext.js.map +1 -1
  170. package/lib/module/specs/NativeAudioAPIModule.js.map +1 -1
  171. package/lib/module/system/AudioManager.js +3 -0
  172. package/lib/module/system/AudioManager.js.map +1 -1
  173. package/lib/module/types.js +1 -45
  174. package/lib/module/types.js.map +1 -1
  175. package/lib/module/utils/index.js +15 -2
  176. package/lib/module/utils/index.js.map +1 -1
  177. package/lib/module/web-core/AudioContext.js +12 -0
  178. package/lib/module/web-core/AudioContext.js.map +1 -1
  179. package/lib/module/web-core/ConvolverNode.js +34 -0
  180. package/lib/module/web-core/ConvolverNode.js.map +1 -0
  181. package/lib/module/web-core/ConvolverNodeOptions.js +4 -0
  182. package/lib/module/web-core/ConvolverNodeOptions.js.map +1 -0
  183. package/lib/module/web-core/OfflineAudioContext.js +12 -0
  184. package/lib/module/web-core/OfflineAudioContext.js.map +1 -1
  185. package/lib/typescript/api.d.ts +19 -17
  186. package/lib/typescript/api.d.ts.map +1 -1
  187. package/lib/typescript/api.web.d.ts +1 -0
  188. package/lib/typescript/api.web.d.ts.map +1 -1
  189. package/lib/typescript/core/AudioContext.d.ts.map +1 -1
  190. package/lib/typescript/core/AudioRecorder.d.ts +7 -62
  191. package/lib/typescript/core/AudioRecorder.d.ts.map +1 -1
  192. package/lib/typescript/core/BaseAudioContext.d.ts +3 -1
  193. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  194. package/lib/typescript/core/ConvolverNode.d.ts +12 -0
  195. package/lib/typescript/core/ConvolverNode.d.ts.map +1 -0
  196. package/lib/typescript/events/types.d.ts +0 -16
  197. package/lib/typescript/events/types.d.ts.map +1 -1
  198. package/lib/typescript/interfaces.d.ts +9 -42
  199. package/lib/typescript/interfaces.d.ts.map +1 -1
  200. package/lib/typescript/specs/NativeAudioAPIModule.d.ts +1 -0
  201. package/lib/typescript/specs/NativeAudioAPIModule.d.ts.map +1 -1
  202. package/lib/typescript/system/AudioManager.d.ts +1 -0
  203. package/lib/typescript/system/AudioManager.d.ts.map +1 -1
  204. package/lib/typescript/types.d.ts +8 -79
  205. package/lib/typescript/types.d.ts.map +1 -1
  206. package/lib/typescript/utils/index.d.ts +5 -2
  207. package/lib/typescript/utils/index.d.ts.map +1 -1
  208. package/lib/typescript/web-core/AudioContext.d.ts +3 -0
  209. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
  210. package/lib/typescript/web-core/BaseAudioContext.d.ts +2 -0
  211. package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
  212. package/lib/typescript/web-core/ConvolverNode.d.ts +11 -0
  213. package/lib/typescript/web-core/ConvolverNode.d.ts.map +1 -0
  214. package/lib/typescript/web-core/ConvolverNodeOptions.d.ts +6 -0
  215. package/lib/typescript/web-core/ConvolverNodeOptions.d.ts.map +1 -0
  216. package/lib/typescript/web-core/OfflineAudioContext.d.ts +3 -0
  217. package/lib/typescript/web-core/OfflineAudioContext.d.ts.map +1 -1
  218. package/package.json +14 -5
  219. package/scripts/download-prebuilt-binaries.sh +61 -0
  220. package/scripts/rnaa_utils.rb +8 -0
  221. package/scripts/validate-worklets-version.js +28 -0
  222. package/src/api.ts +45 -18
  223. package/src/api.web.ts +1 -0
  224. package/src/core/AudioContext.ts +3 -2
  225. package/src/core/AudioRecorder.ts +24 -211
  226. package/src/core/BaseAudioContext.ts +67 -60
  227. package/src/core/ConvolverNode.ts +35 -0
  228. package/src/core/OfflineAudioContext.ts +2 -2
  229. package/src/events/types.ts +0 -18
  230. package/src/interfaces.ts +16 -52
  231. package/src/specs/NativeAudioAPIModule.ts +1 -0
  232. package/src/system/AudioManager.ts +4 -0
  233. package/src/types.ts +9 -90
  234. package/src/utils/index.ts +22 -2
  235. package/src/web-core/AudioContext.tsx +25 -0
  236. package/src/web-core/BaseAudioContext.tsx +2 -0
  237. package/src/web-core/ConvolverNode.tsx +43 -0
  238. package/src/web-core/ConvolverNodeOptions.tsx +6 -0
  239. package/src/web-core/OfflineAudioContext.tsx +25 -0
  240. package/android/src/main/cpp/audioapi/android/core/utils/AndroidFileWriterBackend.h +0 -37
  241. package/android/src/main/cpp/audioapi/android/core/utils/AndroidRecorderCallback.cpp +0 -187
  242. package/android/src/main/cpp/audioapi/android/core/utils/AndroidRecorderCallback.h +0 -57
  243. package/android/src/main/cpp/audioapi/android/core/utils/FileUtils.h +0 -34
  244. package/android/src/main/cpp/audioapi/android/core/utils/FileUtilts.cpp +0 -133
  245. package/android/src/main/cpp/audioapi/android/core/utils/MiniaudioImplementation.cpp +0 -3
  246. package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegAudioFileOptions.cpp +0 -154
  247. package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegAudioFileOptions.h +0 -41
  248. package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegFileWriter.cpp +0 -429
  249. package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegFileWriter.h +0 -113
  250. package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileOptions.cpp +0 -47
  251. package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileOptions.h +0 -28
  252. package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileWriter.cpp +0 -269
  253. package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileWriter.h +0 -47
  254. package/android/src/main/cpp/audioapi/android/system/NativeFileInfo.hpp +0 -31
  255. package/android/src/main/java/com/swmansion/audioapi/system/NativeFileInfo.kt +0 -18
  256. package/android/src/main/jniLibs/arm64-v8a/libavcodec.so +0 -0
  257. package/android/src/main/jniLibs/arm64-v8a/libavformat.so +0 -0
  258. package/android/src/main/jniLibs/arm64-v8a/libavutil.so +0 -0
  259. package/android/src/main/jniLibs/arm64-v8a/libswresample.so +0 -0
  260. package/android/src/main/jniLibs/armeabi-v7a/libavcodec.so +0 -0
  261. package/android/src/main/jniLibs/armeabi-v7a/libavformat.so +0 -0
  262. package/android/src/main/jniLibs/armeabi-v7a/libavutil.so +0 -0
  263. package/android/src/main/jniLibs/armeabi-v7a/libswresample.so +0 -0
  264. package/android/src/main/jniLibs/x86/libavcodec.so +0 -0
  265. package/android/src/main/jniLibs/x86/libavformat.so +0 -0
  266. package/android/src/main/jniLibs/x86/libavutil.so +0 -0
  267. package/android/src/main/jniLibs/x86/libswresample.so +0 -0
  268. package/android/src/main/jniLibs/x86_64/libavcodec.so +0 -0
  269. package/android/src/main/jniLibs/x86_64/libavformat.so +0 -0
  270. package/android/src/main/jniLibs/x86_64/libavutil.so +0 -0
  271. package/android/src/main/jniLibs/x86_64/libswresample.so +0 -0
  272. package/common/cpp/audioapi/external/arm64-v8a/libcrypto.a +0 -0
  273. package/common/cpp/audioapi/external/arm64-v8a/libogg.a +0 -0
  274. package/common/cpp/audioapi/external/arm64-v8a/libopus.a +0 -0
  275. package/common/cpp/audioapi/external/arm64-v8a/libopusfile.a +0 -0
  276. package/common/cpp/audioapi/external/arm64-v8a/libssl.a +0 -0
  277. package/common/cpp/audioapi/external/arm64-v8a/libvorbis.a +0 -0
  278. package/common/cpp/audioapi/external/arm64-v8a/libvorbisenc.a +0 -0
  279. package/common/cpp/audioapi/external/arm64-v8a/libvorbisfile.a +0 -0
  280. package/common/cpp/audioapi/external/armeabi-v7a/libcrypto.a +0 -0
  281. package/common/cpp/audioapi/external/armeabi-v7a/libogg.a +0 -0
  282. package/common/cpp/audioapi/external/armeabi-v7a/libopus.a +0 -0
  283. package/common/cpp/audioapi/external/armeabi-v7a/libopusfile.a +0 -0
  284. package/common/cpp/audioapi/external/armeabi-v7a/libssl.a +0 -0
  285. package/common/cpp/audioapi/external/armeabi-v7a/libvorbis.a +0 -0
  286. package/common/cpp/audioapi/external/armeabi-v7a/libvorbisenc.a +0 -0
  287. package/common/cpp/audioapi/external/armeabi-v7a/libvorbisfile.a +0 -0
  288. package/common/cpp/audioapi/external/iphoneos/libcrypto.a +0 -0
  289. package/common/cpp/audioapi/external/iphoneos/libogg.a +0 -0
  290. package/common/cpp/audioapi/external/iphoneos/libopus.a +0 -0
  291. package/common/cpp/audioapi/external/iphoneos/libopusfile.a +0 -0
  292. package/common/cpp/audioapi/external/iphoneos/libssl.a +0 -0
  293. package/common/cpp/audioapi/external/iphoneos/libvorbis.a +0 -0
  294. package/common/cpp/audioapi/external/iphoneos/libvorbisenc.a +0 -0
  295. package/common/cpp/audioapi/external/iphoneos/libvorbisfile.a +0 -0
  296. package/common/cpp/audioapi/external/iphonesimulator/libcrypto.a +0 -0
  297. package/common/cpp/audioapi/external/iphonesimulator/libogg.a +0 -0
  298. package/common/cpp/audioapi/external/iphonesimulator/libopus.a +0 -0
  299. package/common/cpp/audioapi/external/iphonesimulator/libopusfile.a +0 -0
  300. package/common/cpp/audioapi/external/iphonesimulator/libssl.a +0 -0
  301. package/common/cpp/audioapi/external/iphonesimulator/libvorbis.a +0 -0
  302. package/common/cpp/audioapi/external/iphonesimulator/libvorbisenc.a +0 -0
  303. package/common/cpp/audioapi/external/iphonesimulator/libvorbisfile.a +0 -0
  304. package/common/cpp/audioapi/external/libavcodec.xcframework/Info.plist +0 -44
  305. package/common/cpp/audioapi/external/libavcodec.xcframework/ios-arm64/libavcodec.framework/Info.plist +0 -1
  306. package/common/cpp/audioapi/external/libavcodec.xcframework/ios-arm64/libavcodec.framework/libavcodec +0 -0
  307. package/common/cpp/audioapi/external/libavcodec.xcframework/ios-arm64_x86_64-simulator/libavcodec.framework/Info.plist +0 -1
  308. package/common/cpp/audioapi/external/libavcodec.xcframework/ios-arm64_x86_64-simulator/libavcodec.framework/libavcodec +0 -0
  309. package/common/cpp/audioapi/external/libavformat.xcframework/Info.plist +0 -44
  310. package/common/cpp/audioapi/external/libavformat.xcframework/ios-arm64/libavformat.framework/Info.plist +0 -1
  311. package/common/cpp/audioapi/external/libavformat.xcframework/ios-arm64/libavformat.framework/libavformat +0 -0
  312. package/common/cpp/audioapi/external/libavformat.xcframework/ios-arm64_x86_64-simulator/libavformat.framework/Info.plist +0 -1
  313. package/common/cpp/audioapi/external/libavformat.xcframework/ios-arm64_x86_64-simulator/libavformat.framework/libavformat +0 -0
  314. package/common/cpp/audioapi/external/libavutil.xcframework/Info.plist +0 -44
  315. package/common/cpp/audioapi/external/libavutil.xcframework/ios-arm64/libavutil.framework/Info.plist +0 -1
  316. package/common/cpp/audioapi/external/libavutil.xcframework/ios-arm64/libavutil.framework/libavutil +0 -0
  317. package/common/cpp/audioapi/external/libavutil.xcframework/ios-arm64_x86_64-simulator/libavutil.framework/Info.plist +0 -1
  318. package/common/cpp/audioapi/external/libavutil.xcframework/ios-arm64_x86_64-simulator/libavutil.framework/libavutil +0 -0
  319. package/common/cpp/audioapi/external/libswresample.xcframework/Info.plist +0 -44
  320. package/common/cpp/audioapi/external/libswresample.xcframework/ios-arm64/libswresample.framework/Info.plist +0 -1
  321. package/common/cpp/audioapi/external/libswresample.xcframework/ios-arm64/libswresample.framework/libswresample +0 -0
  322. package/common/cpp/audioapi/external/libswresample.xcframework/ios-arm64_x86_64-simulator/libswresample.framework/Info.plist +0 -1
  323. package/common/cpp/audioapi/external/libswresample.xcframework/ios-arm64_x86_64-simulator/libswresample.framework/libswresample +0 -0
  324. package/common/cpp/audioapi/external/x86/libcrypto.a +0 -0
  325. package/common/cpp/audioapi/external/x86/libogg.a +0 -0
  326. package/common/cpp/audioapi/external/x86/libopus.a +0 -0
  327. package/common/cpp/audioapi/external/x86/libopusfile.a +0 -0
  328. package/common/cpp/audioapi/external/x86/libssl.a +0 -0
  329. package/common/cpp/audioapi/external/x86/libvorbis.a +0 -0
  330. package/common/cpp/audioapi/external/x86/libvorbisenc.a +0 -0
  331. package/common/cpp/audioapi/external/x86/libvorbisfile.a +0 -0
  332. package/common/cpp/audioapi/external/x86_64/libcrypto.a +0 -0
  333. package/common/cpp/audioapi/external/x86_64/libogg.a +0 -0
  334. package/common/cpp/audioapi/external/x86_64/libopus.a +0 -0
  335. package/common/cpp/audioapi/external/x86_64/libopusfile.a +0 -0
  336. package/common/cpp/audioapi/external/x86_64/libssl.a +0 -0
  337. package/common/cpp/audioapi/external/x86_64/libvorbis.a +0 -0
  338. package/common/cpp/audioapi/external/x86_64/libvorbisenc.a +0 -0
  339. package/common/cpp/audioapi/external/x86_64/libvorbisfile.a +0 -0
  340. package/common/cpp/audioapi/libs/ffmpeg/INSTRUCTIONS.md +0 -32
  341. package/common/cpp/audioapi/libs/ffmpeg/create_xcframework.sh +0 -111
  342. package/common/cpp/audioapi/libs/ffmpeg/ffmpeg_setup.sh +0 -391
  343. package/ios/audioapi/ios/core/IOSAudioFileOptions.h +0 -36
  344. package/ios/audioapi/ios/core/IOSAudioFileOptions.mm +0 -140
  345. package/ios/audioapi/ios/core/IOSAudioFileWriter.h +0 -51
  346. package/ios/audioapi/ios/core/IOSAudioFileWriter.mm +0 -223
  347. package/ios/audioapi/ios/core/IOSRecorderCallback.h +0 -57
  348. package/ios/audioapi/ios/core/IOSRecorderCallback.mm +0 -189
  349. package/lib/commonjs/utils/bitEnums.js +0 -33
  350. package/lib/commonjs/utils/bitEnums.js.map +0 -1
  351. package/lib/module/utils/bitEnums.js +0 -27
  352. package/lib/module/utils/bitEnums.js.map +0 -1
  353. package/lib/typescript/utils/bitEnums.d.ts +0 -4
  354. package/lib/typescript/utils/bitEnums.d.ts.map +0 -1
  355. package/src/utils/bitEnums.ts +0 -51
@@ -1,57 +0,0 @@
1
- #pragma once
2
-
3
-
4
- #include <audioapi/libs/miniaudio/miniaudio.h>
5
- #include <memory>
6
- #include <vector>
7
-
8
- namespace audioapi {
9
-
10
- class AudioBus;
11
- class AudioArray;
12
- class CircularAudioArray;
13
- class AudioEventHandlerRegistry;
14
-
15
- class AndroidRecorderCallback {
16
- public:
17
- AndroidRecorderCallback(
18
- const std::shared_ptr<AudioEventHandlerRegistry> &audioEventHandlerRegistry,
19
- float sampleRate,
20
- size_t bufferLength,
21
- size_t channelCount,
22
- uint64_t callbackId);
23
- ~AndroidRecorderCallback();
24
-
25
- void prepare(int32_t streamSampleRate, int32_t streamChannelCount, size_t maxInputBufferLength);
26
- void cleanup();
27
-
28
- void receiveAudioData(void *data, int numFrames);
29
- void emitAudioData();
30
-
31
- void invokeCallback(const std::shared_ptr<AudioBus> &bus, int numFrames);
32
- void sendRemainingData();
33
-
34
- private:
35
- int32_t streamSampleRate_;
36
- int32_t streamChannelCount_;
37
- size_t maxInputBufferLength_;
38
-
39
- float sampleRate_;
40
- size_t bufferLength_;
41
- size_t channelCount_;
42
- uint64_t callbackId_;
43
- size_t ringBufferSize_;
44
-
45
- ma_uint64 processingBufferLength_{0};
46
- void *processingBuffer_{nullptr};
47
-
48
- std::unique_ptr<ma_data_converter> converter_{nullptr};
49
-
50
- std::shared_ptr<AudioEventHandlerRegistry> audioEventHandlerRegistry_;
51
- std::vector<std::shared_ptr<CircularAudioArray>> circularBus_;
52
- std::shared_ptr<AudioArray> deinterleavingArray_;
53
-
54
- void deinterleaveAndWriteAudioData(void *data, int numFrames);
55
- };
56
-
57
- } // namespace audioapi
@@ -1,34 +0,0 @@
1
- #pragma once
2
-
3
- #include <string>
4
-
5
- namespace audioapi::android::fileutils {
6
-
7
- enum class FileDirectory {
8
- FILES_DIR,
9
- CACHE_DIR,
10
- };
11
-
12
- enum class FileFormat {
13
- WAV,
14
- CAF,
15
- M4A,
16
- FLAC,
17
- };
18
-
19
- enum class BitDepth {
20
- BIT_16,
21
- BIT_24,
22
- BIT_32,
23
- };
24
-
25
- bool createDirectoryIfNotExists(const std::string &directoryPath);
26
- std::string getTimestampString();
27
- std::string getISODateString();
28
- FileFormat formatFromFlags(size_t flags);
29
- FileDirectory directoryFromFlags(size_t flags);
30
- BitDepth bitDepthFromFlags(size_t flags);
31
- std::string getDirectory(FileDirectory dir);
32
- std::string getFilePath(const FileDirectory &directory, const std::string &baseFileName, const std::string &extension);
33
-
34
- } // namespace audioapi::android::fileutils
@@ -1,133 +0,0 @@
1
-
2
- #include <android/log.h>
3
- #include <audioapi/android/core/utils/FileUtils.h>
4
- #include <audioapi/android/system/NativeFileInfo.hpp>
5
- #include <chrono>
6
- #include <filesystem>
7
- #include <format>
8
- #include <iostream>
9
-
10
- namespace audioapi::android::fileutils {
11
-
12
- bool createDirectoryIfNotExists(const std::string &directoryPath) {
13
- std::error_code ec;
14
-
15
- if (!std::filesystem::exists(directoryPath, ec)) {
16
- bool created = std::filesystem::create_directories(directoryPath, ec);
17
-
18
- if (ec) {
19
- __android_log_print(
20
- ANDROID_LOG_ERROR,
21
- "FileUtils",
22
- "Error creating directory at path: %s, error: %s",
23
- directoryPath.c_str(),
24
- ec.message().c_str());
25
-
26
- return false;
27
- }
28
-
29
- return created;
30
- }
31
-
32
- if (ec) {
33
- __android_log_print(
34
- ANDROID_LOG_ERROR,
35
- "FileUtils",
36
- "Error checking existence of directory at path: %s, error: %s",
37
- directoryPath.c_str(),
38
- ec.message().c_str());
39
-
40
- return false;
41
- }
42
-
43
- return true;
44
- }
45
-
46
- std::string getTimestampString() {
47
- auto tNow = std::chrono::system_clock::now();
48
- return std::format(
49
- "{:%Y%m%d_%H%M%S}", std::chrono::floor<std::chrono::seconds>(tNow));
50
- }
51
-
52
- std::string getISODateString() {
53
- auto tNow = std::chrono::system_clock::now();
54
- return std::format(
55
- "{:%Y-%m-%d}", std::chrono::floor<std::chrono::days>(tNow));
56
- }
57
-
58
- FileFormat formatFromFlags(size_t flags) {
59
- uint8_t formatFlag = static_cast<uint8_t>(flags & 0xF);
60
-
61
- switch (formatFlag) {
62
- case 1:
63
- return FileFormat::WAV;
64
- case 2:
65
- return FileFormat::CAF;
66
- case 3:
67
- return FileFormat::M4A;
68
- case 4:
69
- return FileFormat::FLAC;
70
- default:
71
- return FileFormat::M4A;
72
- }
73
- }
74
-
75
- FileDirectory directoryFromFlags(size_t flags) {
76
- uint8_t directoryFlag = static_cast<uint8_t>((flags >> 4) & 0xF);
77
-
78
- switch (directoryFlag) {
79
- case 1:
80
- return FileDirectory::FILES_DIR;
81
- case 2:
82
- return FileDirectory::CACHE_DIR;
83
- default:
84
- return FileDirectory::CACHE_DIR;
85
- }
86
- }
87
-
88
- BitDepth bitDepthFromFlags(size_t flags) {
89
- uint8_t bitDepthFlag = static_cast<uint8_t>((flags >> 8) & 0xF);
90
-
91
- switch (bitDepthFlag) {
92
- case 1:
93
- return BitDepth::BIT_16;
94
- case 2:
95
- return BitDepth::BIT_24;
96
- case 3:
97
- return BitDepth::BIT_32;
98
- default:
99
- return BitDepth::BIT_32;
100
- }
101
- }
102
-
103
- std::string getDirectory(FileDirectory dir) {
104
- switch (dir) {
105
- case FileDirectory::FILES_DIR:
106
- return NativeFileInfo::getFilesDir();
107
- case FileDirectory::CACHE_DIR:
108
- return NativeFileInfo::getCacheDir();
109
- default:
110
- return NativeFileInfo::getCacheDir();
111
- }
112
- }
113
-
114
- std::string getFilePath(
115
- const FileDirectory &directory,
116
- const std::string &baseFileName,
117
- const std::string &extension) {
118
- std::string basePath = getDirectory(directory);
119
- std::string subDirectory = getISODateString();
120
- std::string fileTimestamp = getTimestampString();
121
-
122
- std::string subDirectoryPath =
123
- std::format("{}/AudioAPI/{}", basePath, subDirectory);
124
-
125
- if (!createDirectoryIfNotExists(subDirectoryPath)) {
126
- return "";
127
- }
128
-
129
- return std::format(
130
- "{}/{}_{}.{}", subDirectoryPath, baseFileName, fileTimestamp, extension);
131
- }
132
-
133
- } // namespace audioapi::android::fileutils
@@ -1,3 +0,0 @@
1
- #define MINIAUDIO_IMPLEMENTATION
2
- #define MA_DEBUG_OUTPUT
3
- #include <audioapi/libs/miniaudio/miniaudio.h>
@@ -1,154 +0,0 @@
1
-
2
- #include <audioapi/android/core/utils/FileUtils.h>
3
- #include <audioapi/android/core/utils/ffmpegBackend/FFmpegAudioFileOptions.h>
4
-
5
- namespace audioapi {
6
-
7
- FFmpegAudioFileOptions::FFmpegAudioFileOptions(
8
- float sampleRate,
9
- size_t channelCount,
10
- size_t bitRate,
11
- size_t flags)
12
- : sampleRate_(sampleRate),
13
- channelCount_(channelCount),
14
- bitRate_(bitRate),
15
- flags_(flags) {}
16
-
17
- std::string FFmpegAudioFileOptions::getFileExtension() const {
18
- android::fileutils::FileFormat format =
19
- android::fileutils::formatFromFlags(flags_);
20
-
21
- switch (format) {
22
- // WAV is encoded using miniaudio, so it is not necessary here
23
- // but lets leave it for convenience
24
- // when using FFmpeg we will use M4A as default format
25
- case android::fileutils::FileFormat::WAV:
26
- return "wav";
27
- case android::fileutils::FileFormat::CAF:
28
- return "caf";
29
- case android::fileutils::FileFormat::M4A:
30
- return "m4a";
31
- case android::fileutils::FileFormat::FLAC:
32
- return "flac";
33
- default:
34
- return "m4a";
35
- }
36
- }
37
-
38
- AVCodecID FFmpegAudioFileOptions::getPCMCodecID() const {
39
- android::fileutils::BitDepth bitDepth =
40
- android::fileutils::bitDepthFromFlags(flags_);
41
-
42
- switch (bitDepth) {
43
- case android::fileutils::BitDepth::BIT_16:
44
- return AV_CODEC_ID_PCM_S16LE;
45
- case android::fileutils::BitDepth::BIT_24:
46
- return AV_CODEC_ID_PCM_S24LE;
47
- case android::fileutils::BitDepth::BIT_32:
48
- return AV_CODEC_ID_PCM_F32LE;
49
- default:
50
- return AV_CODEC_ID_PCM_F32LE;
51
- }
52
- }
53
-
54
- AVCodecID FFmpegAudioFileOptions::getCodecID() const {
55
- android::fileutils::FileFormat format =
56
- android::fileutils::formatFromFlags(flags_);
57
-
58
- switch (format) {
59
- case android::fileutils::FileFormat::WAV:
60
- case android::fileutils::FileFormat::CAF:
61
- return getPCMCodecID();
62
- case android::fileutils::FileFormat::M4A:
63
- return AV_CODEC_ID_AAC;
64
- case android::fileutils::FileFormat::FLAC:
65
- return AV_CODEC_ID_FLAC;
66
- default:
67
- return AV_CODEC_ID_AAC;
68
- }
69
- }
70
-
71
- AVSampleFormat FFmpegAudioFileOptions::getSampleFormat() const {
72
- android::fileutils::FileFormat format =
73
- android::fileutils::formatFromFlags(flags_);
74
- android::fileutils::BitDepth bitDepth =
75
- android::fileutils::bitDepthFromFlags(flags_);
76
-
77
- if (format == android::fileutils::FileFormat::M4A) {
78
- return AV_SAMPLE_FMT_FLTP;
79
- }
80
-
81
- switch (bitDepth) {
82
- case android::fileutils::BitDepth::BIT_16:
83
- return AV_SAMPLE_FMT_S16;
84
- case android::fileutils::BitDepth::BIT_24:
85
- return AV_SAMPLE_FMT_S32;
86
- case android::fileutils::BitDepth::BIT_32:
87
- return AV_SAMPLE_FMT_FLT;
88
- default:
89
- return AV_SAMPLE_FMT_FLT;
90
- }
91
- }
92
-
93
- const AVCodec *FFmpegAudioFileOptions::getCodec() {
94
- return avcodec_find_encoder(getCodecID());
95
- }
96
-
97
- std::string FFmpegAudioFileOptions::getFilePath(
98
- const std::string &baseFileName) const {
99
- std::string extension = getFileExtension();
100
-
101
- return android::fileutils::getFilePath(
102
- android::fileutils::directoryFromFlags(flags_), baseFileName, extension);
103
- }
104
-
105
- float FFmpegAudioFileOptions::getSampleRate() const {
106
- return sampleRate_;
107
- }
108
-
109
- size_t FFmpegAudioFileOptions::getChannelCount() const {
110
- return channelCount_;
111
- }
112
-
113
- size_t FFmpegAudioFileOptions::getBitRate() const {
114
- android::fileutils::FileFormat format =
115
- android::fileutils::formatFromFlags(flags_);
116
-
117
- if (format != android::fileutils::FileFormat::M4A) {
118
- return 0; // bit rate is not used for PCM formats
119
- } else
120
-
121
- return bitRate_;
122
- }
123
-
124
- int FFmpegAudioFileOptions::getFlacCompressionLevel() const {
125
- android::fileutils::FileFormat format =
126
- android::fileutils::formatFromFlags(flags_);
127
-
128
- if (format != android::fileutils::FileFormat::FLAC) {
129
- return -1; // compression level is not used for non-FLAC formats
130
- }
131
-
132
- // TODO: extract compression level from flags
133
- return 5; // default compression level
134
- }
135
-
136
- std::string FFmpegAudioFileOptions::getMuxerName() const {
137
- android::fileutils::FileFormat format =
138
- android::fileutils::formatFromFlags(flags_);
139
-
140
- switch (format) {
141
- case android::fileutils::FileFormat::WAV:
142
- return "wav";
143
- case android::fileutils::FileFormat::CAF:
144
- return "caf";
145
- case android::fileutils::FileFormat::M4A:
146
- return "mp4";
147
- case android::fileutils::FileFormat::FLAC:
148
- return "flac";
149
- default:
150
- return "mp4";
151
- }
152
- }
153
-
154
- } // namespace audioapi
@@ -1,41 +0,0 @@
1
- #pragma once
2
-
3
- extern "C" {
4
- #include <libavcodec/avcodec.h>
5
- #include <libavformat/avformat.h>
6
- #include <libswresample/swresample.h>
7
- }
8
-
9
- #include <cstddef>
10
- #include <cstdint>
11
- #include <string>
12
-
13
- namespace audioapi {
14
-
15
- class FFmpegAudioFileOptions {
16
- public:
17
- FFmpegAudioFileOptions(float sampleRate, size_t channelCount, size_t bitRate, size_t flags);
18
- ~FFmpegAudioFileOptions() = default;
19
-
20
- std::string getFileExtension() const;
21
- std::string getFilePath(const std::string &baseFileName) const;
22
-
23
- float getSampleRate() const;
24
- size_t getChannelCount() const;
25
-
26
- AVCodecID getPCMCodecID() const;
27
- AVCodecID getCodecID() const;
28
- AVSampleFormat getSampleFormat() const;
29
- const AVCodec* getCodec();
30
- size_t getBitRate() const;
31
- int getFlacCompressionLevel() const;
32
- std::string getMuxerName() const;
33
-
34
- private:
35
- float sampleRate_;
36
- size_t channelCount_;
37
- size_t flags_;
38
- size_t bitRate_;
39
- };
40
-
41
- } // namespace audioapi