startUpdatePositionTimer method

void startUpdatePositionTimer()

Implementation

void startUpdatePositionTimer() {
  if (_isDisposed) return;

  _positionTimer?.cancel();
  _positionTimer = Timer.periodic(_positionUpdateInterval, (_) {
    if (_isDisposed) return;

    getCurrentTime().then<void>((currentTime) {
      if (!_isDisposed) {
        value = value.copyWith(position: currentTime);
      }
    }).catchError((Object error, StackTrace stackTrace) {
      if (_isDisposed || _isPlayerGoneError(error)) return;
      Error.throwWithStackTrace(error, stackTrace);
    });
  });
}