expo-video 3.0.13 → 3.0.14

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 (47) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/video/VideoView.kt +7 -3
  4. package/android/src/main/java/expo/modules/video/player/VideoPlayer.kt +13 -0
  5. package/expo-module.config.json +1 -1
  6. package/local-maven-repo/host/exp/exponent/expo.modules.video/{3.0.13/expo.modules.video-3.0.13-sources.jar → 3.0.14/expo.modules.video-3.0.14-sources.jar} +0 -0
  7. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14-sources.jar.md5 +1 -0
  8. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14-sources.jar.sha1 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14-sources.jar.sha256 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14-sources.jar.sha512 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.video/{3.0.13/expo.modules.video-3.0.13.aar → 3.0.14/expo.modules.video-3.0.14.aar} +0 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.aar.md5 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.aar.sha1 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.aar.sha256 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.aar.sha512 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.video/{3.0.13/expo.modules.video-3.0.13.module → 3.0.14/expo.modules.video-3.0.14.module} +22 -22
  17. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.module.md5 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.module.sha1 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.module.sha256 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.module.sha512 +1 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.video/{3.0.13/expo.modules.video-3.0.13.pom → 3.0.14/expo.modules.video-3.0.14.pom} +1 -1
  22. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.pom.md5 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.pom.sha1 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.pom.sha256 +1 -0
  25. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.14/expo.modules.video-3.0.14.pom.sha512 +1 -0
  26. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml +4 -4
  27. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.md5 +1 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha1 +1 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha256 +1 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha512 +1 -1
  31. package/package.json +2 -2
  32. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13-sources.jar.md5 +0 -1
  33. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13-sources.jar.sha1 +0 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13-sources.jar.sha256 +0 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13-sources.jar.sha512 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.aar.md5 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.aar.sha1 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.aar.sha256 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.aar.sha512 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.module.md5 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.module.sha1 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.module.sha256 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.module.sha512 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.pom.md5 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.pom.sha1 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.pom.sha256 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.13/expo.modules.video-3.0.13.pom.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 3.0.14 — 2025-11-05
14
+
15
+ _This version does not introduce any user-facing changes._
16
+
13
17
  ## 3.0.13 — 2025-11-03
14
18
 
15
19
  _This version does not introduce any user-facing changes._
@@ -21,6 +25,7 @@ _This version does not introduce any user-facing changes._
21
25
  - Fix `FOREGROUND_SERVICE_MEDIA_PLAYBACK` being always present in the manifest. ([#40074](https://github.com/expo/expo/pull/40074) by [@behenate](https://github.com/behenate))
22
26
  - [iOS] Fix crashes when rapidly replacing HLS sources. ([#40265](https://github.com/expo/expo/pull/40265) by [@behenate](https://github.com/behenate))
23
27
  - [Android] Fix the `player` prop of the `VideoView` not working when a player is re-assigned after being replaced by a different player earlier. ([#40709](https://github.com/expo/expo/pull/40709) by [@behenate](https://github.com/behenate))
28
+ - [Android] Fix surface view not showing when changing the `player` prop. ([#40817](https://github.com/expo/expo/pull/40817) by [@behenate](https://github.com/behenate))
24
29
 
25
30
  ## 3.0.11 — 2025-09-10
26
31
 
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '3.0.13'
7
+ version = '3.0.14'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.video"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName '3.0.13'
13
+ versionName '3.0.14'
14
14
  }
15
15
  }
16
16
 
@@ -113,15 +113,19 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
113
113
  field?.let {
114
114
  VideoManager.onVideoPlayerDetachedFromView(it, this)
115
115
  }
116
- videoPlayer?.removeListener(this)
117
- videoPlayer?.changePlayerView(null)
116
+ val oldPlayer = videoPlayer
117
+ oldPlayer?.removeListener(this)
118
118
  newPlayer?.addListener(this)
119
119
  field = newPlayer
120
- shouldHideSurfaceView = true
120
+ shouldHideSurfaceView = !(newPlayer?.hasRenderedAFrameOfVideoSource ?: false)
121
+ applySurfaceViewVisibility()
121
122
  attachPlayer()
122
123
  newPlayer?.let {
123
124
  VideoManager.onVideoPlayerAttachedToView(it, this)
124
125
  }
126
+ if (oldPlayer != newPlayer) {
127
+ oldPlayer?.hasBeenDisconnectedFromPlayerView()
128
+ }
125
129
  }
126
130
 
127
131
  var useNativeControls: Boolean = true
@@ -69,6 +69,7 @@ class VideoPlayer(val context: Context, appContext: AppContext, source: VideoSou
69
69
  val serviceConnection = PlaybackServiceConnection(WeakReference(this), appContext)
70
70
  val intervalUpdateClock = IntervalUpdateClock(this)
71
71
 
72
+ var hasRenderedAFrameOfVideoSource = false
72
73
  var playing by IgnoreSameSet(false) { new, old ->
73
74
  sendEvent(PlayerEvent.IsPlayingChanged(new, old))
74
75
  }
@@ -254,6 +255,7 @@ class VideoPlayer(val context: Context, appContext: AppContext, source: VideoSou
254
255
  resetPlaybackInfo()
255
256
  }
256
257
  subtitles.setSubtitlesEnabled(false)
258
+ hasRenderedAFrameOfVideoSource = false
257
259
  super.onMediaItemTransition(mediaItem, reason)
258
260
  }
259
261
 
@@ -331,6 +333,16 @@ class VideoPlayer(val context: Context, appContext: AppContext, source: VideoSou
331
333
  close()
332
334
  }
333
335
 
336
+ /**
337
+ * Used to notify the player that is has been disconnected from the player view by another player.
338
+ */
339
+ fun hasBeenDisconnectedFromPlayerView() {
340
+ if (currentPlayerView.get()?.player == this.player) {
341
+ throw IllegalStateException("The player has been notified of disconnection from the player view, even though it's still connected.")
342
+ }
343
+ currentPlayerView.set(null)
344
+ }
345
+
334
346
  fun changePlayerView(playerView: PlayerView?) {
335
347
  PlayerView.switchTargetView(player, currentPlayerView.get(), playerView)
336
348
  currentPlayerView.set(playerView)
@@ -454,6 +466,7 @@ class VideoPlayer(val context: Context, appContext: AppContext, source: VideoSou
454
466
 
455
467
  private fun createFirstFrameEventGenerator(): FirstFrameEventGenerator {
456
468
  return FirstFrameEventGenerator(player, currentPlayerView) {
469
+ hasRenderedAFrameOfVideoSource = true
457
470
  sendEvent(PlayerEvent.RenderedFirstFrame())
458
471
  }
459
472
  }
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "host.exp.exponent",
10
10
  "artifactId": "expo.modules.video",
11
- "version": "3.0.13",
11
+ "version": "3.0.14",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -0,0 +1 @@
1
+ 9ca52a1183e3968088a39bc022ff8112685378765a5e4141101beada06ed9248
@@ -0,0 +1 @@
1
+ 306189ed3d5c1960729a0961adf01bfdd467f30bb0779fb2674d224b68fe7c24a25b1c8e18e17d553de6c866d3baf4a82111066dbc4dbdf1489cae401bdc98ab
@@ -0,0 +1 @@
1
+ e05f16bea341e493925ccc2b9d7d0249925496d2
@@ -0,0 +1 @@
1
+ 79205368a341e179f8ad13e2cd220b9818e20f4a6176fe037520819a38f0e141
@@ -0,0 +1 @@
1
+ e7224d3c0958dd1cf3505dd935c7238f2bcd6a6238fa52023161688155cf43c4a737f860ae654e6d293a0503dc9a67a5858deb5f7f124545c131209d48af0a2b
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.video",
6
- "version": "3.0.13",
6
+ "version": "3.0.14",
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-3.0.13.aar",
28
- "url": "expo.modules.video-3.0.13.aar",
29
- "size": 499256,
30
- "sha512": "23d2bcabaa48ba1bc97a14bd4f0fe28c427128b4199419cfc408558bff7cd6a5e35ed086d89a7c00b299fa77799bd1785871049866ecf50591658bc2a3eee917",
31
- "sha256": "ab8f15ee4a361d29b7843fb4b776c1469bb0125d080a6d84caef313f190fd73d",
32
- "sha1": "76c350913d0acb2bccf99115f334d2ac75e624ba",
33
- "md5": "e84e2cec78303249694b79448e3709b0"
27
+ "name": "expo.modules.video-3.0.14.aar",
28
+ "url": "expo.modules.video-3.0.14.aar",
29
+ "size": 499697,
30
+ "sha512": "e7224d3c0958dd1cf3505dd935c7238f2bcd6a6238fa52023161688155cf43c4a737f860ae654e6d293a0503dc9a67a5858deb5f7f124545c131209d48af0a2b",
31
+ "sha256": "79205368a341e179f8ad13e2cd220b9818e20f4a6176fe037520819a38f0e141",
32
+ "sha1": "e05f16bea341e493925ccc2b9d7d0249925496d2",
33
+ "md5": "281b771d09fa401ae5003f743251edd1"
34
34
  }
35
35
  ]
36
36
  },
@@ -113,13 +113,13 @@
113
113
  ],
114
114
  "files": [
115
115
  {
116
- "name": "expo.modules.video-3.0.13.aar",
117
- "url": "expo.modules.video-3.0.13.aar",
118
- "size": 499256,
119
- "sha512": "23d2bcabaa48ba1bc97a14bd4f0fe28c427128b4199419cfc408558bff7cd6a5e35ed086d89a7c00b299fa77799bd1785871049866ecf50591658bc2a3eee917",
120
- "sha256": "ab8f15ee4a361d29b7843fb4b776c1469bb0125d080a6d84caef313f190fd73d",
121
- "sha1": "76c350913d0acb2bccf99115f334d2ac75e624ba",
122
- "md5": "e84e2cec78303249694b79448e3709b0"
116
+ "name": "expo.modules.video-3.0.14.aar",
117
+ "url": "expo.modules.video-3.0.14.aar",
118
+ "size": 499697,
119
+ "sha512": "e7224d3c0958dd1cf3505dd935c7238f2bcd6a6238fa52023161688155cf43c4a737f860ae654e6d293a0503dc9a67a5858deb5f7f124545c131209d48af0a2b",
120
+ "sha256": "79205368a341e179f8ad13e2cd220b9818e20f4a6176fe037520819a38f0e141",
121
+ "sha1": "e05f16bea341e493925ccc2b9d7d0249925496d2",
122
+ "md5": "281b771d09fa401ae5003f743251edd1"
123
123
  }
124
124
  ]
125
125
  },
@@ -133,13 +133,13 @@
133
133
  },
134
134
  "files": [
135
135
  {
136
- "name": "expo.modules.video-3.0.13-sources.jar",
137
- "url": "expo.modules.video-3.0.13-sources.jar",
138
- "size": 63359,
139
- "sha512": "2862cbdd1490a934c88896b54057ca842093475698c3dec8f6c16c8b46527ec2b055f7a123e096fd034453fa778a2a413ecf4bbee30c3305abb73f2c7bd8b264",
140
- "sha256": "532dd1649d92ab68e04f6c270fc5d2aa8ec0a6802b992f0c835d1d66ccea2138",
141
- "sha1": "a88b7068821fa37a9c53a38745f5069e201cc983",
142
- "md5": "3cfd82ace400bfcc44a660bab7a081b6"
136
+ "name": "expo.modules.video-3.0.14-sources.jar",
137
+ "url": "expo.modules.video-3.0.14-sources.jar",
138
+ "size": 63577,
139
+ "sha512": "306189ed3d5c1960729a0961adf01bfdd467f30bb0779fb2674d224b68fe7c24a25b1c8e18e17d553de6c866d3baf4a82111066dbc4dbdf1489cae401bdc98ab",
140
+ "sha256": "9ca52a1183e3968088a39bc022ff8112685378765a5e4141101beada06ed9248",
141
+ "sha1": "d4bdccdd69ad5564bb587752b26993dd902836d3",
142
+ "md5": "83d567013716b935e823404a3bf1a38a"
143
143
  }
144
144
  ]
145
145
  }
@@ -0,0 +1 @@
1
+ 2c17915d7277b560c8edf7ec113747cb5e03747e452f92c885ab6e4ccea53902
@@ -0,0 +1 @@
1
+ 54aaad061d13762d236f7f2d9cb76bb0d975a4ccb10bfaaa11916d443c70c10cace16bf92ba478954c28abf66ff5fd724c10e8915106517d42ec6fa9d489181f
@@ -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>3.0.13</version>
12
+ <version>3.0.14</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
+ f3fcdad6eebf921f0dc21089ae9d347bd6793ab0
@@ -0,0 +1 @@
1
+ f3a38086417c2b2ae2b5f2568dd8959fab0d96432b2d31a293af5740323fa536
@@ -0,0 +1 @@
1
+ fe18619df710135e4350dcc0a0df4aaed32a0f7c0832b343cbfd68102fa41c139d1a38b6d210d73599ba775584260d6ab2b709d0c11ff98696b0b1d10baaa84e
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.video</artifactId>
5
5
  <versioning>
6
- <latest>3.0.13</latest>
7
- <release>3.0.13</release>
6
+ <latest>3.0.14</latest>
7
+ <release>3.0.14</release>
8
8
  <versions>
9
- <version>3.0.13</version>
9
+ <version>3.0.14</version>
10
10
  </versions>
11
- <lastUpdated>20251103211328</lastUpdated>
11
+ <lastUpdated>20251105004712</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- ed349b84ccfc388292a7a3bd5dd33c05
1
+ b1cea7b2eee35097b068e00964ad3bb9
@@ -1 +1 @@
1
- 59c16bcebe2a40f4e1e15d9d42a8c96e8d5d4835
1
+ ec05f777e588baf5d6f7771299727241f5b34305
@@ -1 +1 @@
1
- 95a39cdcabd820e447fe7b30232fe4fded3675704fc70732a3e9c974d1e7faaa
1
+ cc90accd309840f39643882fe4365574ddf454dadc064a87285499a287467ebe
@@ -1 +1 @@
1
- ba47cb7f7c0d345e5da08d1330867a9c8dec83b891cd3417f946d59fb792e32dd7f5058d853a37a120125ff7e7af09e886f5b90fec8e0e039858bef2d599f361
1
+ f766d764d536c5539230e4fa72e243ed158aeb241ef1533844471a9f84786e40ec1b94aef148445f5a2d49535f9e6724ca9668a765c7d279f87918d2a1b3b261
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "expo-video",
3
3
  "title": "Expo Video",
4
- "version": "3.0.13",
4
+ "version": "3.0.14",
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",
@@ -38,5 +38,5 @@
38
38
  "react": "*",
39
39
  "react-native": "*"
40
40
  },
41
- "gitHead": "1bba12a43e14a442f2cf1c73fe21968e0ef097c1"
41
+ "gitHead": "c78d97bb440547ad05de38f37398e79a7118c52a"
42
42
  }
@@ -1 +0,0 @@
1
- 532dd1649d92ab68e04f6c270fc5d2aa8ec0a6802b992f0c835d1d66ccea2138
@@ -1 +0,0 @@
1
- 2862cbdd1490a934c88896b54057ca842093475698c3dec8f6c16c8b46527ec2b055f7a123e096fd034453fa778a2a413ecf4bbee30c3305abb73f2c7bd8b264
@@ -1 +0,0 @@
1
- 76c350913d0acb2bccf99115f334d2ac75e624ba
@@ -1 +0,0 @@
1
- ab8f15ee4a361d29b7843fb4b776c1469bb0125d080a6d84caef313f190fd73d
@@ -1 +0,0 @@
1
- 23d2bcabaa48ba1bc97a14bd4f0fe28c427128b4199419cfc408558bff7cd6a5e35ed086d89a7c00b299fa77799bd1785871049866ecf50591658bc2a3eee917
@@ -1 +0,0 @@
1
- 6a8cf377bc511971e74283fa98358c6308e5a512
@@ -1 +0,0 @@
1
- 43599616bf74dd8d6014f1a16ac1844301d43e4243e060cc0fece66520c2be51
@@ -1 +0,0 @@
1
- 98a1e3014154213ce0da180bdecd6b5fe1315936e08ba28c5f92eca11c9c5ed1c06a34218310c46ed39f5df69de224fddcc6d14cc11044f14978efee89bb2ff9
@@ -1 +0,0 @@
1
- 5b6dbc8820a85c3af8893294d5bc8ba32b00ab6b
@@ -1 +0,0 @@
1
- 4ada0a03241d9599693c6f9922a0b63a3a7e153ee1eb2a9e7de3aaf774bfd995
@@ -1 +0,0 @@
1
- aac268572cfe2493a98c84cf9df998d7529ec512609d849015beaf0a421a185c984a44131cfe1ba9e63b839c977c8fd7167532222b6bf121093cad0ee3ad004c