diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f8a247dd8..dfa7a29b2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Fix iOS bug which would break size of views when video is displayed with controls on a non full-screen React view. [#1931](https://github.com/react-native-community/react-native-video/pull/1931) - Fix video dimensions being undefined when playing HLS in ios. [#1992](https://github.com/react-native-community/react-native-video/pull/1992) - Add support for audio mix with other apps for iOS. [#1978](https://github.com/react-native-community/react-native-video/pull/1978) +- Properly implement pending seek for iOS. [#1993](https://github.com/react-native-community/react-native-video/pull/1993) ### Version 5.1.0-alpha5 diff --git a/ios/Video/RCTVideo.m b/ios/Video/RCTVideo.m index a9b8e56893..d20913d2c2 100644 --- a/ios/Video/RCTVideo.m +++ b/ios/Video/RCTVideo.m @@ -645,6 +645,11 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N height = [NSNumber numberWithFloat:_playerItem.presentationSize.height]; orientation = _playerItem.presentationSize.width > _playerItem.presentationSize.height ? @"landscape" : @"portrait"; } + + if (_pendingSeek) { + [self setCurrentTime:_pendingSeekTime]; + _pendingSeek = false; + } if (self.onVideoLoad && _videoLoadStarted) { self.onVideoLoad(@{@"duration": [NSNumber numberWithFloat:duration], @@ -962,7 +967,6 @@ - (void)setSeek:(NSDictionary *)info } } else { - // TODO: See if this makes sense and if so, actually implement it _pendingSeek = true; _pendingSeekTime = [seekTime floatValue]; }