From 3d2a58a8c513b4f1ba8a3c064b80d9fb138423ac Mon Sep 17 00:00:00 2001 From: Jens Andersson Date: Wed, 3 Jul 2019 08:44:55 +0200 Subject: [PATCH 1/2] Fix memory leak when using AVPlayerViewController, make sure to release player --- ios/Video/RCTVideo.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ios/Video/RCTVideo.m b/ios/Video/RCTVideo.m index 71bf82d855..0fd41367aa 100644 --- a/ios/Video/RCTVideo.m +++ b/ios/Video/RCTVideo.m @@ -1491,6 +1491,8 @@ - (void)removeFromSuperview [_playerViewController.contentOverlayView removeObserver:self forKeyPath:@"frame"]; [_playerViewController removeObserver:self forKeyPath:readyForDisplayKeyPath]; [_playerViewController.view removeFromSuperview]; + _playerViewController.rctDelegate = nil; + _playerViewController.player = nil; _playerViewController = nil; [self removePlayerTimeObserver]; From 666c26d9ec3a7a3cb277cb8871ebb2fe0a877a3d Mon Sep 17 00:00:00 2001 From: Jens Andersson Date: Wed, 3 Jul 2019 09:42:38 +0200 Subject: [PATCH 2/2] Updated changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8668a91585..fdb453561a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ## Changelog +* Fixed memory leak on iOS when using `controls` [#1647](https://github.com/react-native-community/react-native-video/pull/1647) + ### Version 4.4.2 * Change compileOnly to implementation on gradle (for newer gradle versions and react-native 0.59 support) [#1592](https://github.com/react-native-community/react-native-video/pull/1592) * Replaced RCTBubblingEventBlock events by RCTDirectEventBlock to avoid event name collisions [#1625](https://github.com/react-native-community/react-native-video/pull/1625)