fix(ios): notification controls flow (#4854)

* fix(ios): load artwork asynchronously to unblock notification controls

* fix(ios): remove playback observer on player removal and guard artwork callback

* fix: cleaning up player

* refactor: `if` syntax

* fix: add missing cleaner

* fix: remove `rounded` from current time

* chore: update pod versions

* refactor(ios): use targeted update functions at each call site

* refactor(ios): use async/await to load artwork metadata

* fix(ios): update static now playing info after setting external metadata

* fix: find new player before updating playback state

* fix(ios): take over notification controls when registering an already-playing player

* fix(ios): clear stale artwork and guard against item change in async artwork load

* fix: guard notification controls updates against stale player item

* fix: update playback duration periodically to handle streams with initially unknown duration
This commit is contained in:
Kamil Moskała
2026-03-09 17:44:12 +01:00
committed by GitHub
parent ddcb9e6dd9
commit 1b0726cf0e
4 changed files with 83 additions and 55 deletions
+4 -4
View File
@@ -1565,7 +1565,7 @@ PODS:
- React-logger (= 0.77.3)
- React-perflogger (= 0.77.3)
- React-utils (= 0.77.3)
- ReactNativeVideo (7.0.0-beta.1):
- ReactNativeVideo (7.0.0-beta.6):
- DoubleConversion
- glog
- hermes-engine
@@ -1587,7 +1587,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- ReactNativeVideoDrm (7.0.0-beta.1):
- ReactNativeVideoDrm (7.0.0-beta.6):
- DoubleConversion
- glog
- hermes-engine
@@ -1904,8 +1904,8 @@ SPEC CHECKSUMS:
ReactAppDependencyProvider: 31015410a4a53b9fd0a908ad4d6e3e2b9a25086a
ReactCodegen: 53316394e985ded1babc7f143c90c77d2bb1b43c
ReactCommon: bf4612cba0fa356b529385029f470d5529dddde4
ReactNativeVideo: 10dd0a47f8228b41565a3efb13df5b323633b590
ReactNativeVideoDrm: 07b826ab66fd0a00ab3dd3bef2dd2c026e919a9a
ReactNativeVideo: de7056e831a46412e81fbf730ef739ec4c7378fe
ReactNativeVideoDrm: a83670242cec729b4fb67e7c804ab3300e848b86
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
Yoga: 92f3bb322c40a86b7233b815854730442e01b8c4