Commit 88e47159 authored by Stanisław Chmiela's avatar Stanisław Chmiela
Browse files

Remove observer in setSrc if the source changes, but the view hasn't been removed from superview

Before: observer removes only in removeFromSuperview, but adds in setSrc – multiple setSrc would add multiple observers and one removeFromSuperview would remove only one observer. Now: Every addObserver in setSrc is balanced by removeObserver also in setSrc
parent 901f0cc9
Loading
Loading
Loading
Loading
+5 −0
Changes for RCTVideo.m: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -225,6 +225,11 @@ static NSString *const playbackRate = @"rate";

  _player = [AVPlayer playerWithPlayerItem:_playerItem];
  _player.actionAtItemEnd = AVPlayerActionAtItemEndNone;
    
  if (_playbackRateObserverRegistered) {
    [_player removeObserver:self forKeyPath:playbackRate];
    _playbackRateObserverRegistered = NO;
  }
  [_player addObserver:self forKeyPath:playbackRate options:0 context:nil];
  _playbackRateObserverRegistered = YES;