expo-audio 58.0.1 → 58.0.2

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 (46) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/android/build.gradle +4 -2
  3. package/android/src/main/java/expo/modules/audio/AudioStream.kt +8 -3
  4. package/expo-module.config.json +1 -1
  5. package/local-maven-repo/expo/modules/audio/expo.modules.audio/{58.0.1/expo.modules.audio-58.0.1-sources.jar → 58.0.2/expo.modules.audio-58.0.2-sources.jar} +0 -0
  6. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2-sources.jar.md5 +1 -0
  7. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2-sources.jar.sha1 +1 -0
  8. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2-sources.jar.sha256 +1 -0
  9. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2-sources.jar.sha512 +1 -0
  10. package/local-maven-repo/expo/modules/audio/expo.modules.audio/{58.0.1/expo.modules.audio-58.0.1.aar → 58.0.2/expo.modules.audio-58.0.2.aar} +0 -0
  11. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.aar.md5 +1 -0
  12. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.aar.sha1 +1 -0
  13. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.aar.sha256 +1 -0
  14. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.aar.sha512 +1 -0
  15. package/local-maven-repo/expo/modules/audio/expo.modules.audio/{58.0.1/expo.modules.audio-58.0.1.module → 58.0.2/expo.modules.audio-58.0.2.module} +22 -22
  16. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.module.md5 +1 -0
  17. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.module.sha1 +1 -0
  18. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.module.sha256 +1 -0
  19. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.module.sha512 +1 -0
  20. package/local-maven-repo/expo/modules/audio/expo.modules.audio/{58.0.1/expo.modules.audio-58.0.1.pom → 58.0.2/expo.modules.audio-58.0.2.pom} +1 -1
  21. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.pom.md5 +1 -0
  22. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.pom.sha1 +1 -0
  23. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.pom.sha256 +1 -0
  24. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.2/expo.modules.audio-58.0.2.pom.sha512 +1 -0
  25. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml +4 -4
  26. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.md5 +1 -1
  27. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha1 +1 -1
  28. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha256 +1 -1
  29. package/local-maven-repo/expo/modules/audio/expo.modules.audio/maven-metadata.xml.sha512 +1 -1
  30. package/package.json +4 -4
  31. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1-sources.jar.md5 +0 -1
  32. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1-sources.jar.sha1 +0 -1
  33. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1-sources.jar.sha256 +0 -1
  34. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1-sources.jar.sha512 +0 -1
  35. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.aar.md5 +0 -1
  36. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.aar.sha1 +0 -1
  37. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.aar.sha256 +0 -1
  38. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.aar.sha512 +0 -1
  39. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.module.md5 +0 -1
  40. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.module.sha1 +0 -1
  41. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.module.sha256 +0 -1
  42. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.module.sha512 +0 -1
  43. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.pom.md5 +0 -1
  44. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.pom.sha1 +0 -1
  45. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.pom.sha256 +0 -1
  46. package/local-maven-repo/expo/modules/audio/expo.modules.audio/58.0.1/expo.modules.audio-58.0.1.pom.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,6 +10,12 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 58.0.2 — 2026-09-22
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [Android] Fixed `AudioStream` buffer events including unrecorded trailing bytes after a short read. ([#50327](https://github.com/expo/expo/pull/50327) by [@alanjhughes](https://github.com/alanjhughes))
18
+
13
19
  ## 58.0.1 — 2026-09-21
14
20
 
15
21
  _This version does not introduce any user-facing changes._
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'expo.modules.audio'
7
- version = '58.0.1'
7
+ version = '58.0.2'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.audio"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName "58.0.1"
13
+ versionName "58.0.2"
14
14
  }
15
15
 
16
16
  compileOptions {
@@ -35,4 +35,6 @@ dependencies {
35
35
  implementation "androidx.media3:media3-datasource-okhttp:$androidxMedia3Version"
36
36
  implementation "androidx.media3:media3-exoplayer-hls:$androidxMedia3Version"
37
37
  implementation "androidx.media3:media3-exoplayer-smoothstreaming:$androidxMedia3Version"
38
+
39
+ testImplementation 'junit:junit:4.13.2'
38
40
  }
@@ -32,6 +32,11 @@ private data class ResolvedAudioConfig(
32
32
  val readSize: Int
33
33
  )
34
34
 
35
+ internal fun trimToRecordedBytes(byteBuffer: ByteBuffer, bytesRead: Int): ByteBuffer {
36
+ byteBuffer.limit(bytesRead)
37
+ return byteBuffer.slice()
38
+ }
39
+
35
40
  class AudioStream(
36
41
  appContext: AppContext,
37
42
  private val options: AudioStreamOptions
@@ -229,11 +234,11 @@ class AudioStream(
229
234
  val byteBuffer = ByteBuffer.allocateDirect(readSizeBytes).order(ByteOrder.nativeOrder())
230
235
  val bytesRead = recorder.read(byteBuffer, readSizeBytes, AudioRecord.READ_BLOCKING)
231
236
  if (bytesRead > 0) {
232
- byteBuffer.limit(bytesRead)
237
+ val recorded = trimToRecordedBytes(byteBuffer, bytesRead)
233
238
  // Copy PCM bytes before acquiring the lock so the lock covers only the file write,
234
239
  // not the allocation+copy. Write to file before constructing NativeArrayBuffer.
235
240
  val pcmBytes = ByteArray(bytesRead).also { buf ->
236
- byteBuffer.duplicate().apply {
241
+ recorded.duplicate().apply {
237
242
  position(0)
238
243
  get(buf)
239
244
  }
@@ -241,7 +246,7 @@ class AudioStream(
241
246
  synchronized(fileWriterLock) {
242
247
  fileWriter?.append(pcmBytes)
243
248
  }
244
- emitBufferEvent(NativeArrayBuffer(byteBuffer), channels, sampleRate)
249
+ emitBufferEvent(NativeArrayBuffer(recorded), channels, sampleRate)
245
250
  }
246
251
  }
247
252
 
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "expo.modules.audio",
10
10
  "artifactId": "expo.modules.audio",
11
- "version": "58.0.1",
11
+ "version": "58.0.2",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -0,0 +1 @@
1
+ 3eaa8dc5dcf0b9bc918b1c36882992bf9592a8c1f1e96c46f90ec6c8ea3458f2
@@ -0,0 +1 @@
1
+ 80564e5416d69f74599228f023db86acb9d3c44babec8e77d4c1b8abb65f2e5b30f376410ab045e704368713e077750ed2ebb20f3b0a7438ccb40c6ca6996f2b
@@ -0,0 +1 @@
1
+ 0e86fd95b5e2891df5226a0910076c16d60d39e5734226e48410f7a1b549d253
@@ -0,0 +1 @@
1
+ e3757f2937168f331ef90922c3a5da6f476601b7fb354df8622edee37b4824404217c1bb5631db78e4f6d330259cdeb9c101b332f53c8b56846ac668399f8874
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.audio",
5
5
  "module": "expo.modules.audio",
6
- "version": "58.0.1",
6
+ "version": "58.0.2",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,13 +24,13 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.audio-58.0.1.aar",
28
- "url": "expo.modules.audio-58.0.1.aar",
29
- "size": 560043,
30
- "sha512": "33bedf9322470dff3f1073cb1c2c1bfac4284472509c0fdc55f2f296ad3d1f1e6836a7c61e93abd69a8ed8cc1e327fb0750aefac54fae06fd410f099588205eb",
31
- "sha256": "36b65e7fa7431be0aac8dfa11d28b4f52a12cf0bab93f0104cefdcce6877f8df",
32
- "sha1": "576f8e9ffe4c2c842127a936f75d301630cee713",
33
- "md5": "547edd2d6546fbcfaa098aa73a745de8"
27
+ "name": "expo.modules.audio-58.0.2.aar",
28
+ "url": "expo.modules.audio-58.0.2.aar",
29
+ "size": 560362,
30
+ "sha512": "e3757f2937168f331ef90922c3a5da6f476601b7fb354df8622edee37b4824404217c1bb5631db78e4f6d330259cdeb9c101b332f53c8b56846ac668399f8874",
31
+ "sha256": "0e86fd95b5e2891df5226a0910076c16d60d39e5734226e48410f7a1b549d253",
32
+ "sha1": "9a483bcf13175bc63f74c9f365a1aa8eb36d1be2",
33
+ "md5": "bdba4030c3a5d0b86a603ff532982593"
34
34
  }
35
35
  ]
36
36
  },
@@ -137,13 +137,13 @@
137
137
  ],
138
138
  "files": [
139
139
  {
140
- "name": "expo.modules.audio-58.0.1.aar",
141
- "url": "expo.modules.audio-58.0.1.aar",
142
- "size": 560043,
143
- "sha512": "33bedf9322470dff3f1073cb1c2c1bfac4284472509c0fdc55f2f296ad3d1f1e6836a7c61e93abd69a8ed8cc1e327fb0750aefac54fae06fd410f099588205eb",
144
- "sha256": "36b65e7fa7431be0aac8dfa11d28b4f52a12cf0bab93f0104cefdcce6877f8df",
145
- "sha1": "576f8e9ffe4c2c842127a936f75d301630cee713",
146
- "md5": "547edd2d6546fbcfaa098aa73a745de8"
140
+ "name": "expo.modules.audio-58.0.2.aar",
141
+ "url": "expo.modules.audio-58.0.2.aar",
142
+ "size": 560362,
143
+ "sha512": "e3757f2937168f331ef90922c3a5da6f476601b7fb354df8622edee37b4824404217c1bb5631db78e4f6d330259cdeb9c101b332f53c8b56846ac668399f8874",
144
+ "sha256": "0e86fd95b5e2891df5226a0910076c16d60d39e5734226e48410f7a1b549d253",
145
+ "sha1": "9a483bcf13175bc63f74c9f365a1aa8eb36d1be2",
146
+ "md5": "bdba4030c3a5d0b86a603ff532982593"
147
147
  }
148
148
  ]
149
149
  },
@@ -157,13 +157,13 @@
157
157
  },
158
158
  "files": [
159
159
  {
160
- "name": "expo.modules.audio-58.0.1-sources.jar",
161
- "url": "expo.modules.audio-58.0.1-sources.jar",
162
- "size": 42913,
163
- "sha512": "863a7db698b80d3256e866f0ff1a7fdff8e869535d42c6ecbf1c5d9f79e174726bd6d7a5d1ee66f5542a6396b2866e4d457a6d0adebaab8c7f8f75f9673f4ba7",
164
- "sha256": "d8d00641e1175f266a799b59a978a72ac846c7503c7d77584ccd5fa90cea4cd6",
165
- "sha1": "b801994f42389c66dc972752fed5c7ec32841e41",
166
- "md5": "4f8bdf8fccbb9bfe9fcbf92ce8ab76d3"
160
+ "name": "expo.modules.audio-58.0.2-sources.jar",
161
+ "url": "expo.modules.audio-58.0.2-sources.jar",
162
+ "size": 42976,
163
+ "sha512": "80564e5416d69f74599228f023db86acb9d3c44babec8e77d4c1b8abb65f2e5b30f376410ab045e704368713e077750ed2ebb20f3b0a7438ccb40c6ca6996f2b",
164
+ "sha256": "3eaa8dc5dcf0b9bc918b1c36882992bf9592a8c1f1e96c46f90ec6c8ea3458f2",
165
+ "sha1": "2699d94b67281e681086c6c617caf17539dc9597",
166
+ "md5": "456ecc07ebfc23d8c16dfa69b7e2d31f"
167
167
  }
168
168
  ]
169
169
  }
@@ -0,0 +1 @@
1
+ 68f68c036d8a9bb3e4ef5671dd26ec53efb29b68e1294cd79210d0ca4c5fcfb8
@@ -0,0 +1 @@
1
+ c2e0c2a7be603ffbf4762d389bb1592abf0be55876f5a639a2779ecd123f8e7b5c1061cd516f879038bf9a5d226ee56169d5341e5160ae128ddf71a8c575653d
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.audio</groupId>
11
11
  <artifactId>expo.modules.audio</artifactId>
12
- <version>58.0.1</version>
12
+ <version>58.0.2</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.audio</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 088d7a0dc3f7027fe5f7abb1be189346a4c07d0611ef6aa231c7adff41cb38bb
@@ -0,0 +1 @@
1
+ 25d27b303c69224ba75ce4c422fdaaf8e113376585c68d16f6fc4171ba159b758d54d2a4212b880024a639fee4a64ef30900d21e45a1997c04268042aa9bce85
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.audio</groupId>
4
4
  <artifactId>expo.modules.audio</artifactId>
5
5
  <versioning>
6
- <latest>58.0.1</latest>
7
- <release>58.0.1</release>
6
+ <latest>58.0.2</latest>
7
+ <release>58.0.2</release>
8
8
  <versions>
9
- <version>58.0.1</version>
9
+ <version>58.0.2</version>
10
10
  </versions>
11
- <lastUpdated>20260921105155</lastUpdated>
11
+ <lastUpdated>20260922160133</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 9c7cfb5dfa42dee7386e1f22669ed564
1
+ a72f4e9f837c54ce7d8ff808d2b7b6b0
@@ -1 +1 @@
1
- 9c66a453cc82a9b4a9260e63f15e00290baf770a
1
+ 20b8733ce882ecdccae2c097bf9aeafb002c766a
@@ -1 +1 @@
1
- 8f8fb0b9b9663f34a5587b4baf17f26292ac88bb9ceb0ae82ffa799d9deca9a6
1
+ 9f75a85f7f93ea62f21f6bc0e7ae69d975d8ab60caef6640d2a8ae3420ee300e
@@ -1 +1 @@
1
- b9b7ce48b884772897683df9a8893d02ef1b443b556d6bd1fe4149181f07c9bc146abf79105ca5ea768cd6a2e02eeb1090a59be7e4c68bb8490577dbcdc502b5
1
+ a9581fc20cebc7cf1e79979d5632908fea4dabc445ffa574c3e632ce78fc2e7fc15cb1fadb9a0615d2f932cf92b637f672b95419fbb07a06de9749dc9ac1496d
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-audio",
3
- "version": "58.0.1",
3
+ "version": "58.0.2",
4
4
  "description": "A cross-platform audio library for React Native and Expo apps.",
5
5
  "keywords": [
6
6
  "android",
@@ -25,8 +25,8 @@
25
25
  "@types/jest": "^29.2.1",
26
26
  "@types/node": "^22.14.0",
27
27
  "@types/react": "~19.3.0",
28
- "expo": "58.0.0-preview.4",
29
- "expo-asset": "58.0.4",
28
+ "expo": "58.0.0-preview.5",
29
+ "expo-asset": "58.0.5",
30
30
  "expo-module-scripts": "56.0.3"
31
31
  },
32
32
  "peerDependencies": {
@@ -36,7 +36,7 @@
36
36
  "react-native": "*"
37
37
  },
38
38
  "title": "Expo Audio",
39
- "gitHead": "ebb1fd7569c9c9e172cb9abd73dfede027c1d674",
39
+ "gitHead": "add8cbf49f477cfd2283ae05af35b4713a773c55",
40
40
  "scripts": {
41
41
  "build": "pnpm run build:lib && pnpm run build:plugin",
42
42
  "build:lib": "expo-build src",
@@ -1 +0,0 @@
1
- d8d00641e1175f266a799b59a978a72ac846c7503c7d77584ccd5fa90cea4cd6
@@ -1 +0,0 @@
1
- 863a7db698b80d3256e866f0ff1a7fdff8e869535d42c6ecbf1c5d9f79e174726bd6d7a5d1ee66f5542a6396b2866e4d457a6d0adebaab8c7f8f75f9673f4ba7
@@ -1 +0,0 @@
1
- 576f8e9ffe4c2c842127a936f75d301630cee713
@@ -1 +0,0 @@
1
- 36b65e7fa7431be0aac8dfa11d28b4f52a12cf0bab93f0104cefdcce6877f8df
@@ -1 +0,0 @@
1
- 33bedf9322470dff3f1073cb1c2c1bfac4284472509c0fdc55f2f296ad3d1f1e6836a7c61e93abd69a8ed8cc1e327fb0750aefac54fae06fd410f099588205eb
@@ -1 +0,0 @@
1
- 8fe98ba49f22b28817709928291ddd5449934214db5a4c6807b3a514ad39b807
@@ -1 +0,0 @@
1
- 812ab320e15548b514e19920fb2167c3f441ccd2c7a69d610bcc5d0def8ba1fb2fccabaa513270e68d6abc92fc1b7d07634d9ceb4c28382c6bb768b80634df30
@@ -1 +0,0 @@
1
- 3b705321c981cb69e4f294f54b09b3f1130d5e47
@@ -1 +0,0 @@
1
- 3b942ca203b9d651c43482f9eed2a56701f93f9400f0e3a259e273cfcdb011bb
@@ -1 +0,0 @@
1
- 29d22d513cf728ca51509fa9010c7a63305af6db9e7b51e96eac4e12db1708187991fd0071713f7529af4d1c17325f1db7468c9ff595513fed179770e19f0457