@siteed/expo-audio-studio 2.10.5 → 2.10.6

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.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  ## [Unreleased]
9
9
 
10
10
 
11
+ ## [2.10.6] - 2025-06-04
12
+ ### Changed
13
+ - fix(expo-audio-studio): prevent durationMs returning 0 on iOS (#244) (#260) ([595e5d5](https://github.com/deeeed/expo-audio-stream/commit/595e5d56991c9fa88c2fa4e39efb197916cb8b84))
14
+ - chore(expo-audio-studio): release @siteed/expo-audio-studio@2.10.5 ([d8c6e1d](https://github.com/deeeed/expo-audio-stream/commit/d8c6e1de72ccb0c8885a4f5f3326e3229d9dfd92))
11
15
  ## [2.10.5] - 2025-06-04
12
16
  ### Changed
13
17
  - fix(expo-audio-studio): enable audio streaming when primary output is disabled on iOS (#259) ([1d2bb92](https://github.com/deeeed/expo-audio-stream/commit/1d2bb9280e7d596ed77de30b37e043fd7f8f8cc8))
@@ -278,7 +282,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
278
282
  - Feature: Audio features extraction during recording.
279
283
  - Feature: Consistent WAV PCM recording format across all platforms.
280
284
 
281
- [unreleased]: https://github.com/deeeed/expo-audio-stream/compare/@siteed/expo-audio-studio@2.10.5...HEAD
285
+ [unreleased]: https://github.com/deeeed/expo-audio-stream/compare/@siteed/expo-audio-studio@2.10.6...HEAD
286
+ [2.10.6]: https://github.com/deeeed/expo-audio-stream/compare/@siteed/expo-audio-studio@2.10.5...@siteed/expo-audio-studio@2.10.6
282
287
  [2.10.5]: https://github.com/deeeed/expo-audio-stream/compare/@siteed/expo-audio-studio@2.10.4...@siteed/expo-audio-studio@2.10.5
283
288
  [2.10.4]: https://github.com/deeeed/expo-audio-stream/compare/@siteed/expo-audio-studio@2.10.3...@siteed/expo-audio-studio@2.10.4
284
289
  [2.10.3]: https://github.com/deeeed/expo-audio-stream/compare/@siteed/expo-audio-studio@2.10.2...@siteed/expo-audio-studio@2.10.3
@@ -336,6 +336,12 @@ class AudioStreamManager: NSObject, AudioDeviceManagerDelegate {
336
336
  return lastDuration
337
337
  }
338
338
 
339
+ // Safety check: if recording but no start time, use current time
340
+ if isRecording && startTime == nil {
341
+ Logger.debug("AudioStreamManager", "WARNING: Recording active but startTime is nil, setting to current time")
342
+ startTime = Date()
343
+ }
344
+
339
345
  guard let startTime = self.startTime else { return 0 }
340
346
 
341
347
  let now = Date()
@@ -786,6 +792,12 @@ class AudioStreamManager: NSObject, AudioDeviceManagerDelegate {
786
792
  lastEmittedSize = 0
787
793
  lastEmittedCompressedSizeAnalysis = 0
788
794
  isPaused = false
795
+
796
+ // Initialize startTime early to prevent duration being 0
797
+ // This will be updated when recording actually starts
798
+ if startTime == nil {
799
+ startTime = Date()
800
+ }
789
801
 
790
802
  // Create recording file first (unless primary output is disabled)
791
803
  if settings.output.primary.enabled {
@@ -1030,7 +1042,10 @@ class AudioStreamManager: NSObject, AudioDeviceManagerDelegate {
1030
1042
  enableWakeLock()
1031
1043
 
1032
1044
  // Set recording state *before* starting engine to avoid race condition
1033
- startTime = Date()
1045
+ // Set startTime as early as possible to ensure duration calculation works
1046
+ if startTime == nil {
1047
+ startTime = Date()
1048
+ }
1034
1049
  totalPausedDuration = 0
1035
1050
  currentPauseStart = nil
1036
1051
  lastEmissionTime = Date()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siteed/expo-audio-studio",
3
- "version": "2.10.5",
3
+ "version": "2.10.6",
4
4
  "description": "Comprehensive audio processing library for React Native and Expo with recording, analysis, visualization, and streaming capabilities across iOS, Android, and web",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",