fix: ensure view drop stop playback startup (#3875)
This commit is contained in:
@@ -61,11 +61,11 @@ class NowPlayingInfoCenterManager {
|
||||
return
|
||||
}
|
||||
|
||||
if let observer = observers[players.hashValue] {
|
||||
if let observer = observers[player.hashValue] {
|
||||
observer.invalidate()
|
||||
}
|
||||
|
||||
observers.removeValue(forKey: players.hashValue)
|
||||
observers.removeValue(forKey: player.hashValue)
|
||||
players.remove(player)
|
||||
|
||||
if currentPlayer == player {
|
||||
|
@@ -1241,10 +1241,19 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
// MARK: - Lifecycle
|
||||
|
||||
override func removeFromSuperview() {
|
||||
self._player?.replaceCurrentItem(with: nil)
|
||||
if let player = _player {
|
||||
player.pause()
|
||||
NowPlayingInfoCenterManager.shared.removePlayer(player: player)
|
||||
}
|
||||
_playerItem = nil
|
||||
_source = nil
|
||||
_chapters = nil
|
||||
_drm = nil
|
||||
_textTracks = nil
|
||||
_selectedTextTrackCriteria = nil
|
||||
_selectedAudioTrackCriteria = nil
|
||||
_presentingViewController = nil
|
||||
|
||||
_player = nil
|
||||
_resouceLoaderDelegate = nil
|
||||
@@ -1252,6 +1261,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
|
||||
#if USE_GOOGLE_IMA
|
||||
_imaAdsManager.releaseAds()
|
||||
_imaAdsManager = nil
|
||||
#endif
|
||||
|
||||
self.removePlayerLayer()
|
||||
|
Reference in New Issue
Block a user