@siteed/audio-studio 3.2.0-beta.1 β†’ 3.2.1-beta.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 (93) hide show
  1. package/CHANGELOG.md +356 -5
  2. package/android/src/main/java/net/siteed/audiostudio/AudioRecorderManager.kt +12 -12
  3. package/android/src/main/java/net/siteed/audiostudio/AudioRecordingService.kt +1 -1
  4. package/android/src/main/java/net/siteed/audiostudio/AudioStreamDecoder.kt +306 -94
  5. package/android/src/main/java/net/siteed/audiostudio/AudioStudioModule.kt +43 -10
  6. package/android/src/main/java/net/siteed/audiostudio/RecordingActionReceiver.kt +1 -1
  7. package/build/cjs/AudioRecorder.provider.js +3 -37
  8. package/build/cjs/AudioRecorder.provider.js.map +1 -1
  9. package/build/cjs/errors/AudioStreamError.js +9 -0
  10. package/build/cjs/errors/AudioStreamError.js.map +1 -1
  11. package/build/cjs/errors/AudioStreamError.test.js +22 -1
  12. package/build/cjs/errors/AudioStreamError.test.js.map +1 -1
  13. package/build/cjs/streamAudioData.js +99 -32
  14. package/build/cjs/streamAudioData.js.map +1 -1
  15. package/build/cjs/utils/audioProcessing.js +14 -10
  16. package/build/cjs/utils/audioProcessing.js.map +1 -1
  17. package/build/esm/AudioRecorder.provider.js +3 -4
  18. package/build/esm/AudioRecorder.provider.js.map +1 -1
  19. package/build/esm/errors/AudioStreamError.js +9 -0
  20. package/build/esm/errors/AudioStreamError.js.map +1 -1
  21. package/build/esm/errors/AudioStreamError.test.js +22 -1
  22. package/build/esm/errors/AudioStreamError.test.js.map +1 -1
  23. package/build/esm/streamAudioData.js +99 -32
  24. package/build/esm/streamAudioData.js.map +1 -1
  25. package/build/esm/utils/audioProcessing.js +14 -10
  26. package/build/esm/utils/audioProcessing.js.map +1 -1
  27. package/build/types/errors/AudioStreamError.d.ts.map +1 -1
  28. package/build/types/streamAudioData.d.ts +5 -0
  29. package/build/types/streamAudioData.d.ts.map +1 -1
  30. package/build/types/utils/audioProcessing.d.ts +2 -2
  31. package/build/types/utils/audioProcessing.d.ts.map +1 -1
  32. package/ios/AudioStreamDecoder.swift +191 -100
  33. package/ios/AudioStudio.podspec +1 -1
  34. package/ios/AudioStudioModule.swift +48 -9
  35. package/package.json +32 -15
  36. package/plugin/tsconfig.json +8 -2
  37. package/src/errors/AudioStreamError.test.ts +29 -2
  38. package/src/errors/AudioStreamError.ts +14 -0
  39. package/src/streamAudioData.ts +146 -42
  40. package/src/utils/audioProcessing.ts +25 -14
  41. package/android/src/androidTest/assets/chorus.wav +0 -0
  42. package/android/src/androidTest/assets/jfk.wav +0 -0
  43. package/android/src/androidTest/assets/osr_us_000_0010_8k.wav +0 -0
  44. package/android/src/androidTest/assets/recorder_hello_world.wav +0 -0
  45. package/android/src/androidTest/java/net/siteed/audiostudio/AudioFinalMetadataContractInstrumentedTest.kt +0 -190
  46. package/android/src/androidTest/java/net/siteed/audiostudio/AudioProcessorInstrumentedTest.kt +0 -197
  47. package/android/src/androidTest/java/net/siteed/audiostudio/AudioRecorderInstrumentedTest.kt +0 -487
  48. package/android/src/androidTest/java/net/siteed/audiostudio/AudioRecorderPerformanceInstrumentedTest.kt +0 -250
  49. package/android/src/androidTest/java/net/siteed/audiostudio/OpusRangeDecodeRegressionInstrumentedTest.kt +0 -186
  50. package/android/src/androidTest/java/net/siteed/audiostudio/integration/AudioFocusStrategyIntegrationTest.kt +0 -332
  51. package/android/src/androidTest/java/net/siteed/audiostudio/integration/BufferDurationIntegrationTest.kt +0 -324
  52. package/android/src/androidTest/java/net/siteed/audiostudio/integration/CompressedOnlyOutputTest.kt +0 -253
  53. package/android/src/androidTest/java/net/siteed/audiostudio/integration/DeviceDisconnectionFallbackTest.kt +0 -218
  54. package/android/src/androidTest/java/net/siteed/audiostudio/integration/EventEmissionIntervalTest.kt +0 -120
  55. package/android/src/androidTest/java/net/siteed/audiostudio/integration/M4aFormatTest.kt +0 -345
  56. package/android/src/androidTest/java/net/siteed/audiostudio/integration/OutputControlIntegrationTest.kt +0 -340
  57. package/android/src/androidTest/java/net/siteed/audiostudio/integration/PcmStreamingDurationTest.kt +0 -252
  58. package/android/src/androidTest/java/net/siteed/audiostudio/integration/README.md +0 -95
  59. package/android/src/androidTest/java/net/siteed/audiostudio/integration/run_integration_tests.sh +0 -43
  60. package/android/src/test/java/net/siteed/audiostudio/AndroidCallStateTest.kt +0 -37
  61. package/android/src/test/java/net/siteed/audiostudio/AndroidEventEmitterTest.kt +0 -28
  62. package/android/src/test/java/net/siteed/audiostudio/AudioFileHandlerTest.kt +0 -279
  63. package/android/src/test/java/net/siteed/audiostudio/AudioFocusStrategyTest.kt +0 -249
  64. package/android/src/test/java/net/siteed/audiostudio/AudioFormatTest.kt +0 -151
  65. package/android/src/test/java/net/siteed/audiostudio/AudioFormatUtilsTest.kt +0 -273
  66. package/android/src/test/java/net/siteed/audiostudio/DeviceDisconnectionFallbackUnitTest.kt +0 -140
  67. package/android/src/test/java/net/siteed/audiostudio/InterruptionAutoResumePolicyTest.kt +0 -49
  68. package/android/src/test/resources/chorus.wav +0 -0
  69. package/android/src/test/resources/generate_test_audio.py +0 -94
  70. package/android/src/test/resources/jfk.wav +0 -0
  71. package/android/src/test/resources/osr_us_000_0010_8k.wav +0 -0
  72. package/android/src/test/resources/recorder_hello_world.wav +0 -0
  73. package/ios/AudioStudioTests/AudioFileHandlerTests.swift +0 -338
  74. package/ios/AudioStudioTests/AudioFormatUtilsTests.swift +0 -331
  75. package/ios/AudioStudioTests/AudioStreamDecoderTests.swift +0 -128
  76. package/ios/AudioStudioTests/AudioTestHelpers.swift +0 -130
  77. package/ios/AudioStudioTests/CompressedOnlyOutputTests.swift +0 -334
  78. package/ios/AudioStudioTests/EventEmissionIntervalTests.swift +0 -105
  79. package/ios/AudioStudioTests/Info.plist +0 -22
  80. package/ios/AudioStudioTests/README.md +0 -39
  81. package/ios/AudioStudioTests/SimpleAudioTest.swift +0 -98
  82. package/ios/AudioStudioTests/TestAudioGenerator.swift +0 -75
  83. package/ios/tests/README.md +0 -41
  84. package/ios/tests/integration/buffer_and_fallback_test.swift +0 -178
  85. package/ios/tests/integration/buffer_duration_test.swift +0 -185
  86. package/ios/tests/integration/compressed_only_output_test.swift +0 -271
  87. package/ios/tests/integration/output_control_test.swift +0 -322
  88. package/ios/tests/integration/run_integration_tests.sh +0 -37
  89. package/ios/tests/opus_support_test_macos.swift +0 -154
  90. package/ios/tests/standalone/audio_processing_test.swift +0 -144
  91. package/ios/tests/standalone/audio_recording_test.swift +0 -277
  92. package/ios/tests/standalone/audio_streaming_test.swift +0 -249
  93. package/ios/tests/standalone/standalone_test.swift +0 -144
@@ -225,7 +225,7 @@ class AudioRecorderManager(
225
225
  override fun resolve(value: Any?) {
226
226
  LogUtils.d(CLASS_NAME, "πŸ”„ Successfully reinitialized AudioRecord with new device")
227
227
  }
228
- override fun reject(code: String, message: String?, cause: Throwable?) {
228
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
229
229
  LogUtils.e(CLASS_NAME, "πŸ”„ Failed to reinitialize AudioRecord: $message")
230
230
  }
231
231
  })) {
@@ -237,7 +237,7 @@ class AudioRecorderManager(
237
237
  "isPaused" to true
238
238
  ))
239
239
  }
240
- override fun reject(code: String, message: String?, cause: Throwable?) {}
240
+ override fun reject(code: String?, message: String?, cause: Throwable?) {}
241
241
  })
242
242
  return
243
243
  }
@@ -253,7 +253,7 @@ class AudioRecorderManager(
253
253
  "isPaused" to true
254
254
  ))
255
255
  }
256
- override fun reject(code: String, message: String?, cause: Throwable?) {}
256
+ override fun reject(code: String?, message: String?, cause: Throwable?) {}
257
257
  })
258
258
  return
259
259
  }
@@ -297,7 +297,7 @@ class AudioRecorderManager(
297
297
  "error" to e.message
298
298
  ))
299
299
  }
300
- override fun reject(code: String, message: String?, cause: Throwable?) {}
300
+ override fun reject(code: String?, message: String?, cause: Throwable?) {}
301
301
  })
302
302
  }
303
303
  }
@@ -417,7 +417,7 @@ class AudioRecorderManager(
417
417
  "isPaused" to true
418
418
  ))
419
419
  }
420
- override fun reject(code: String, message: String?, cause: Throwable?) {
420
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
421
421
  LogUtils.e(CLASS_NAME, "Failed to pause recording on phone call", cause)
422
422
  }
423
423
  })
@@ -444,7 +444,7 @@ class AudioRecorderManager(
444
444
  "isPaused" to false
445
445
  ))
446
446
  }
447
- override fun reject(code: String, message: String?, cause: Throwable?) {
447
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
448
448
  LogUtils.e(CLASS_NAME, "Failed to resume recording after phone call", cause)
449
449
  }
450
450
  })
@@ -1226,7 +1226,7 @@ class AudioRecorderManager(
1226
1226
  override fun resolve(value: Any?) {
1227
1227
  LogUtils.d(CLASS_NAME, "⏺️ Successfully reinitialized AudioRecord for resumption")
1228
1228
  }
1229
- override fun reject(code: String, message: String?, cause: Throwable?) {
1229
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
1230
1230
  LogUtils.e(CLASS_NAME, "⏺️ Failed to reinitialize AudioRecord: $message")
1231
1231
  // We'll let the main try-catch handle this error
1232
1232
  throw IllegalStateException("Failed to reinitialize AudioRecord: $message")
@@ -1936,7 +1936,7 @@ class AudioRecorderManager(
1936
1936
  "isPaused" to true
1937
1937
  ))
1938
1938
  }
1939
- override fun reject(code: String, message: String?, cause: Throwable?) {
1939
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
1940
1940
  LogUtils.e(CLASS_NAME, "Failed to pause recording on audio focus loss")
1941
1941
  }
1942
1942
  })
@@ -1959,7 +1959,7 @@ class AudioRecorderManager(
1959
1959
  "isPaused" to false
1960
1960
  ))
1961
1961
  }
1962
- override fun reject(code: String, message: String?, cause: Throwable?) {
1962
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
1963
1963
  LogUtils.e(CLASS_NAME, "Failed to resume recording on audio focus gain")
1964
1964
  }
1965
1965
  })
@@ -2006,7 +2006,7 @@ class AudioRecorderManager(
2006
2006
  "isPaused" to true
2007
2007
  ))
2008
2008
  }
2009
- override fun reject(code: String, message: String?, cause: Throwable?) {
2009
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
2010
2010
  LogUtils.e(CLASS_NAME, "Failed to pause recording on audio focus loss")
2011
2011
  }
2012
2012
  })
@@ -2033,7 +2033,7 @@ class AudioRecorderManager(
2033
2033
  "isPaused" to false
2034
2034
  ))
2035
2035
  }
2036
- override fun reject(code: String, message: String?, cause: Throwable?) {
2036
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
2037
2037
  LogUtils.e(CLASS_NAME, "Failed to resume recording on audio focus gain")
2038
2038
  }
2039
2039
  })
@@ -2139,7 +2139,7 @@ class AudioRecorderManager(
2139
2139
  // Check permissions - create a dummy promise to avoid rejections
2140
2140
  val dummyPromise = object : Promise {
2141
2141
  override fun resolve(value: Any?) {}
2142
- override fun reject(code: String, message: String?, cause: Throwable?) {
2142
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
2143
2143
  LogUtils.e(CLASS_NAME, "Preparation error: $code - $message", cause)
2144
2144
  }
2145
2145
  }
@@ -101,7 +101,7 @@ class AudioRecordingService : Service() {
101
101
  Log.d(Constants.TAG, "Successfully stopped recording on task removed")
102
102
  cleanup()
103
103
  }
104
- override fun reject(code: String, message: String?, cause: Throwable?) {
104
+ override fun reject(code: String?, message: String?, cause: Throwable?) {
105
105
  Log.e(Constants.TAG, "Failed to stop recording on task removed: $message")
106
106
  cleanup()
107
107
  }