Skip to content

video_player-v2.14.1

@Neelansh-ns Neelansh-ns tagged this 02 Oct 21:41
A platform seek can finish after `VideoPlayerController.dispose()`, causing `_updatePosition` to write to the disposed notifier and throw. This also happens in the controller's own `VideoEventType.completed` pause/seek chain, without the caller invoking a method after disposal.

Checks `_isDisposed` at the shared position-update boundary. Adds regressions for an explicit pending seek and the pending seek from a playback-completed event. Both tests fail on the unmodified controller and pass with the guard. The patch updates the package to 2.14.1 and incorporates the existing `NEXT` changelog entry as required by the release instructions.

Fixes https://github.com/flutter/flutter/issues/193147

Validation with Flutter 3.44.9 / Dart 3.12.2:

- Full Dart package suite: 118 passed, one existing skipped test.
- `dart analyze --fatal-infos` for the package and example: no issues.
- Repository Dart formatter run; unrelated pre-existing caption-test reformatting excluded from the diff.
- Repository `publish-check`: passed after committing the four-file patch.
- `git diff --check`: passed.

Repository-wide `validate` could not complete in the sparse checkout because the root README references packages outside the checkout (`animations`). Native/integration tests were not run; this change is limited to the Dart controller.

No public API or dartdoc changes are needed.

## Pre-Review Checklist
Assets 2
Loading