feat: add plugins management (#3909)
This commit is contained in:
@@ -81,6 +81,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
}
|
||||
}
|
||||
|
||||
private let instanceId = UUID().uuidString
|
||||
|
||||
private var _isBuffering = false {
|
||||
didSet {
|
||||
onVideoBuffer?(["isBuffering": _isBuffering, "target": reactTag as Any])
|
||||
@@ -184,6 +186,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
|
||||
init(eventDispatcher: RCTEventDispatcher!) {
|
||||
super.init(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
|
||||
ReactNativeVideoManager.shared.registerView(newInstance: self)
|
||||
#if USE_GOOGLE_IMA
|
||||
_imaAdsManager = RCTIMAAdsManager(video: self, pipEnabled: isPipEnabled)
|
||||
#endif
|
||||
@@ -263,6 +266,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
#if os(iOS)
|
||||
_pip = nil
|
||||
#endif
|
||||
ReactNativeVideoManager.shared.unregisterView(newInstance: self)
|
||||
}
|
||||
|
||||
// MARK: - App lifecycle handlers
|
||||
@@ -462,6 +466,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
|
||||
if _player == nil {
|
||||
_player = AVPlayer()
|
||||
ReactNativeVideoManager.shared.onInstanceCreated(id: instanceId, player: _player)
|
||||
|
||||
_player!.replaceCurrentItem(with: playerItem)
|
||||
|
||||
if _showNotificationControls {
|
||||
@@ -1261,6 +1267,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
_selectedAudioTrackCriteria = nil
|
||||
_presentingViewController = nil
|
||||
|
||||
ReactNativeVideoManager.shared.onInstanceRemoved(id: instanceId, player: _player)
|
||||
_player = nil
|
||||
_resouceLoaderDelegate = nil
|
||||
_playerObserver.clearPlayer()
|
||||
|
||||
Reference in New Issue
Block a user