expo-video 2.1.7 → 2.1.8

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 (49) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/video/AudioFocusManager.kt +6 -5
  4. package/android/src/main/java/expo/modules/video/playbackService/ExpoVideoPlaybackService.kt +4 -2
  5. package/android/src/main/java/expo/modules/video/player/VideoPlayer.kt +4 -1
  6. package/expo-module.config.json +1 -1
  7. package/local-maven-repo/host/exp/exponent/expo.modules.video/{2.1.7/expo.modules.video-2.1.7-sources.jar → 2.1.8/expo.modules.video-2.1.8-sources.jar} +0 -0
  8. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8-sources.jar.md5 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8-sources.jar.sha1 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8-sources.jar.sha256 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8-sources.jar.sha512 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.aar +0 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.aar.md5 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.aar.sha1 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.aar.sha256 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.aar.sha512 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.video/{2.1.7/expo.modules.video-2.1.7.module → 2.1.8/expo.modules.video-2.1.8.module} +22 -22
  18. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.module.md5 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.module.sha1 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.module.sha256 +1 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.module.sha512 +1 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.video/{2.1.7/expo.modules.video-2.1.7.pom → 2.1.8/expo.modules.video-2.1.8.pom} +1 -1
  23. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.pom.md5 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.pom.sha1 +1 -0
  25. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.pom.sha256 +1 -0
  26. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.8/expo.modules.video-2.1.8.pom.sha512 +1 -0
  27. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml +4 -4
  28. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.md5 +1 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha1 +1 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha256 +1 -1
  31. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha512 +1 -1
  32. package/package.json +3 -3
  33. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7-sources.jar.md5 +0 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7-sources.jar.sha1 +0 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7-sources.jar.sha256 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7-sources.jar.sha512 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.aar +0 -0
  38. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.aar.md5 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.aar.sha1 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.aar.sha256 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.aar.sha512 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.module.md5 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.module.sha1 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.module.sha256 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.module.sha512 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.pom.md5 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.pom.sha1 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.pom.sha256 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.video/2.1.7/expo.modules.video-2.1.7.pom.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 2.1.8 — 2025-04-30
14
+
15
+ _This version does not introduce any user-facing changes._
16
+
13
17
  ## 2.1.7 — 2025-04-28
14
18
 
15
19
  ### 🎉 New features
@@ -63,6 +67,7 @@ _This version does not introduce any user-facing changes._
63
67
 
64
68
  ### 🐛 Bug fixes
65
69
 
70
+ - [Android] Fix ConcurrentModificationException app crashes ([#35356](https://github.com/expo/expo/pull/35356) by [@voslartomas](https://github.com/voslartomas))
66
71
  - [Web] Fix `playbackRate` not being applied in the setup function.([#34182](https://github.com/expo/expo/pull/34182) by [@behenate](https://github.com/behenate))
67
72
  - Fix safe area insets not updating for native controls on iOS. ([#32864](https://github.com/expo/expo/pull/32864) by [@behenate](https://github.com/behenate))
68
73
  - [iOS] Fix the Now Playing notification disappearing after the video is paused. ([#35273](https://github.com/expo/expo/pull/35273) by [@behenate](https://github.com/behenate))
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '2.1.7'
7
+ version = '2.1.8'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.video"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName '2.1.7'
13
+ versionName '2.1.8'
14
14
  }
15
15
  }
16
16
 
@@ -25,7 +25,7 @@ class AudioFocusManager(private val appContext: AppContext) : AudioManager.OnAud
25
25
  private var currentFocusRequest: AudioFocusRequest? = null
26
26
  private var currentMixingMode: AudioMixingMode = AudioMixingMode.MIX_WITH_OTHERS
27
27
  private val anyPlayerRequiresFocus: Boolean
28
- get() = players.any {
28
+ get() = players.toList().any {
29
29
  playerRequiresFocus(it)
30
30
  }
31
31
 
@@ -184,9 +184,8 @@ class AudioFocusManager(private val appContext: AppContext) : AudioManager.OnAud
184
184
  // Utils
185
185
 
186
186
  private fun playerRequiresFocus(weakPlayer: WeakReference<VideoPlayer>): Boolean {
187
- return weakPlayer.get()?.let {
188
- (!it.muted && it.playing && it.volume > 0) || it.audioMixingMode == AudioMixingMode.DO_NOT_MIX
189
- } ?: false
187
+ val player = weakPlayer?.get() ?: return false // Return false if player is null
188
+ return (!player.muted && player.playing && player.volume > 0) || player.audioMixingMode == AudioMixingMode.DO_NOT_MIX
190
189
  }
191
190
 
192
191
  private fun pausePlayerIfUnmuted(weakPlayer: WeakReference<VideoPlayer>) {
@@ -226,7 +225,9 @@ class AudioFocusManager(private val appContext: AppContext) : AudioManager.OnAud
226
225
  }
227
226
 
228
227
  private fun findAudioMixingMode(): AudioMixingMode {
229
- val mixingModes = players.mapNotNull { player ->
228
+ val playersSnapshot = players.toList()
229
+
230
+ val mixingModes = playersSnapshot.mapNotNull { player ->
230
231
  player.get()?.takeIf { it.playing }?.audioMixingMode
231
232
  }
232
233
  if (mixingModes.isEmpty()) {
@@ -136,10 +136,12 @@ class ExpoVideoPlaybackService : MediaSessionService() {
136
136
 
137
137
  private fun cleanup() {
138
138
  hideAllNotifications()
139
- mediaSessions.forEach { (_, session) ->
139
+
140
+ val sessionsToRelease = mediaSessions.values.toList()
141
+ mediaSessions.clear()
142
+ for (session in sessionsToRelease) {
140
143
  session.release()
141
144
  }
142
- mediaSessions.clear()
143
145
  }
144
146
 
145
147
  private fun hidePlayerNotification(player: ExoPlayer) {
@@ -380,7 +380,10 @@ class VideoPlayer(val context: Context, appContext: AppContext, source: VideoSou
380
380
 
381
381
  private fun sendEvent(event: PlayerEvent) {
382
382
  // Emits to the native listeners
383
- event.emit(this, listeners.mapNotNull { it.get() })
383
+ val listenersSnapshot = listeners.toList().mapNotNull { it.get() }
384
+
385
+ event.emit(this, listenersSnapshot)
386
+
384
387
  // Emits to the JS side
385
388
  if (event.emitToJS) {
386
389
  emit(event.name, event.jsEventPayload)
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "host.exp.exponent",
10
10
  "artifactId": "expo.modules.video",
11
- "version": "2.1.7",
11
+ "version": "2.1.8",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -0,0 +1 @@
1
+ 61564c98d4114378d4bf1d04c1c75323bccebf4c5249b7dfd5892f424f4ac85f
@@ -0,0 +1 @@
1
+ 1cf1f4000a799fa1ec2a2269a3a9e543acb0be0525aeb3c43636e676bb5e2f3f429138501d9c872af062e2396c0b6244d033fd47888dad7dea387f5c5dd6f9f0
@@ -0,0 +1 @@
1
+ 900945ef879b8381ba2a3e28bf3f5306241fdd4d
@@ -0,0 +1 @@
1
+ c1aecf05d8f15c1b3d7db08bcada63c446788206519e3dfd11d94fd84c45ae0b
@@ -0,0 +1 @@
1
+ e8f0c2ae00533df951287a196987118b44cfb32b69dab44c9a88bb989f94f5e33eaa75f57cfc854966667c40c5494f94fd73f0d532cf1f0cda76080ba7565360
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.video",
6
- "version": "2.1.7",
6
+ "version": "2.1.8",
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.video-2.1.7.aar",
28
- "url": "expo.modules.video-2.1.7.aar",
29
- "size": 419043,
30
- "sha512": "298030af70a15854af2d8073494ccad878c356931a35d50cd096149fa660a918ed571acb848407ef81c6a262a88f5d19965cf3b8adce4f382caf91af9b4522c8",
31
- "sha256": "1a83d48535f7a11e5d677f561520e32f5a7bba1fd0096cb48c6c581b70c7cb8f",
32
- "sha1": "0ef81d8e28383dc549dffe82635487c91e6ce715",
33
- "md5": "0e7bf971fc2f51db70daf80175b688f1"
27
+ "name": "expo.modules.video-2.1.8.aar",
28
+ "url": "expo.modules.video-2.1.8.aar",
29
+ "size": 418866,
30
+ "sha512": "e8f0c2ae00533df951287a196987118b44cfb32b69dab44c9a88bb989f94f5e33eaa75f57cfc854966667c40c5494f94fd73f0d532cf1f0cda76080ba7565360",
31
+ "sha256": "c1aecf05d8f15c1b3d7db08bcada63c446788206519e3dfd11d94fd84c45ae0b",
32
+ "sha1": "900945ef879b8381ba2a3e28bf3f5306241fdd4d",
33
+ "md5": "895bf3e66f666fe4356f66b27b028d1f"
34
34
  }
35
35
  ]
36
36
  },
@@ -113,13 +113,13 @@
113
113
  ],
114
114
  "files": [
115
115
  {
116
- "name": "expo.modules.video-2.1.7.aar",
117
- "url": "expo.modules.video-2.1.7.aar",
118
- "size": 419043,
119
- "sha512": "298030af70a15854af2d8073494ccad878c356931a35d50cd096149fa660a918ed571acb848407ef81c6a262a88f5d19965cf3b8adce4f382caf91af9b4522c8",
120
- "sha256": "1a83d48535f7a11e5d677f561520e32f5a7bba1fd0096cb48c6c581b70c7cb8f",
121
- "sha1": "0ef81d8e28383dc549dffe82635487c91e6ce715",
122
- "md5": "0e7bf971fc2f51db70daf80175b688f1"
116
+ "name": "expo.modules.video-2.1.8.aar",
117
+ "url": "expo.modules.video-2.1.8.aar",
118
+ "size": 418866,
119
+ "sha512": "e8f0c2ae00533df951287a196987118b44cfb32b69dab44c9a88bb989f94f5e33eaa75f57cfc854966667c40c5494f94fd73f0d532cf1f0cda76080ba7565360",
120
+ "sha256": "c1aecf05d8f15c1b3d7db08bcada63c446788206519e3dfd11d94fd84c45ae0b",
121
+ "sha1": "900945ef879b8381ba2a3e28bf3f5306241fdd4d",
122
+ "md5": "895bf3e66f666fe4356f66b27b028d1f"
123
123
  }
124
124
  ]
125
125
  },
@@ -133,13 +133,13 @@
133
133
  },
134
134
  "files": [
135
135
  {
136
- "name": "expo.modules.video-2.1.7-sources.jar",
137
- "url": "expo.modules.video-2.1.7-sources.jar",
138
- "size": 50602,
139
- "sha512": "2a7df87d518cde4637f08c390e92fc2c0efeaf51a7fdda82738223210c4d21ed02fe928885ba6e1e39213c556a030c925a81a1866686f7ba1b0507473d225f5b",
140
- "sha256": "7596e28c2f62a6f07a9c85389caa62fc8bee19475b25ed172fdcb1a444d42656",
141
- "sha1": "73a4532f76cc416a95089e0d7ffb910e75daf653",
142
- "md5": "9e266f777714a2b4c2bada23bd891450"
136
+ "name": "expo.modules.video-2.1.8-sources.jar",
137
+ "url": "expo.modules.video-2.1.8-sources.jar",
138
+ "size": 50672,
139
+ "sha512": "1cf1f4000a799fa1ec2a2269a3a9e543acb0be0525aeb3c43636e676bb5e2f3f429138501d9c872af062e2396c0b6244d033fd47888dad7dea387f5c5dd6f9f0",
140
+ "sha256": "61564c98d4114378d4bf1d04c1c75323bccebf4c5249b7dfd5892f424f4ac85f",
141
+ "sha1": "28868b01957eb865b99fbd21768e0a6e0ec82b12",
142
+ "md5": "f04f5b0977c4bd9196d03db94c1ce682"
143
143
  }
144
144
  ]
145
145
  }
@@ -0,0 +1 @@
1
+ 096e3382fc3ebb4398cc11dd580e701d50ff51fd305fa1786d3d67cca9d238ce
@@ -0,0 +1 @@
1
+ e76eb37642c26db67b90c0ac847ae96ffaf56cb2b6b40abbfa16f192f51861638991d745c76b6cdaa109de8e724ec59096ac7a1daca0829b4e6eb34cef7b2d6c
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.video</artifactId>
12
- <version>2.1.7</version>
12
+ <version>2.1.8</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.video</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ a7b9fba84389db7c9cffb21c3ce259a62aa5a0a5
@@ -0,0 +1 @@
1
+ 7ca323ffad0084944fa5ae7d586157f3df5a4cafaa3507fbf0dff8388b9e0ca5
@@ -0,0 +1 @@
1
+ 6e8147a80e1d6e80e91b1b79b5aa00d506f470f8f2a4ade9c0981b07d3bab502d60e51270642459626bcb0064990086561454dc1df6fa04712953c7a440b66e6
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.video</artifactId>
5
5
  <versioning>
6
- <latest>2.1.7</latest>
7
- <release>2.1.7</release>
6
+ <latest>2.1.8</latest>
7
+ <release>2.1.8</release>
8
8
  <versions>
9
- <version>2.1.7</version>
9
+ <version>2.1.8</version>
10
10
  </versions>
11
- <lastUpdated>20250428175352</lastUpdated>
11
+ <lastUpdated>20250430154129</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- def45d61fb0442e51bb7ecce1acd13ca
1
+ b92d9034bc621a1f4e27eaf96b4bf4f3
@@ -1 +1 @@
1
- 2ed60dcc0d5c3d92569580036fdceab862e8b763
1
+ 7bfef76d4a82a0dc6fd46a65c1696e957fda80fd
@@ -1 +1 @@
1
- 0cdec9dc31dbc6a6821ab6b533bb55778dd01d281870988647f2a98666fe3741
1
+ abb66ae4604621ec6b7bebf13d2e9572ca6d5d3a8bc47f458b900a2c55bec304
@@ -1 +1 @@
1
- 8f2d106f739cdfb69011c0168cf7903d422144f8999263f6449913fb83122c6cdd95216964e2df4db3041c906dd68dba841fc5388b5fccb40ec5d8b4030c5a53
1
+ 0baa18e9fb69e4f94f9776b2b8473110f8f29adcf243b766a67c8dfb773ce91384439315ddb38dd61446d972a6c91463242c0e315f7c98f730d8e6ce8727e194
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "expo-video",
3
3
  "title": "Expo Video",
4
- "version": "2.1.7",
4
+ "version": "2.1.8",
5
5
  "description": "A cross-platform, performant video component for React Native and Expo with Web support",
6
6
  "main": "build/index.js",
7
7
  "types": "build/index.d.ts",
@@ -31,12 +31,12 @@
31
31
  "license": "MIT",
32
32
  "dependencies": {},
33
33
  "devDependencies": {
34
- "expo-module-scripts": "^4.1.5"
34
+ "expo-module-scripts": "^4.1.6"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "expo": "*",
38
38
  "react": "*",
39
39
  "react-native": "*"
40
40
  },
41
- "gitHead": "a639a661a5329e58f916cf69b8f1a7718bbdd26e"
41
+ "gitHead": "2055b46ab64df8f8f0211b9557d1c5f65a8e15d5"
42
42
  }
@@ -1 +0,0 @@
1
- 7596e28c2f62a6f07a9c85389caa62fc8bee19475b25ed172fdcb1a444d42656
@@ -1 +0,0 @@
1
- 2a7df87d518cde4637f08c390e92fc2c0efeaf51a7fdda82738223210c4d21ed02fe928885ba6e1e39213c556a030c925a81a1866686f7ba1b0507473d225f5b
@@ -1 +0,0 @@
1
- 0ef81d8e28383dc549dffe82635487c91e6ce715
@@ -1 +0,0 @@
1
- 1a83d48535f7a11e5d677f561520e32f5a7bba1fd0096cb48c6c581b70c7cb8f
@@ -1 +0,0 @@
1
- 298030af70a15854af2d8073494ccad878c356931a35d50cd096149fa660a918ed571acb848407ef81c6a262a88f5d19965cf3b8adce4f382caf91af9b4522c8
@@ -1 +0,0 @@
1
- f8c32fe8e6ff6b548cbdfb879ae07b3bedac29c4
@@ -1 +0,0 @@
1
- 3b262a38d356494d1caa31aff8c29addc38b8f8613027d72327981d0a2753f3f
@@ -1 +0,0 @@
1
- 7726014dd69d263b9514f400728f6274f1192aa5972b66ecd9493c93b7804a6573bb9a4ded06552296749fb859b7c57ac780ca345abf48e8b6b4e1172a0a68ca
@@ -1 +0,0 @@
1
- afd72a3dec7289c4e4237242eec033f2f761d129
@@ -1 +0,0 @@
1
- 053bf01b556cceb309ab4357dfc08847f028ee09080c54e08bec36fd1b7d15a4
@@ -1 +0,0 @@
1
- f2bad349cff20309d95eea77c5e16f51ea84d1a26c6abc2c0c45ca748d925386780789671aae8edea89754e129f702d7b44d1a1dac3d269b5ed0841a5083554c