Fix buffering behaviour and eventSink bug on iOS

This commit is contained in:
Ryan Heise 2020-02-05 13:30:24 +11:00
parent eee50d712e
commit fb0cd4af7d
2 changed files with 26 additions and 2 deletions

View file

@ -114,6 +114,7 @@
}
- (void)broadcastPlaybackEvent {
if (!_eventSink) return;
long long now = (long long)([[NSDate date] timeIntervalSince1970] * 1000.0);
_updatePosition = [self getCurrentPosition];
_updateTime = now;
@ -150,6 +151,11 @@
[self broadcastPlaybackEvent];
}
- (void)setPlaybackBufferingState:(enum PlaybackState)state buffering:(BOOL)buffering {
_buffering = buffering;
[self setPlaybackState:state];
}
- (void)setUrl:(NSString*)url result:(FlutterResult)result {
// TODO: error if already connecting
_connectionResult = result;
@ -271,7 +277,7 @@
[_player pause];
[_player seekToTime:CMTimeMake(0, 1000)
completionHandler:^(BOOL finished) {
[self setPlaybackState:stopped];
[self setPlaybackBufferingState:stopped buffering:NO];
}];
}
@ -279,7 +285,7 @@
[_player pause];
[_player seekToTime:CMTimeMake(0, 1000)
completionHandler:^(BOOL finished) {
[self setPlaybackState:completed];
[self setPlaybackBufferingState:completed buffering:NO];
}];
}