react-native-audio-api 0.8.0-nightly-5a12f24-20250901 → 0.8.0

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 (225) hide show
  1. package/RNAudioAPI.podspec +15 -6
  2. package/android/build.gradle +11 -2
  3. package/android/src/main/cpp/audioapi/CMakeLists.txt +24 -17
  4. package/android/src/main/cpp/audioapi/android/core/AudioDecoder.cpp +51 -21
  5. package/android/src/main/jniLibs/arm64-v8a/libavcodec.so +0 -0
  6. package/android/src/main/jniLibs/arm64-v8a/libavformat.so +0 -0
  7. package/android/src/main/jniLibs/arm64-v8a/libavutil.so +0 -0
  8. package/android/src/main/jniLibs/arm64-v8a/libswresample.so +0 -0
  9. package/android/src/main/jniLibs/armeabi-v7a/libavcodec.so +0 -0
  10. package/android/src/main/jniLibs/armeabi-v7a/libavformat.so +0 -0
  11. package/android/src/main/jniLibs/armeabi-v7a/libavutil.so +0 -0
  12. package/android/src/main/jniLibs/armeabi-v7a/libswresample.so +0 -0
  13. package/android/src/main/jniLibs/x86/libavcodec.so +0 -0
  14. package/android/src/main/jniLibs/x86/libavformat.so +0 -0
  15. package/android/src/main/jniLibs/x86/libavutil.so +0 -0
  16. package/android/src/main/jniLibs/x86/libswresample.so +0 -0
  17. package/android/src/main/jniLibs/x86_64/libavcodec.so +0 -0
  18. package/android/src/main/jniLibs/x86_64/libavformat.so +0 -0
  19. package/android/src/main/jniLibs/x86_64/libavutil.so +0 -0
  20. package/android/src/main/jniLibs/x86_64/libswresample.so +0 -0
  21. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +11 -0
  22. package/common/cpp/audioapi/HostObjects/StreamerNodeHostObject.h +30 -0
  23. package/common/cpp/audioapi/core/BaseAudioContext.cpp +9 -0
  24. package/common/cpp/audioapi/core/BaseAudioContext.h +2 -0
  25. package/common/cpp/audioapi/core/sources/StreamerNode.cpp +299 -0
  26. package/common/cpp/audioapi/core/sources/StreamerNode.h +123 -0
  27. package/common/cpp/audioapi/core/utils/AudioDecoder.h +61 -0
  28. package/common/cpp/audioapi/core/utils/AudioNodeManager.cpp +14 -2
  29. package/common/cpp/audioapi/core/utils/AudioNodeManager.h +3 -0
  30. package/common/cpp/audioapi/external/arm64-v8a/libcrypto.a +0 -0
  31. package/common/cpp/audioapi/external/arm64-v8a/libssl.a +0 -0
  32. package/common/cpp/audioapi/external/armeabi-v7a/libcrypto.a +0 -0
  33. package/common/cpp/audioapi/external/armeabi-v7a/libssl.a +0 -0
  34. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/ac3_parser.h +36 -0
  35. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/adts_parser.h +37 -0
  36. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/avcodec.h +2947 -0
  37. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/avdct.h +88 -0
  38. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/bsf.h +332 -0
  39. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/codec.h +367 -0
  40. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/codec_desc.h +134 -0
  41. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/codec_id.h +681 -0
  42. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/codec_par.h +248 -0
  43. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/d3d11va.h +109 -0
  44. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/defs.h +359 -0
  45. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/dirac.h +135 -0
  46. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/dv_profile.h +82 -0
  47. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/dxva2.h +90 -0
  48. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/jni.h +67 -0
  49. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/mediacodec.h +103 -0
  50. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/packet.h +907 -0
  51. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/qsv.h +109 -0
  52. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/vdpau.h +138 -0
  53. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/version.h +45 -0
  54. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/version_major.h +55 -0
  55. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/videotoolbox.h +85 -0
  56. package/common/cpp/audioapi/external/ffmpeg_include/libavcodec/vorbis_parser.h +74 -0
  57. package/common/cpp/audioapi/external/ffmpeg_include/libavformat/avformat.h +3004 -0
  58. package/common/cpp/audioapi/external/ffmpeg_include/libavformat/avio.h +831 -0
  59. package/common/cpp/audioapi/external/ffmpeg_include/libavformat/version.h +47 -0
  60. package/common/cpp/audioapi/external/ffmpeg_include/libavformat/version_major.h +50 -0
  61. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/adler32.h +63 -0
  62. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/aes.h +69 -0
  63. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/aes_ctr.h +99 -0
  64. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/ambient_viewing_environment.h +72 -0
  65. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/attributes.h +175 -0
  66. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/audio_fifo.h +187 -0
  67. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/avassert.h +120 -0
  68. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/avconfig.h +6 -0
  69. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/avstring.h +428 -0
  70. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/avutil.h +364 -0
  71. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/base64.h +72 -0
  72. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/blowfish.h +82 -0
  73. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/bprint.h +254 -0
  74. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/bswap.h +105 -0
  75. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/buffer.h +322 -0
  76. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/camellia.h +70 -0
  77. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/cast5.h +80 -0
  78. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/channel_layout.h +762 -0
  79. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/common.h +589 -0
  80. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/container_fifo.h +130 -0
  81. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/cpu.h +150 -0
  82. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/crc.h +102 -0
  83. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/csp.h +192 -0
  84. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/des.h +81 -0
  85. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/detection_bbox.h +108 -0
  86. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/dict.h +242 -0
  87. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/display.h +109 -0
  88. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/dovi_meta.h +396 -0
  89. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/downmix_info.h +115 -0
  90. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/encryption_info.h +205 -0
  91. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/error.h +129 -0
  92. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/eval.h +140 -0
  93. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/executor.h +67 -0
  94. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/ffversion.h +5 -0
  95. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/fifo.h +242 -0
  96. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/file.h +62 -0
  97. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/film_grain_params.h +282 -0
  98. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/frame.h +1163 -0
  99. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hash.h +264 -0
  100. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hdr_dynamic_metadata.h +376 -0
  101. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hdr_dynamic_vivid_metadata.h +292 -0
  102. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hmac.h +99 -0
  103. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext.h +601 -0
  104. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_amf.h +46 -0
  105. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_cuda.h +74 -0
  106. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_d3d11va.h +178 -0
  107. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_d3d12va.h +142 -0
  108. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_drm.h +169 -0
  109. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_dxva2.h +75 -0
  110. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_mediacodec.h +61 -0
  111. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_oh.h +34 -0
  112. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_opencl.h +100 -0
  113. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_qsv.h +87 -0
  114. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_vaapi.h +117 -0
  115. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_vdpau.h +44 -0
  116. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_videotoolbox.h +106 -0
  117. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/hwcontext_vulkan.h +377 -0
  118. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/iamf.h +694 -0
  119. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/imgutils.h +377 -0
  120. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/intfloat.h +77 -0
  121. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/intreadwrite.h +677 -0
  122. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/lfg.h +81 -0
  123. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/log.h +427 -0
  124. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/lzo.h +66 -0
  125. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/macros.h +80 -0
  126. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/mastering_display_metadata.h +137 -0
  127. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/mathematics.h +300 -0
  128. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/md5.h +89 -0
  129. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/mem.h +607 -0
  130. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/motion_vector.h +57 -0
  131. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/murmur3.h +115 -0
  132. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/opt.h +1194 -0
  133. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/parseutils.h +197 -0
  134. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/pixdesc.h +440 -0
  135. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/pixelutils.h +51 -0
  136. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/pixfmt.h +797 -0
  137. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/random_seed.h +57 -0
  138. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/rational.h +225 -0
  139. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/rc4.h +69 -0
  140. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/refstruct.h +297 -0
  141. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/replaygain.h +50 -0
  142. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/ripemd.h +83 -0
  143. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/samplefmt.h +269 -0
  144. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/sha.h +90 -0
  145. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/sha512.h +92 -0
  146. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/spherical.h +243 -0
  147. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/stereo3d.h +325 -0
  148. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/tdrdi.h +164 -0
  149. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/tea.h +71 -0
  150. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/threadmessage.h +115 -0
  151. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/timecode.h +199 -0
  152. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/timestamp.h +85 -0
  153. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/tree.h +137 -0
  154. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/twofish.h +70 -0
  155. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/tx.h +210 -0
  156. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/uuid.h +146 -0
  157. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/version.h +119 -0
  158. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/video_enc_params.h +171 -0
  159. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/video_hint.h +107 -0
  160. package/common/cpp/audioapi/external/ffmpeg_include/libavutil/xtea.h +94 -0
  161. package/common/cpp/audioapi/external/ffmpeg_include/libswresample/swresample.h +587 -0
  162. package/common/cpp/audioapi/external/ffmpeg_include/libswresample/version.h +46 -0
  163. package/common/cpp/audioapi/external/ffmpeg_include/libswresample/version_major.h +31 -0
  164. package/common/cpp/audioapi/external/libavcodec.xcframework/Info.plist +44 -0
  165. package/common/cpp/audioapi/external/libavcodec.xcframework/ios-arm64/libavcodec.framework/Info.plist +1 -0
  166. package/common/cpp/audioapi/external/libavcodec.xcframework/ios-arm64/libavcodec.framework/libavcodec +0 -0
  167. package/common/cpp/audioapi/external/libavcodec.xcframework/ios-arm64_x86_64-simulator/libavcodec.framework/Info.plist +1 -0
  168. package/common/cpp/audioapi/external/libavcodec.xcframework/ios-arm64_x86_64-simulator/libavcodec.framework/libavcodec +0 -0
  169. package/common/cpp/audioapi/external/libavformat.xcframework/Info.plist +44 -0
  170. package/common/cpp/audioapi/external/libavformat.xcframework/ios-arm64/libavformat.framework/Info.plist +1 -0
  171. package/common/cpp/audioapi/external/libavformat.xcframework/ios-arm64/libavformat.framework/libavformat +0 -0
  172. package/common/cpp/audioapi/external/libavformat.xcframework/ios-arm64_x86_64-simulator/libavformat.framework/Info.plist +1 -0
  173. package/common/cpp/audioapi/external/libavformat.xcframework/ios-arm64_x86_64-simulator/libavformat.framework/libavformat +0 -0
  174. package/common/cpp/audioapi/external/libavutil.xcframework/Info.plist +44 -0
  175. package/common/cpp/audioapi/external/libavutil.xcframework/ios-arm64/libavutil.framework/Info.plist +1 -0
  176. package/common/cpp/audioapi/external/libavutil.xcframework/ios-arm64/libavutil.framework/libavutil +0 -0
  177. package/common/cpp/audioapi/external/libavutil.xcframework/ios-arm64_x86_64-simulator/libavutil.framework/Info.plist +1 -0
  178. package/common/cpp/audioapi/external/libavutil.xcframework/ios-arm64_x86_64-simulator/libavutil.framework/libavutil +0 -0
  179. package/common/cpp/audioapi/external/libswresample.xcframework/Info.plist +44 -0
  180. package/common/cpp/audioapi/external/libswresample.xcframework/ios-arm64/libswresample.framework/Info.plist +1 -0
  181. package/common/cpp/audioapi/external/libswresample.xcframework/ios-arm64/libswresample.framework/libswresample +0 -0
  182. package/common/cpp/audioapi/external/libswresample.xcframework/ios-arm64_x86_64-simulator/libswresample.framework/Info.plist +1 -0
  183. package/common/cpp/audioapi/external/libswresample.xcframework/ios-arm64_x86_64-simulator/libswresample.framework/libswresample +0 -0
  184. package/common/cpp/audioapi/external/x86/libcrypto.a +0 -0
  185. package/common/cpp/audioapi/external/x86/libssl.a +0 -0
  186. package/common/cpp/audioapi/external/x86_64/libcrypto.a +0 -0
  187. package/common/cpp/audioapi/external/x86_64/libssl.a +0 -0
  188. package/common/cpp/audioapi/libs/ffmpeg/FFmpegDecoding.cpp +402 -0
  189. package/common/cpp/audioapi/libs/ffmpeg/FFmpegDecoding.h +27 -0
  190. package/common/cpp/audioapi/libs/ffmpeg/INSTRUCTIONS.md +26 -0
  191. package/common/cpp/audioapi/libs/ffmpeg/create_xcframework.sh +111 -0
  192. package/common/cpp/audioapi/libs/ffmpeg/ffmpeg_setup.sh +361 -0
  193. package/common/cpp/audioapi/utils/SpscChannel.hpp +47 -38
  194. package/common/cpp/test/CMakeLists.txt +7 -1
  195. package/ios/audioapi/ios/core/AudioDecoder.mm +22 -2
  196. package/lib/commonjs/api.js +7 -0
  197. package/lib/commonjs/api.js.map +1 -1
  198. package/lib/commonjs/core/AudioContext.js.map +1 -1
  199. package/lib/commonjs/core/BaseAudioContext.js +4 -0
  200. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  201. package/lib/commonjs/core/StreamerNode.js +15 -0
  202. package/lib/commonjs/core/StreamerNode.js.map +1 -0
  203. package/lib/module/api.js +1 -0
  204. package/lib/module/api.js.map +1 -1
  205. package/lib/module/core/AudioContext.js.map +1 -1
  206. package/lib/module/core/BaseAudioContext.js +4 -0
  207. package/lib/module/core/BaseAudioContext.js.map +1 -1
  208. package/lib/module/core/StreamerNode.js +9 -0
  209. package/lib/module/core/StreamerNode.js.map +1 -0
  210. package/lib/typescript/api.d.ts +1 -0
  211. package/lib/typescript/api.d.ts.map +1 -1
  212. package/lib/typescript/core/AudioContext.d.ts +1 -1
  213. package/lib/typescript/core/AudioContext.d.ts.map +1 -1
  214. package/lib/typescript/core/BaseAudioContext.d.ts +2 -0
  215. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  216. package/lib/typescript/core/StreamerNode.d.ts +5 -0
  217. package/lib/typescript/core/StreamerNode.d.ts.map +1 -0
  218. package/lib/typescript/interfaces.d.ts +5 -1
  219. package/lib/typescript/interfaces.d.ts.map +1 -1
  220. package/package.json +1 -1
  221. package/src/api.ts +1 -0
  222. package/src/core/AudioContext.ts +1 -1
  223. package/src/core/BaseAudioContext.ts +5 -0
  224. package/src/core/StreamerNode.ts +8 -0
  225. package/src/interfaces.ts +6 -1
@@ -85,7 +85,7 @@ public:
85
85
  Sender& operator=(Sender&& other) noexcept {
86
86
  channel_ = std::move(other.channel_);
87
87
  return *this;
88
- }
88
+ }
89
89
  Sender(Sender&& other) noexcept : channel_(std::move(other.channel_)) {}
90
90
 
91
91
  /// @brief Try to send a value to the channel
@@ -101,30 +101,34 @@ public:
101
101
  /// @param value The value to send
102
102
  /// @note This function is lock-free but may block if the channel is full
103
103
  void send(const T& value) noexcept(std::is_nothrow_constructible_v<T, const T&>) {
104
- while (channel_->try_send(value) != ResponseStatus::SUCCESS) {
105
- if constexpr (Wait == WaitStrategy::YIELD) {
106
- std::this_thread::yield(); // Yield to allow other threads to run
107
- } else if constexpr (Wait == WaitStrategy::BUSY_LOOP) {
108
- asm volatile ("" ::: "memory"); // Busy loop, just spin with compiler barrier
109
- } else if constexpr (Wait == WaitStrategy::ATOMIC_WAIT) {
110
- channel_->rcvCursor_.wait(channel_->rcvCursorCache_, std::memory_order_acquire);
111
- }
112
- }
104
+ if (channel_->try_send(value) != ResponseStatus::SUCCESS) [[ unlikely ]] {
105
+ do {
106
+ if constexpr (Wait == WaitStrategy::YIELD) {
107
+ std::this_thread::yield(); // Yield to allow other threads to run
108
+ } else if constexpr (Wait == WaitStrategy::BUSY_LOOP) {
109
+ asm volatile ("" ::: "memory"); // Busy loop, just spin with compiler barrier
110
+ } else if constexpr (Wait == WaitStrategy::ATOMIC_WAIT) {
111
+ channel_->rcvCursor_.wait(channel_->rcvCursorCache_, std::memory_order_acquire);
112
+ }
113
+ } while (channel_->try_send(value) != ResponseStatus::SUCCESS);
114
+ }
113
115
  }
114
116
 
115
117
  /// @brief Send a value to the channel (move version)
116
118
  /// @param value The value to send
117
119
  /// @note This function is lock-free but may block if the channel is full.
118
- void send(T&& value) noexcept(std::is_nothrow_constructible_v<T, T&&>) {
119
- while (channel_->try_send(std::move(value)) != ResponseStatus::SUCCESS) {
120
- if constexpr (Wait == WaitStrategy::YIELD) {
121
- std::this_thread::yield(); // Yield to allow other threads to run
122
- } else if constexpr (Wait == WaitStrategy::BUSY_LOOP) {
123
- asm volatile ("" ::: "memory"); // Busy loop, just spin with compiler barrier
124
- } else if constexpr (Wait == WaitStrategy::ATOMIC_WAIT) {
125
- channel_->rcvCursor_.wait(channel_->rcvCursorCache_, std::memory_order_acquire);
126
- }
127
- }
120
+ void send(T&& value) noexcept(std::is_nothrow_move_constructible_v<T>) {
121
+ if (channel_->try_send(std::move(value)) != ResponseStatus::SUCCESS) [[ unlikely ]] {
122
+ do {
123
+ if constexpr (Wait == WaitStrategy::YIELD) {
124
+ std::this_thread::yield(); // Yield to allow other threads to run
125
+ } else if constexpr (Wait == WaitStrategy::BUSY_LOOP) {
126
+ asm volatile ("" ::: "memory"); // Busy loop, just spin with compiler barrier
127
+ } else if constexpr (Wait == WaitStrategy::ATOMIC_WAIT) {
128
+ channel_->rcvCursor_.wait(channel_->rcvCursorCache_, std::memory_order_acquire);
129
+ }
130
+ } while (channel_->try_send(std::move(value)) != ResponseStatus::SUCCESS);
131
+ }
128
132
  }
129
133
 
130
134
  private:
@@ -167,7 +171,8 @@ public:
167
171
  /// @note This function is lock-free but may block if the channel is empty.
168
172
  T receive() noexcept(std::is_nothrow_default_constructible_v<T> && std::is_nothrow_move_assignable_v<T> && std::is_nothrow_destructible_v<T>) {
169
173
  T value;
170
- while (channel_->try_receive(value) != ResponseStatus::SUCCESS) {
174
+ if (channel_->try_receive(value) != ResponseStatus::SUCCESS) [[ unlikely ]] {
175
+ do {
171
176
  if constexpr (Wait == WaitStrategy::YIELD) {
172
177
  std::this_thread::yield(); // Yield to allow other threads to run
173
178
  } else if constexpr (Wait == WaitStrategy::BUSY_LOOP) {
@@ -175,6 +180,7 @@ public:
175
180
  } else if constexpr (Wait == WaitStrategy::ATOMIC_WAIT) {
176
181
  channel_->sendCursor_.wait(channel_->sendCursorCache_, std::memory_order_acquire);
177
182
  }
183
+ } while (channel_->try_receive(value) != ResponseStatus::SUCCESS);
178
184
  }
179
185
  return value;
180
186
  }
@@ -198,21 +204,21 @@ public:
198
204
  /// @param capacity The minimum capacity of the channel, for performance it will be allocated with next power of 2
199
205
  /// Uses raw memory allocation so the T type is not required to provide default constructors
200
206
  /// alignment is the key for performance it makes sure that objects are properly aligned in memory for faster access
201
- explicit InnerChannel(size_t capacity) :
207
+ explicit InnerChannel(size_t capacity) :
202
208
  capacity_(next_power_of_2(capacity)),
203
209
  capacity_mask_(capacity_ - 1),
204
210
  buffer_(static_cast<T*>(operator new[](capacity_ * sizeof(T), std::align_val_t{alignof(T)}))) {
205
-
211
+
206
212
  // Initialize cache values for better performance
207
213
  rcvCursorCache_ = 0;
208
214
  sendCursorCache_ = 0;
209
-
215
+
210
216
  // Initialize reader state for overwrite strategy
211
217
  if constexpr (Strategy == OverflowStrategy::OVERWRITE_ON_FULL) {
212
218
  oldestOccupied_.store(false, std::memory_order_relaxed);
213
219
  }
214
220
  }
215
-
221
+
216
222
  /// This should not be called if there is existing handle to reader or writer
217
223
  ~InnerChannel() {
218
224
  size_t sendCursor = sendCursor_.load(std::memory_order_seq_cst);
@@ -226,7 +232,10 @@ public:
226
232
  }
227
233
 
228
234
  // Deallocate the buffer
229
- ::operator delete[](buffer_);
235
+ ::operator delete[](
236
+ buffer_,
237
+ capacity_ * sizeof(T),
238
+ std::align_val_t{alignof(T)});
230
239
  }
231
240
 
232
241
  /// @brief Try to send a value to the channel
@@ -240,8 +249,8 @@ public:
240
249
  } else {
241
250
  return try_send_overwrite_on_full(std::forward<U>(value));
242
251
  }
243
- }
244
-
252
+ }
253
+
245
254
  /// @brief Try to receive a value from the channel
246
255
  /// @param value The variable to store the received value
247
256
  /// @return ResponseStatus indicating the result of the operation
@@ -255,7 +264,7 @@ public:
255
264
  return ResponseStatus::SKIP_DUE_TO_OVERWRITE;
256
265
  }
257
266
  }
258
-
267
+
259
268
  size_t rcvCursor = rcvCursor_.load(std::memory_order_relaxed); // only receiver thread reads this
260
269
 
261
270
  if (rcvCursor == sendCursorCache_) {
@@ -274,11 +283,11 @@ public:
274
283
  buffer_[rcvCursor].~T(); // Call destructor
275
284
 
276
285
  rcvCursor_.store(next_index(rcvCursor), std::memory_order_release);
277
-
286
+
278
287
  if constexpr (Wait == WaitStrategy::ATOMIC_WAIT) {
279
288
  rcvCursor_.notify_one(); // Notify sender that a value has been received
280
289
  }
281
-
290
+
282
291
  if constexpr (Strategy == OverflowStrategy::OVERWRITE_ON_FULL) {
283
292
  oldestOccupied_.store(false, std::memory_order_release);
284
293
  }
@@ -301,7 +310,7 @@ private:
301
310
 
302
311
  // Construct the new element in place
303
312
  new (&buffer_[sendCursor]) T(std::forward<U>(value));
304
-
313
+
305
314
  sendCursor_.store(next_sendCursor, std::memory_order_release);
306
315
 
307
316
  if constexpr (Wait == WaitStrategy::ATOMIC_WAIT) {
@@ -310,7 +319,7 @@ private:
310
319
 
311
320
  return ResponseStatus::SUCCESS;
312
321
  }
313
-
322
+
314
323
  /// @brief Try to send with OVERWRITE_ON_FULL strategy
315
324
  template<typename U>
316
325
  inline ResponseStatus try_send_overwrite_on_full(U&& value) noexcept(std::is_nothrow_constructible_v<T, U&&>) {
@@ -336,7 +345,7 @@ private:
336
345
  } else {
337
346
  rcvCursorCache_ = newestRcvCursor;
338
347
  }
339
-
348
+
340
349
  oldestOccupied_.store(false, std::memory_order_release);
341
350
  }
342
351
  }
@@ -344,11 +353,11 @@ private:
344
353
  // Normal case: buffer not full
345
354
  new (&buffer_[sendCursor]) T(std::forward<U>(value));
346
355
  sendCursor_.store(next_sendCursor, std::memory_order_release);
347
-
356
+
348
357
  if constexpr (Wait == WaitStrategy::ATOMIC_WAIT) {
349
358
  sendCursor_.notify_one(); // Notify receiver that a value has been sent
350
359
  }
351
-
360
+
352
361
  return ResponseStatus::SUCCESS;
353
362
  }
354
363
 
@@ -357,7 +366,7 @@ private:
357
366
  /// @return The next power of 2
358
367
  static constexpr size_t next_power_of_2(const size_t n) noexcept {
359
368
  if (n <= 1) return 1;
360
-
369
+
361
370
  // Use bit manipulation for efficiency
362
371
  size_t power = 1;
363
372
  while (power < n) {
@@ -382,7 +391,7 @@ private:
382
391
  alignas(64) std::atomic<size_t> sendCursor_{0};
383
392
  alignas(64) size_t rcvCursorCache_{0}; // reduces cache coherency
384
393
 
385
- /// Consumer-side data (accessed by receiver thread)
394
+ /// Consumer-side data (accessed by receiver thread)
386
395
  alignas(64) std::atomic<size_t> rcvCursor_{0};
387
396
  alignas(64) size_t sendCursorCache_{0}; // reduces cache coherency
388
397
 
@@ -24,7 +24,13 @@ file(GLOB_RECURSE RNAUDIOAPI_SRC
24
24
  "${ROOT}/node_modules/react-native-audio-api/android/src/main/cpp/audioapi/android/core/AudioDecoder.cpp"
25
25
  )
26
26
 
27
- list(REMOVE_ITEM RNAUDIOAPI_SRC "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/AudioContext.cpp")
27
+ list(REMOVE_ITEM RNAUDIOAPI_SRC
28
+ "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/AudioContext.cpp"
29
+ "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/sources/StreamerNode.cpp"
30
+ "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/sources/StreamerNode.h"
31
+ "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/libs/ffmpeg/FFmpegDecoding.cpp"
32
+ "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/libs/ffmpeg/FFmpegDecoding.h"
33
+ )
28
34
 
29
35
  file(GLOB_RECURSE RNAUDIOAPI_LIBS
30
36
  CONFIGURE_DEPENDS
@@ -8,6 +8,7 @@
8
8
  #include <audioapi/dsp/VectorMath.h>
9
9
  #include <audioapi/libs/audio-stretch/stretch.h>
10
10
  #include <audioapi/libs/base64/base64.h>
11
+ #include <audioapi/libs/ffmpeg/FFmpegDecoding.h>
11
12
  #include <audioapi/utils/AudioArray.h>
12
13
  #include <audioapi/utils/AudioBus.h>
13
14
 
@@ -53,6 +54,15 @@ AudioDecoder::makeAudioBusFromInt16Buffer(const std::vector<int16_t> &buffer, in
53
54
 
54
55
  std::shared_ptr<AudioBus> AudioDecoder::decodeWithFilePath(const std::string &path) const
55
56
  {
57
+ std::vector<int16_t> buffer;
58
+ if (AudioDecoder::pathHasExtension(path, {".mp4", ".m4a", ".aac"})) {
59
+ buffer = ffmpegdecoding::decodeWithFilePath(path, static_cast<int>(sampleRate_));
60
+ if (buffer.empty()) {
61
+ NSLog(@"Failed to decode with FFmpeg: %s", path.c_str());
62
+ return nullptr;
63
+ }
64
+ return makeAudioBusFromInt16Buffer(buffer, numChannels_, sampleRate_);
65
+ }
56
66
  ma_decoding_backend_vtable *customBackends[] = {ma_decoding_backend_libvorbis, ma_decoding_backend_libopus};
57
67
 
58
68
  ma_decoder decoder;
@@ -67,7 +77,7 @@ std::shared_ptr<AudioBus> AudioDecoder::decodeWithFilePath(const std::string &pa
67
77
  }
68
78
 
69
79
  ma_uint64 framesRead = 0;
70
- auto buffer = readAllPcmFrames(decoder, numChannels_, framesRead);
80
+ buffer = readAllPcmFrames(decoder, numChannels_, framesRead);
71
81
  if (framesRead == 0) {
72
82
  NSLog(@"Failed to decode");
73
83
  ma_decoder_uninit(&decoder);
@@ -80,6 +90,16 @@ std::shared_ptr<AudioBus> AudioDecoder::decodeWithFilePath(const std::string &pa
80
90
 
81
91
  std::shared_ptr<AudioBus> AudioDecoder::decodeWithMemoryBlock(const void *data, size_t size) const
82
92
  {
93
+ std::vector<int16_t> buffer;
94
+ const AudioFormat format = AudioDecoder::detectAudioFormat(data, size);
95
+ if (format == AudioFormat::MP4 || format == AudioFormat::M4A || format == AudioFormat::AAC) {
96
+ buffer = ffmpegdecoding::decodeWithMemoryBlock(data, size, static_cast<int>(sampleRate_));
97
+ if (buffer.empty()) {
98
+ NSLog(@"Failed to decode with FFmpeg");
99
+ return nullptr;
100
+ }
101
+ return makeAudioBusFromInt16Buffer(buffer, numChannels_, sampleRate_);
102
+ }
83
103
  ma_decoding_backend_vtable *customBackends[] = {ma_decoding_backend_libvorbis, ma_decoding_backend_libopus};
84
104
 
85
105
  ma_decoder decoder;
@@ -94,7 +114,7 @@ std::shared_ptr<AudioBus> AudioDecoder::decodeWithMemoryBlock(const void *data,
94
114
  }
95
115
 
96
116
  ma_uint64 framesRead = 0;
97
- auto buffer = readAllPcmFrames(decoder, numChannels_, framesRead);
117
+ buffer = readAllPcmFrames(decoder, numChannels_, framesRead);
98
118
  if (framesRead == 0) {
99
119
  NSLog(@"Failed to decode");
100
120
  ma_decoder_uninit(&decoder);
@@ -177,6 +177,12 @@ Object.defineProperty(exports, "StereoPannerNode", {
177
177
  return _StereoPannerNode.default;
178
178
  }
179
179
  });
180
+ Object.defineProperty(exports, "StreamerNode", {
181
+ enumerable: true,
182
+ get: function () {
183
+ return _StreamerNode.default;
184
+ }
185
+ });
180
186
  Object.defineProperty(exports, "WindowType", {
181
187
  enumerable: true,
182
188
  get: function () {
@@ -207,6 +213,7 @@ var _GainNode = _interopRequireDefault(require("./core/GainNode"));
207
213
  var _OscillatorNode = _interopRequireDefault(require("./core/OscillatorNode"));
208
214
  var _StereoPannerNode = _interopRequireDefault(require("./core/StereoPannerNode"));
209
215
  var _AudioRecorder = _interopRequireDefault(require("./core/AudioRecorder"));
216
+ var _StreamerNode = _interopRequireDefault(require("./core/StreamerNode"));
210
217
  var _system = _interopRequireDefault(require("./system"));
211
218
  var _useSytemVolume = _interopRequireDefault(require("./hooks/useSytemVolume"));
212
219
  var _types = require("./types");
@@ -1 +1 @@
1
- {"version":3,"names":["_specs","require","_RecorderAdapterNode","_interopRequireDefault","_AudioBuffer","_AudioBufferSourceNode","_AudioBufferQueueSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_GainNode","_OscillatorNode","_StereoPannerNode","_AudioRecorder","_system","_useSytemVolume","_types","_errors","e","__esModule","default","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","NativeAudioAPIModule","Error","install"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AA0CA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,2BAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,oBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,qBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,aAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,WAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,yBAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,iBAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,iBAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,SAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,eAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,iBAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,cAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,OAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,eAAA,GAAAlB,sBAAA,CAAAF,OAAA;AAEA,IAAAqB,MAAA,GAAArB,OAAA;AAUA,IAAAsB,OAAA,GAAAtB,OAAA;AAMkB,SAAAE,uBAAAqB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AArElB;;AAgBA;;AAEA,IACEG,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,iBAAiB,IAAI,IAAI,EAChC;EACA,IAAI,CAACC,2BAAoB,EAAE;IACzB,MAAM,IAAIC,KAAK,CACb,iFACF,CAAC;EACH;EAEAD,2BAAoB,CAACE,OAAO,CAAC,CAAC;AAChC","ignoreList":[]}
1
+ {"version":3,"names":["_specs","require","_RecorderAdapterNode","_interopRequireDefault","_AudioBuffer","_AudioBufferSourceNode","_AudioBufferQueueSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_GainNode","_OscillatorNode","_StereoPannerNode","_AudioRecorder","_StreamerNode","_system","_useSytemVolume","_types","_errors","e","__esModule","default","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","NativeAudioAPIModule","Error","install"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AA0CA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,2BAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,oBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,qBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,aAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,WAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,yBAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,iBAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,iBAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,SAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,eAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,iBAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,cAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,aAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,OAAA,GAAAlB,sBAAA,CAAAF,OAAA;AACA,IAAAqB,eAAA,GAAAnB,sBAAA,CAAAF,OAAA;AAEA,IAAAsB,MAAA,GAAAtB,OAAA;AAUA,IAAAuB,OAAA,GAAAvB,OAAA;AAMkB,SAAAE,uBAAAsB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAtElB;;AAgBA;;AAEA,IACEG,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,iBAAiB,IAAI,IAAI,EAChC;EACA,IAAI,CAACC,2BAAoB,EAAE;IACzB,MAAM,IAAIC,KAAK,CACb,iFACF,CAAC;EACH;EAEAD,2BAAoB,CAACE,OAAO,CAAC,CAAC;AAChC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_BaseAudioContext","_interopRequireDefault","require","_system","_errors","e","__esModule","default","AudioContext","BaseAudioContext","constructor","options","sampleRate","NotSupportedError","global","createAudioContext","AudioManager","getDevicePreferredSampleRate","initSuspended","close","context","resume","suspend","exports"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/B,MAAMG,YAAY,SAASC,yBAAgB,CAAC;EACzDC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IACEA,OAAO,IACPA,OAAO,CAACC,UAAU,KACjBD,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EACzD;MACA,MAAM,IAAIC,yBAAiB,CACzB,6CAA6CF,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IAEA,KAAK,CACHE,MAAM,CAACC,kBAAkB,CACvBJ,OAAO,EAAEC,UAAU,IAAII,eAAY,CAACC,4BAA4B,CAAC,CAAC,EAClEN,OAAO,EAAEO,aAAa,IAAI,KAC5B,CACF,CAAC;EACH;EAEA,MAAMC,KAAKA,CAAA,EAAqB;IAC9B,OAAQ,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAChD;EAEA,MAAME,MAAMA,CAAA,EAAqB;IAC/B,OAAQ,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EACjD;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAQ,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EAClD;AACF;AAACC,OAAA,CAAAhB,OAAA,GAAAC,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_BaseAudioContext","_interopRequireDefault","require","_system","_errors","e","__esModule","default","AudioContext","BaseAudioContext","constructor","options","sampleRate","NotSupportedError","global","createAudioContext","AudioManager","getDevicePreferredSampleRate","initSuspended","close","context","resume","suspend","exports"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/B,MAAMG,YAAY,SAASC,yBAAgB,CAAC;EACzDC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IACEA,OAAO,IACPA,OAAO,CAACC,UAAU,KACjBD,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EACzD;MACA,MAAM,IAAIC,yBAAiB,CACzB,6CAA6CF,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IAEA,KAAK,CACHE,MAAM,CAACC,kBAAkB,CACvBJ,OAAO,EAAEC,UAAU,IAAII,eAAY,CAACC,4BAA4B,CAAC,CAAC,EAClEN,OAAO,EAAEO,aAAa,IAAI,KAC5B,CACF,CAAC;EACH;EAEA,MAAMC,KAAKA,CAAA,EAAkB;IAC3B,OAAQ,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAChD;EAEA,MAAME,MAAMA,CAAA,EAAqB;IAC/B,OAAQ,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EACjD;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAQ,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EAClD;AACF;AAACC,OAAA,CAAAhB,OAAA,GAAAC,YAAA","ignoreList":[]}
@@ -14,6 +14,7 @@ var _AudioBuffer = _interopRequireDefault(require("./AudioBuffer"));
14
14
  var _PeriodicWave = _interopRequireDefault(require("./PeriodicWave"));
15
15
  var _AnalyserNode = _interopRequireDefault(require("./AnalyserNode"));
16
16
  var _AudioBufferQueueSourceNode = _interopRequireDefault(require("./AudioBufferQueueSourceNode"));
17
+ var _StreamerNode = _interopRequireDefault(require("./StreamerNode"));
17
18
  var _errors = require("../errors");
18
19
  var _RecorderAdapterNode = _interopRequireDefault(require("./RecorderAdapterNode"));
19
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -35,6 +36,9 @@ class BaseAudioContext {
35
36
  createOscillator() {
36
37
  return new _OscillatorNode.default(this, this.context.createOscillator());
37
38
  }
39
+ createStreamer() {
40
+ return new _StreamerNode.default(this, this.context.createStreamer());
41
+ }
38
42
  createGain() {
39
43
  return new _GainNode.default(this, this.context.createGain());
40
44
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_AudioDestinationNode","_interopRequireDefault","require","_OscillatorNode","_GainNode","_StereoPannerNode","_BiquadFilterNode","_AudioBufferSourceNode","_AudioBuffer","_PeriodicWave","_AnalyserNode","_AudioBufferQueueSourceNode","_errors","_RecorderAdapterNode","e","__esModule","default","BaseAudioContext","constructor","context","destination","AudioDestinationNode","sampleRate","currentTime","state","createRecorderAdapter","RecorderAdapterNode","createOscillator","OscillatorNode","createGain","GainNode","createStereoPanner","StereoPannerNode","createBiquadFilter","BiquadFilterNode","createBufferSource","options","pitchCorrection","AudioBufferSourceNode","createBufferQueueSource","AudioBufferQueueSourceNode","createBuffer","numOfChannels","length","NotSupportedError","AudioBuffer","createPeriodicWave","real","imag","constraints","InvalidAccessError","disableNormalization","PeriodicWave","createAnalyser","AnalyserNode","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","data","Uint8Array","decodePCMInBase64Data","base64","playbackRate","decodePCMAudioDataInBase64","exports"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_AudioDestinationNode","_interopRequireDefault","require","_OscillatorNode","_GainNode","_StereoPannerNode","_BiquadFilterNode","_AudioBufferSourceNode","_AudioBuffer","_PeriodicWave","_AnalyserNode","_AudioBufferQueueSourceNode","_StreamerNode","_errors","_RecorderAdapterNode","e","__esModule","default","BaseAudioContext","constructor","context","destination","AudioDestinationNode","sampleRate","currentTime","state","createRecorderAdapter","RecorderAdapterNode","createOscillator","OscillatorNode","createStreamer","StreamerNode","createGain","GainNode","createStereoPanner","StereoPannerNode","createBiquadFilter","BiquadFilterNode","createBufferSource","options","pitchCorrection","AudioBufferSourceNode","createBufferQueueSource","AudioBufferQueueSourceNode","createBuffer","numOfChannels","length","NotSupportedError","AudioBuffer","createPeriodicWave","real","imag","constraints","InvalidAccessError","disableNormalization","PeriodicWave","createAnalyser","AnalyserNode","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","data","Uint8Array","decodePCMInBase64Data","base64","playbackRate","decodePCMAudioDataInBase64","exports"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _AudioScheduledSourceNode = _interopRequireDefault(require("./AudioScheduledSourceNode"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ class StreamerNode extends _AudioScheduledSourceNode.default {
10
+ initialize(streamPath) {
11
+ return this.node.initialize(streamPath);
12
+ }
13
+ }
14
+ exports.default = StreamerNode;
15
+ //# sourceMappingURL=StreamerNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioScheduledSourceNode","_interopRequireDefault","require","e","__esModule","default","StreamerNode","AudioScheduledSourceNode","initialize","streamPath","node","exports"],"sourceRoot":"../../../src","sources":["core/StreamerNode.ts"],"mappings":";;;;;;AACA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAkE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnD,MAAMG,YAAY,SAASC,iCAAwB,CAAC;EAC1DC,UAAUA,CAACC,UAAkB,EAAW;IAC7C,OAAQ,IAAI,CAACC,IAAI,CAAmBF,UAAU,CAACC,UAAU,CAAC;EAC5D;AACF;AAACE,OAAA,CAAAN,OAAA,GAAAC,YAAA","ignoreList":[]}
package/lib/module/api.js CHANGED
@@ -29,6 +29,7 @@ export { default as GainNode } from "./core/GainNode.js";
29
29
  export { default as OscillatorNode } from "./core/OscillatorNode.js";
30
30
  export { default as StereoPannerNode } from "./core/StereoPannerNode.js";
31
31
  export { default as AudioRecorder } from "./core/AudioRecorder.js";
32
+ export { default as StreamerNode } from "./core/StreamerNode.js";
32
33
  export { default as AudioManager } from "./system/index.js";
33
34
  export { default as useSystemVolume } from "./hooks/useSytemVolume.js";
34
35
  export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","Error","install","default","RecorderAdapterNode","AudioBuffer","AudioBufferSourceNode","AudioBufferQueueSourceNode","AudioContext","OfflineAudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","AudioRecorder","AudioManager","useSystemVolume","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,kBAAS;;AAS9C;;AAgBA;;AAEA,IACEC,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,iBAAiB,IAAI,IAAI,EAChC;EACA,IAAI,CAACL,oBAAoB,EAAE;IACzB,MAAM,IAAIM,KAAK,CACb,iFACF,CAAC;EACH;EAEAN,oBAAoB,CAACO,OAAO,CAAC,CAAC;AAChC;AAEA,SAASC,OAAO,IAAIC,mBAAmB,QAAQ,+BAA4B;AAC3E,SAASD,OAAO,IAAIE,WAAW,QAAQ,uBAAoB;AAC3D,SAASF,OAAO,IAAIG,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASH,OAAO,IAAII,0BAA0B,QAAQ,sCAAmC;AACzF,SAASJ,OAAO,IAAIK,YAAY,QAAQ,wBAAqB;AAC7D,SAASL,OAAO,IAAIM,mBAAmB,QAAQ,+BAA4B;AAC3E,SAASN,OAAO,IAAIO,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASP,OAAO,IAAIQ,SAAS,QAAQ,qBAAkB;AACvD,SAASR,OAAO,IAAIS,YAAY,QAAQ,wBAAqB;AAC7D,SAAST,OAAO,IAAIU,UAAU,QAAQ,sBAAmB;AACzD,SAASV,OAAO,IAAIW,wBAAwB,QAAQ,oCAAiC;AACrF,SAASX,OAAO,IAAIY,gBAAgB,QAAQ,4BAAyB;AACrE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,4BAAyB;AACrE,SAASb,OAAO,IAAIc,QAAQ,QAAQ,oBAAiB;AACrD,SAASd,OAAO,IAAIe,cAAc,QAAQ,0BAAuB;AACjE,SAASf,OAAO,IAAIgB,gBAAgB,QAAQ,4BAAyB;AACrE,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,yBAAsB;AAC/D,SAASjB,OAAO,IAAIkB,YAAY,QAAQ,mBAAU;AAClD,SAASlB,OAAO,IAAImB,eAAe,QAAQ,2BAAwB;AAEnE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
1
+ {"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","Error","install","default","RecorderAdapterNode","AudioBuffer","AudioBufferSourceNode","AudioBufferQueueSourceNode","AudioContext","OfflineAudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","AudioRecorder","StreamerNode","AudioManager","useSystemVolume","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,kBAAS;;AAS9C;;AAgBA;;AAEA,IACEC,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,iBAAiB,IAAI,IAAI,EAChC;EACA,IAAI,CAACL,oBAAoB,EAAE;IACzB,MAAM,IAAIM,KAAK,CACb,iFACF,CAAC;EACH;EAEAN,oBAAoB,CAACO,OAAO,CAAC,CAAC;AAChC;AAEA,SAASC,OAAO,IAAIC,mBAAmB,QAAQ,+BAA4B;AAC3E,SAASD,OAAO,IAAIE,WAAW,QAAQ,uBAAoB;AAC3D,SAASF,OAAO,IAAIG,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASH,OAAO,IAAII,0BAA0B,QAAQ,sCAAmC;AACzF,SAASJ,OAAO,IAAIK,YAAY,QAAQ,wBAAqB;AAC7D,SAASL,OAAO,IAAIM,mBAAmB,QAAQ,+BAA4B;AAC3E,SAASN,OAAO,IAAIO,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASP,OAAO,IAAIQ,SAAS,QAAQ,qBAAkB;AACvD,SAASR,OAAO,IAAIS,YAAY,QAAQ,wBAAqB;AAC7D,SAAST,OAAO,IAAIU,UAAU,QAAQ,sBAAmB;AACzD,SAASV,OAAO,IAAIW,wBAAwB,QAAQ,oCAAiC;AACrF,SAASX,OAAO,IAAIY,gBAAgB,QAAQ,4BAAyB;AACrE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,4BAAyB;AACrE,SAASb,OAAO,IAAIc,QAAQ,QAAQ,oBAAiB;AACrD,SAASd,OAAO,IAAIe,cAAc,QAAQ,0BAAuB;AACjE,SAASf,OAAO,IAAIgB,gBAAgB,QAAQ,4BAAyB;AACrE,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,yBAAsB;AAC/D,SAASjB,OAAO,IAAIkB,YAAY,QAAQ,wBAAqB;AAC7D,SAASlB,OAAO,IAAImB,YAAY,QAAQ,mBAAU;AAClD,SAASnB,OAAO,IAAIoB,eAAe,QAAQ,2BAAwB;AAEnE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseAudioContext","AudioManager","NotSupportedError","AudioContext","constructor","options","sampleRate","global","createAudioContext","getDevicePreferredSampleRate","initSuspended","close","context","resume","suspend"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;AACA,OAAOA,gBAAgB,MAAM,uBAAoB;AACjD,OAAOC,YAAY,MAAM,oBAAW;AAEpC,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,eAAe,MAAMC,YAAY,SAASH,gBAAgB,CAAC;EACzDI,WAAWA,CAACC,OAA6B,EAAE;IACzC,IACEA,OAAO,IACPA,OAAO,CAACC,UAAU,KACjBD,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EACzD;MACA,MAAM,IAAIJ,iBAAiB,CACzB,6CAA6CG,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IAEA,KAAK,CACHC,MAAM,CAACC,kBAAkB,CACvBH,OAAO,EAAEC,UAAU,IAAIL,YAAY,CAACQ,4BAA4B,CAAC,CAAC,EAClEJ,OAAO,EAAEK,aAAa,IAAI,KAC5B,CACF,CAAC;EACH;EAEA,MAAMC,KAAKA,CAAA,EAAqB;IAC9B,OAAQ,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAChD;EAEA,MAAME,MAAMA,CAAA,EAAqB;IAC/B,OAAQ,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EACjD;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAQ,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EAClD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["BaseAudioContext","AudioManager","NotSupportedError","AudioContext","constructor","options","sampleRate","global","createAudioContext","getDevicePreferredSampleRate","initSuspended","close","context","resume","suspend"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;AACA,OAAOA,gBAAgB,MAAM,uBAAoB;AACjD,OAAOC,YAAY,MAAM,oBAAW;AAEpC,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,eAAe,MAAMC,YAAY,SAASH,gBAAgB,CAAC;EACzDI,WAAWA,CAACC,OAA6B,EAAE;IACzC,IACEA,OAAO,IACPA,OAAO,CAACC,UAAU,KACjBD,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EACzD;MACA,MAAM,IAAIJ,iBAAiB,CACzB,6CAA6CG,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IAEA,KAAK,CACHC,MAAM,CAACC,kBAAkB,CACvBH,OAAO,EAAEC,UAAU,IAAIL,YAAY,CAACQ,4BAA4B,CAAC,CAAC,EAClEJ,OAAO,EAAEK,aAAa,IAAI,KAC5B,CACF,CAAC;EACH;EAEA,MAAMC,KAAKA,CAAA,EAAkB;IAC3B,OAAQ,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAChD;EAEA,MAAME,MAAMA,CAAA,EAAqB;IAC/B,OAAQ,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EACjD;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAQ,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EAClD;AACF","ignoreList":[]}
@@ -10,6 +10,7 @@ import AudioBuffer from "./AudioBuffer.js";
10
10
  import PeriodicWave from "./PeriodicWave.js";
11
11
  import AnalyserNode from "./AnalyserNode.js";
12
12
  import AudioBufferQueueSourceNode from "./AudioBufferQueueSourceNode.js";
13
+ import StreamerNode from "./StreamerNode.js";
13
14
  import { InvalidAccessError, NotSupportedError } from "../errors/index.js";
14
15
  import RecorderAdapterNode from "./RecorderAdapterNode.js";
15
16
  export default class BaseAudioContext {
@@ -30,6 +31,9 @@ export default class BaseAudioContext {
30
31
  createOscillator() {
31
32
  return new OscillatorNode(this, this.context.createOscillator());
32
33
  }
34
+ createStreamer() {
35
+ return new StreamerNode(this, this.context.createStreamer());
36
+ }
33
37
  createGain() {
34
38
  return new GainNode(this, this.context.createGain());
35
39
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","AudioBufferQueueSourceNode","InvalidAccessError","NotSupportedError","RecorderAdapterNode","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createRecorderAdapter","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","options","pitchCorrection","createBufferQueueSource","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","data","Uint8Array","decodePCMInBase64Data","base64","playbackRate","decodePCMAudioDataInBase64"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","AudioBufferQueueSourceNode","StreamerNode","InvalidAccessError","NotSupportedError","RecorderAdapterNode","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createRecorderAdapter","createOscillator","createStreamer","createGain","createStereoPanner","createBiquadFilter","createBufferSource","options","pitchCorrection","createBufferQueueSource","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","data","Uint8Array","decodePCMInBase64Data","base64","playbackRate","decodePCMAudioDataInBase64"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":";;AAMA,OAAOA,oBAAoB,MAAM,2BAAwB;AACzD,OAAOC,cAAc,MAAM,qBAAkB;AAC7C,OAAOC,QAAQ,MAAM,eAAY;AACjC,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,OAAOC,qBAAqB,MAAM,4BAAyB;AAC3D,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,YAAY,MAAM,mBAAgB;AACzC,OAAOC,YAAY,MAAM,mBAAgB;AACzC,OAAOC,0BAA0B,MAAM,iCAA8B;AACrE,OAAOC,YAAY,MAAM,mBAAgB;AACzC,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,oBAAW;AACjE,OAAOC,mBAAmB,MAAM,0BAAuB;AAEvD,eAAe,MAAMC,gBAAgB,CAAC;EAKpCC,WAAWA,CAACC,OAA0B,EAAE;IACtC,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,WAAW,GAAG,IAAIjB,oBAAoB,CAAC,IAAI,EAAEgB,OAAO,CAACC,WAAW,CAAC;IACtE,IAAI,CAACC,UAAU,GAAGF,OAAO,CAACE,UAAU;EACtC;EAEA,IAAWC,WAAWA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACH,OAAO,CAACG,WAAW;EACjC;EAEA,IAAWC,KAAKA,CAAA,EAAiB;IAC/B,OAAO,IAAI,CAACJ,OAAO,CAACI,KAAK;EAC3B;EAEAC,qBAAqBA,CAAA,EAAwB;IAC3C,OAAO,IAAIR,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAACG,OAAO,CAACK,qBAAqB,CAAC,CAAC,CAAC;EAC5E;EAEAC,gBAAgBA,CAAA,EAAmB;IACjC,OAAO,IAAIrB,cAAc,CAAC,IAAI,EAAE,IAAI,CAACe,OAAO,CAACM,gBAAgB,CAAC,CAAC,CAAC;EAClE;EAEAC,cAAcA,CAAA,EAAiB;IAC7B,OAAO,IAAIb,YAAY,CAAC,IAAI,EAAE,IAAI,CAACM,OAAO,CAACO,cAAc,CAAC,CAAC,CAAC;EAC9D;EAEAC,UAAUA,CAAA,EAAa;IACrB,OAAO,IAAItB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAACc,OAAO,CAACQ,UAAU,CAAC,CAAC,CAAC;EACtD;EAEAC,kBAAkBA,CAAA,EAAqB;IACrC,OAAO,IAAItB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAACa,OAAO,CAACS,kBAAkB,CAAC,CAAC,CAAC;EACtE;EAEAC,kBAAkBA,CAAA,EAAqB;IACrC,OAAO,IAAItB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAACY,OAAO,CAACU,kBAAkB,CAAC,CAAC,CAAC;EACtE;EAEAC,kBAAkBA,CAChBC,OAAsC,EACf;IACvB,MAAMC,eAAe,GAAGD,OAAO,EAAEC,eAAe,IAAI,KAAK;IAEzD,OAAO,IAAIxB,qBAAqB,CAC9B,IAAI,EACJ,IAAI,CAACW,OAAO,CAACW,kBAAkB,CAACE,eAAe,CACjD,CAAC;EACH;EAEAC,uBAAuBA,CAAA,EAA+B;IACpD,OAAO,IAAIrB,0BAA0B,CACnC,IAAI,EACJ,IAAI,CAACO,OAAO,CAACc,uBAAuB,CAAC,CACvC,CAAC;EACH;EAEAC,YAAYA,CACVC,aAAqB,EACrBC,MAAc,EACdf,UAAkB,EACL;IACb,IAAIc,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,EAAE,EAAE;MAC5C,MAAM,IAAIpB,iBAAiB,CACzB,oCAAoCoB,aAAa,gCACnD,CAAC;IACH;IAEA,IAAIC,MAAM,IAAI,CAAC,EAAE;MACf,MAAM,IAAIrB,iBAAiB,CACzB,kCAAkCqB,MAAM,kDAC1C,CAAC;IACH;IAEA,IAAIf,UAAU,GAAG,IAAI,IAAIA,UAAU,GAAG,KAAK,EAAE;MAC3C,MAAM,IAAIN,iBAAiB,CACzB,6BAA6BM,UAAU,sCACzC,CAAC;IACH;IAEA,OAAO,IAAIZ,WAAW,CACpB,IAAI,CAACU,OAAO,CAACe,YAAY,CAACC,aAAa,EAAEC,MAAM,EAAEf,UAAU,CAC7D,CAAC;EACH;EAEAgB,kBAAkBA,CAChBC,IAAkB,EAClBC,IAAkB,EAClBC,WAAqC,EACvB;IACd,IAAIF,IAAI,CAACF,MAAM,KAAKG,IAAI,CAACH,MAAM,EAAE;MAC/B,MAAM,IAAItB,kBAAkB,CAC1B,4BAA4BwB,IAAI,CAACF,MAAM,oBAAoBG,IAAI,CAACH,MAAM,sBACxE,CAAC;IACH;IAEA,MAAMK,oBAAoB,GAAGD,WAAW,EAAEC,oBAAoB,IAAI,KAAK;IAEvE,OAAO,IAAI/B,YAAY,CACrB,IAAI,CAACS,OAAO,CAACkB,kBAAkB,CAACC,IAAI,EAAEC,IAAI,EAAEE,oBAAoB,CAClE,CAAC;EACH;EAEAC,cAAcA,CAAA,EAAiB;IAC7B,OAAO,IAAI/B,YAAY,CAAC,IAAI,EAAE,IAAI,CAACQ,OAAO,CAACuB,cAAc,CAAC,CAAC,CAAC;EAC9D;;EAEA;EACA,MAAMC,qBAAqBA,CAACC,UAAkB,EAAwB;IACpE;IACA,IAAIA,UAAU,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;MACpCD,UAAU,GAAGA,UAAU,CAACE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IAChD;IAEA,OAAO,IAAIrC,WAAW,CACpB,MAAM,IAAI,CAACU,OAAO,CAACwB,qBAAqB,CAACC,UAAU,CACrD,CAAC;EACH;;EAEA;EACA,MAAMG,eAAeA,CAACC,IAAiB,EAAwB;IAC7D,OAAO,IAAIvC,WAAW,CACpB,MAAM,IAAI,CAACU,OAAO,CAAC4B,eAAe,CAAC,IAAIE,UAAU,CAACD,IAAI,CAAC,CACzD,CAAC;EACH;EAEA,MAAME,qBAAqBA,CACzBC,MAAc,EACdC,YAAoB,GAAG,GAAG,EACJ;IACtB,OAAO,IAAI3C,WAAW,CACpB,MAAM,IAAI,CAACU,OAAO,CAACkC,0BAA0B,CAACF,MAAM,EAAEC,YAAY,CACpE,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
4
+ export default class StreamerNode extends AudioScheduledSourceNode {
5
+ initialize(streamPath) {
6
+ return this.node.initialize(streamPath);
7
+ }
8
+ }
9
+ //# sourceMappingURL=StreamerNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AudioScheduledSourceNode","StreamerNode","initialize","streamPath","node"],"sourceRoot":"../../../src","sources":["core/StreamerNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,eAAe,MAAMC,YAAY,SAASD,wBAAwB,CAAC;EAC1DE,UAAUA,CAACC,UAAkB,EAAW;IAC7C,OAAQ,IAAI,CAACC,IAAI,CAAmBF,UAAU,CAACC,UAAU,CAAC;EAC5D;AACF","ignoreList":[]}
@@ -23,6 +23,7 @@ export { default as GainNode } from './core/GainNode';
23
23
  export { default as OscillatorNode } from './core/OscillatorNode';
24
24
  export { default as StereoPannerNode } from './core/StereoPannerNode';
25
25
  export { default as AudioRecorder } from './core/AudioRecorder';
26
+ export { default as StreamerNode } from './core/StreamerNode';
26
27
  export { default as AudioManager } from './system';
27
28
  export { default as useSystemVolume } from './hooks/useSytemVolume';
28
29
  export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints, } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,kBAAkB,EAAE,CACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,KACnB,aAAa,CAAC;IACnB,IAAI,yBAAyB,EAAE,CAC7B,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,oBAAoB,CAAC;IAE1B,IAAI,mBAAmB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,cAAc,CAAC;IAE3E,IAAI,iBAAiB,EAAE,kBAAkB,CAAC;CAC3C;AAkBD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,kBAAkB,EAAE,CACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,KACnB,aAAa,CAAC;IACnB,IAAI,yBAAyB,EAAE,CAC7B,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,oBAAoB,CAAC;IAE1B,IAAI,mBAAmB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,cAAc,CAAC;IAE3E,IAAI,iBAAiB,EAAE,kBAAkB,CAAC;CAC3C;AAkBD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
@@ -2,7 +2,7 @@ import BaseAudioContext from './BaseAudioContext';
2
2
  import { AudioContextOptions } from '../types';
3
3
  export default class AudioContext extends BaseAudioContext {
4
4
  constructor(options?: AudioContextOptions);
5
- close(): Promise<boolean>;
5
+ close(): Promise<void>;
6
6
  resume(): Promise<boolean>;
7
7
  suspend(): Promise<boolean>;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AudioContext.d.ts","sourceRoot":"","sources":["../../../src/core/AudioContext.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,gBAAgB;gBAC5C,OAAO,CAAC,EAAE,mBAAmB;IAmBnC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlC"}
1
+ {"version":3,"file":"AudioContext.d.ts","sourceRoot":"","sources":["../../../src/core/AudioContext.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,gBAAgB;gBAC5C,OAAO,CAAC,EAAE,mBAAmB;IAmBnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlC"}
@@ -10,6 +10,7 @@ import AudioBuffer from './AudioBuffer';
10
10
  import PeriodicWave from './PeriodicWave';
11
11
  import AnalyserNode from './AnalyserNode';
12
12
  import AudioBufferQueueSourceNode from './AudioBufferQueueSourceNode';
13
+ import StreamerNode from './StreamerNode';
13
14
  import RecorderAdapterNode from './RecorderAdapterNode';
14
15
  export default class BaseAudioContext {
15
16
  readonly destination: AudioDestinationNode;
@@ -20,6 +21,7 @@ export default class BaseAudioContext {
20
21
  get state(): ContextState;
21
22
  createRecorderAdapter(): RecorderAdapterNode;
22
23
  createOscillator(): OscillatorNode;
24
+ createStreamer(): StreamerNode;
23
25
  createGain(): GainNode;
24
26
  createStereoPanner(): StereoPannerNode;
25
27
  createBiquadFilter(): BiquadFilterNode;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAudioContext.d.ts","sourceRoot":"","sources":["../../../src/core/BaseAudioContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AAEtE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;gBAExB,OAAO,EAAE,iBAAiB;IAMtC,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,KAAK,IAAI,YAAY,CAE/B;IAED,qBAAqB,IAAI,mBAAmB;IAI5C,gBAAgB,IAAI,cAAc;IAIlC,UAAU,IAAI,QAAQ;IAItB,kBAAkB,IAAI,gBAAgB;IAItC,kBAAkB,IAAI,gBAAgB;IAItC,kBAAkB,CAChB,OAAO,CAAC,EAAE,4BAA4B,GACrC,qBAAqB;IASxB,uBAAuB,IAAI,0BAA0B;IAOrD,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW;IAwBd,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY;IAcf,cAAc,IAAI,YAAY;IAI9B,iDAAiD;IAC3C,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAWrE,8CAA8C;IACxC,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAMxD,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAY,GACzB,OAAO,CAAC,WAAW,CAAC;CAKxB"}
1
+ {"version":3,"file":"BaseAudioContext.d.ts","sourceRoot":"","sources":["../../../src/core/BaseAudioContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;gBAExB,OAAO,EAAE,iBAAiB;IAMtC,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,KAAK,IAAI,YAAY,CAE/B;IAED,qBAAqB,IAAI,mBAAmB;IAI5C,gBAAgB,IAAI,cAAc;IAIlC,cAAc,IAAI,YAAY;IAI9B,UAAU,IAAI,QAAQ;IAItB,kBAAkB,IAAI,gBAAgB;IAItC,kBAAkB,IAAI,gBAAgB;IAItC,kBAAkB,CAChB,OAAO,CAAC,EAAE,4BAA4B,GACrC,qBAAqB;IASxB,uBAAuB,IAAI,0BAA0B;IAOrD,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW;IAwBd,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY;IAcf,cAAc,IAAI,YAAY;IAI9B,iDAAiD;IAC3C,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAWrE,8CAA8C;IACxC,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAMxD,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAY,GACzB,OAAO,CAAC,WAAW,CAAC;CAKxB"}
@@ -0,0 +1,5 @@
1
+ import AudioScheduledSourceNode from './AudioScheduledSourceNode';
2
+ export default class StreamerNode extends AudioScheduledSourceNode {
3
+ initialize(streamPath: string): boolean;
4
+ }
5
+ //# sourceMappingURL=StreamerNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamerNode.d.ts","sourceRoot":"","sources":["../../../src/core/StreamerNode.ts"],"names":[],"mappings":"AACA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,wBAAwB;IACzD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;CAG/C"}
@@ -18,9 +18,10 @@ export interface IBaseAudioContext {
18
18
  decodeAudioDataSource: (sourcePath: string) => Promise<IAudioBuffer>;
19
19
  decodeAudioData: (arrayBuffer: ArrayBuffer) => Promise<IAudioBuffer>;
20
20
  decodePCMAudioDataInBase64: (b64: string, playbackRate: number) => Promise<IAudioBuffer>;
21
+ createStreamer: () => IStreamerNode;
21
22
  }
22
23
  export interface IAudioContext extends IBaseAudioContext {
23
- close(): Promise<boolean>;
24
+ close(): Promise<void>;
24
25
  resume(): Promise<boolean>;
25
26
  suspend(): Promise<boolean>;
26
27
  }
@@ -72,6 +73,9 @@ export interface IOscillatorNode extends IAudioScheduledSourceNode {
72
73
  type: OscillatorType;
73
74
  setPeriodicWave(periodicWave: IPeriodicWave): void;
74
75
  }
76
+ export interface IStreamerNode extends IAudioNode {
77
+ initialize(streamPath: string): boolean;
78
+ }
75
79
  export interface IAudioBufferSourceNode extends IAudioBufferBaseSourceNode {
76
80
  buffer: IAudioBuffer | null;
77
81
  loop: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}