fix: memory leak due to [weak self] and delegate not being weak
This commit is contained in:
@@ -246,7 +246,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
// MARK: - Player and source
|
||||
@objc
|
||||
func setSrc(_ source:NSDictionary!) {
|
||||
DispatchQueue.global(qos: .default).async {
|
||||
DispatchQueue.global(qos: .default).async { [weak self] in
|
||||
guard let self = self else {return}
|
||||
self._source = VideoSource(source)
|
||||
if (self._source?.uri == nil || self._source?.uri == "") {
|
||||
self._player?.replaceCurrentItem(with: nil)
|
||||
@@ -670,7 +671,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
self._playerViewController?.removeFromParent()
|
||||
}
|
||||
|
||||
viewController.present(playerViewController, animated:true, completion:{
|
||||
viewController.present(playerViewController, animated:true, completion:{ [weak self] in
|
||||
guard let self = self else {return}
|
||||
self._playerViewController?.showsPlaybackControls = self._controls
|
||||
self._fullscreenPlayerPresented = fullscreen
|
||||
self._playerViewController?.autorotate = self._fullscreenAutorotate
|
||||
@@ -682,8 +684,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
}
|
||||
} else if !fullscreen && _fullscreenPlayerPresented, let _playerViewController = _playerViewController {
|
||||
self.videoPlayerViewControllerWillDismiss(playerViewController: _playerViewController)
|
||||
_presentingViewController?.dismiss(animated: true, completion:{
|
||||
self.videoPlayerViewControllerDidDismiss(playerViewController: _playerViewController)
|
||||
_presentingViewController?.dismiss(animated: true, completion:{[weak self] in
|
||||
self?.videoPlayerViewControllerDidDismiss(playerViewController: _playerViewController)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user