support seeking to end of live streams (#108)

* support seeking to end of live streams

suggested edit for #96

* fix type casting
This commit is contained in:
LKHO 2020-06-07 14:31:36 +08:00 committed by GitHub
parent ee0c4cd7cd
commit f66413c007
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 11 deletions

View file

@ -140,7 +140,7 @@
- (int)getCurrentPosition {
if (_state == none || _state == connecting) {
return 0;
} else if (_seekPos != -1) {
} else if (_seekPos >= 0) {
return _seekPos;
} else {
return (int)(1000 * CMTimeGetSeconds([_player currentTime]));
@ -360,11 +360,19 @@
NSLog(@"seek. enter buffering");
_buffering = YES;
[self broadcastPlaybackEvent];
[_player seekToTime:CMTimeMake(position, 1000)
completionHandler:^(BOOL finished) {
NSLog(@"seek completed");
[self onSeekCompletion:result];
}];
if (position == -2) {
[_player seekToTime:kCMTimePositiveInfinity
completionHandler:^(BOOL finished) {
NSLog(@"seek completed");
[self onSeekCompletion:result];
}];
} else {
[_player seekToTime:CMTimeMake(position, 1000)
completionHandler:^(BOOL finished) {
NSLog(@"seek completed");
[self onSeekCompletion:result];
}];
}
}
- (void)onSeekCompletion:(FlutterResult)result {