expo-video 3.0.12 → 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 +10 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/video/VideoView.kt +7 -2
  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.12/expo.modules.video-3.0.12-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.12/expo.modules.video-3.0.12.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.12/expo.modules.video-3.0.12.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.12/expo.modules.video-3.0.12.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.12/expo.modules.video-3.0.12-sources.jar.md5 +0 -1
  33. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12-sources.jar.sha1 +0 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12-sources.jar.sha256 +0 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12-sources.jar.sha512 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.aar.md5 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.aar.sha1 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.aar.sha256 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.aar.sha512 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.module.md5 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.module.sha1 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.module.sha256 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.module.sha512 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.pom.md5 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.pom.sha1 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.pom.sha256 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.video/3.0.12/expo.modules.video-3.0.12.pom.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,12 +10,22 @@
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
+
17
+ ## 3.0.13 — 2025-11-03
18
+
19
+ _This version does not introduce any user-facing changes._
20
+
13
21
  ## 3.0.12 — 2025-10-28
14
22
 
15
23
  ### 🐛 Bug fixes
16
24
 
17
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))
18
26
  - [iOS] Fix crashes when rapidly replacing HLS sources. ([#40265](https://github.com/expo/expo/pull/40265) by [@behenate](https://github.com/behenate))
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))
19
29
 
20
30
  ## 3.0.11 — 2025-09-10
21
31
 
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '3.0.12'
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.12'
13
+ versionName '3.0.14'
14
14
  }
15
15
  }
16
16
 
@@ -113,14 +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)
116
+ val oldPlayer = videoPlayer
117
+ oldPlayer?.removeListener(this)
117
118
  newPlayer?.addListener(this)
118
119
  field = newPlayer
119
- shouldHideSurfaceView = true
120
+ shouldHideSurfaceView = !(newPlayer?.hasRenderedAFrameOfVideoSource ?: false)
121
+ applySurfaceViewVisibility()
120
122
  attachPlayer()
121
123
  newPlayer?.let {
122
124
  VideoManager.onVideoPlayerAttachedToView(it, this)
123
125
  }
126
+ if (oldPlayer != newPlayer) {
127
+ oldPlayer?.hasBeenDisconnectedFromPlayerView()
128
+ }
124
129
  }
125
130
 
126
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.12",
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.12",
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.12.aar",
28
- "url": "expo.modules.video-3.0.12.aar",
29
- "size": 499256,
30
- "sha512": "db01b9a4a02d418e96c9fd8f006b87490828e5c2423073f6e467354e5424efe7d3f38d83048033a94fe1547ada693b47fa35f216a5476b2cf179c135f63332de",
31
- "sha256": "3bb229dad1f54b07ee3de4f880e23bf8349389e7fcfc0e9840fa88f95fb952fb",
32
- "sha1": "6ae53292b8764558e1a0d3e964ec1d7aa6c2e7be",
33
- "md5": "84772c093f51ba4ada69db3ba5bbccf5"
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.12.aar",
117
- "url": "expo.modules.video-3.0.12.aar",
118
- "size": 499256,
119
- "sha512": "db01b9a4a02d418e96c9fd8f006b87490828e5c2423073f6e467354e5424efe7d3f38d83048033a94fe1547ada693b47fa35f216a5476b2cf179c135f63332de",
120
- "sha256": "3bb229dad1f54b07ee3de4f880e23bf8349389e7fcfc0e9840fa88f95fb952fb",
121
- "sha1": "6ae53292b8764558e1a0d3e964ec1d7aa6c2e7be",
122
- "md5": "84772c093f51ba4ada69db3ba5bbccf5"
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.12-sources.jar",
137
- "url": "expo.modules.video-3.0.12-sources.jar",
138
- "size": 63354,
139
- "sha512": "f04da6fb2f5c1ba96f029687f46e31c261026c814121a81cdc257af33fa1383b5de77a8862123e632c93888bfce716edcc2acdd0d07460c678917139a9901b11",
140
- "sha256": "5efae1439855a664269c02cbb19144477c94a4ac3af7dbd6a7874739d851cd4b",
141
- "sha1": "24846cc393de2fd8ca5be69222980cc63f123ebb",
142
- "md5": "8e05f3222326dcb5038e8d0ecd554094"
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.12</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.12</latest>
7
- <release>3.0.12</release>
6
+ <latest>3.0.14</latest>
7
+ <release>3.0.14</release>
8
8
  <versions>
9
- <version>3.0.12</version>
9
+ <version>3.0.14</version>
10
10
  </versions>
11
- <lastUpdated>20251028182637</lastUpdated>
11
+ <lastUpdated>20251105004712</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 01bdbc3b55f7544e5c796f8fba410cb5
1
+ b1cea7b2eee35097b068e00964ad3bb9
@@ -1 +1 @@
1
- 6e4fe96e5356df9893b4b0f43fe422e872d3933d
1
+ ec05f777e588baf5d6f7771299727241f5b34305
@@ -1 +1 @@
1
- d5cf895c29b60e6c0173eef32d4deff12dc59dcceb2ff2f5e8866b0954dc42b0
1
+ cc90accd309840f39643882fe4365574ddf454dadc064a87285499a287467ebe
@@ -1 +1 @@
1
- c20c96e4cff9b64008b302a6d85b87c1e076f85fbe2ac6482eca202068b1f247890e28255bb45d17fd8dd53c1d93ebf5fa30850ded8334abced3e68a3e74dbdf
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.12",
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": "f1475b7bd0e8fdec0c0027be89c4c8d650d10805"
41
+ "gitHead": "c78d97bb440547ad05de38f37398e79a7118c52a"
42
42
  }
@@ -1 +0,0 @@
1
- 5efae1439855a664269c02cbb19144477c94a4ac3af7dbd6a7874739d851cd4b
@@ -1 +0,0 @@
1
- f04da6fb2f5c1ba96f029687f46e31c261026c814121a81cdc257af33fa1383b5de77a8862123e632c93888bfce716edcc2acdd0d07460c678917139a9901b11
@@ -1 +0,0 @@
1
- 6ae53292b8764558e1a0d3e964ec1d7aa6c2e7be
@@ -1 +0,0 @@
1
- 3bb229dad1f54b07ee3de4f880e23bf8349389e7fcfc0e9840fa88f95fb952fb
@@ -1 +0,0 @@
1
- db01b9a4a02d418e96c9fd8f006b87490828e5c2423073f6e467354e5424efe7d3f38d83048033a94fe1547ada693b47fa35f216a5476b2cf179c135f63332de
@@ -1 +0,0 @@
1
- af9668607886fdb69f6c2be98cc8f1d8bdc48ef9
@@ -1 +0,0 @@
1
- 1bb74aa434ffaca8bba47340f634d6028755219ae43c061a6e4c60ad98d83723
@@ -1 +0,0 @@
1
- 03b7ef3add87fb92795c13fff28c4dc0b76497bc5d2bf7a8613544b77db0a56caa5a1ecdbfec804f9365205f4a03bdc1bfa59a33b9ee28c039ef5c9f146e7c46
@@ -1 +0,0 @@
1
- f804dc344b69d05e9cc6fb24ea95be5e20174e37
@@ -1 +0,0 @@
1
- 67b2645b94f980b90fa280849f67583fc092e8ca304ed10e0b7de6e0b3469640
@@ -1 +0,0 @@
1
- ab274b819a9e4d7457b35c4bec7ffe09673403d48bf10eb0c1f1c284094bdfdf64b5019463e4b206acdb9b75b06a729180bb35d1099e03ea194a122307fe5479