diff --git a/ios/RCTVideo.m b/ios/RCTVideo.m index 0f1227b11b..ab0d587979 100644 --- a/ios/RCTVideo.m +++ b/ios/RCTVideo.m @@ -140,8 +140,8 @@ -(void)removePlayerTimeObserver - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - [self removePlayerItemObservers]; [self removePlayerLayer]; + [self removePlayerItemObservers]; [_player removeObserver:self forKeyPath:playbackRate context:nil]; } @@ -252,9 +252,6 @@ - (void)addPlayerItemObservers * observer set */ - (void)removePlayerItemObservers { - if (_playerLayer) { - [_playerLayer removeObserver:self forKeyPath:readyForDisplayKeyPath]; - } if (_playerItemObserversSet) { [_playerItem removeObserver:self forKeyPath:statusKeyPath]; [_playerItem removeObserver:self forKeyPath:playbackBufferEmptyKeyPath]; @@ -268,13 +265,13 @@ - (void)removePlayerItemObservers - (void)setSrc:(NSDictionary *)source { + [self removePlayerLayer]; [self removePlayerTimeObserver]; [self removePlayerItemObservers]; _playerItem = [self playerItemForSource:source]; [self addPlayerItemObservers]; [_player pause]; - [self removePlayerLayer]; [_playerViewController.view removeFromSuperview]; _playerViewController = nil;