Skip to content

[video_player] : Add video track selection support for Android and iOS#10688

Open
nateshmbhat wants to merge 159 commits intoflutter:mainfrom
nateshmbhat:feature/video-track-selection-v2
Open

[video_player] : Add video track selection support for Android and iOS#10688
nateshmbhat wants to merge 159 commits intoflutter:mainfrom
nateshmbhat:feature/video-track-selection-v2

Conversation

@nateshmbhat
Copy link
Copy Markdown
Contributor

@nateshmbhat nateshmbhat commented Dec 27, 2025

This PR adds video track selection (quality switching) support to the video_player plugin for Android and iOS platforms. This allows users to programmatically get available video quality variants and select a specific quality track, similar to the existing audio track selection feature.

Addresses issue : flutter/flutter#58854

Pre-Review Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] page, which explains my responsibilities.
  • I read and followed the [relevant style guides] and ran [the auto-formatter].
  • I signed the [CLA].
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I [linked to at least one issue that this PR fixes] in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy], or I have commented below to indicate which [version change exemption] this PR falls under[^1].
  • I updated CHANGELOG.md to add a description of the change, [following repository CHANGELOG style], or I have commented below to indicate which [CHANGELOG exemption] this PR falls under[^1].
  • I updated/added any relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or I have commented below to indicate which [test exemption] this PR falls under[^1].
  • All existing and new tests are passing.

feat(video_player): add platform check for audio track selection support
@nateshmbhat
Copy link
Copy Markdown
Contributor Author

Fixed it. Requested review from all reviewers by mistake 😅 sorry

@reidbaker
Copy link
Copy Markdown
Contributor

I removed everyone that was not on the ecosystem, android or ios team in an effort to minimize their notification spam.

@bparrishMines bparrishMines removed their request for review March 27, 2026 18:55
@github-actions github-actions bot added the p: interactive_media_ads Plugin for IMA SDK label Mar 30, 2026
@github-actions github-actions bot removed the p: interactive_media_ads Plugin for IMA SDK label Mar 30, 2026
@mboetger mboetger added the CICD Run CI/CD label Mar 31, 2026

bool get _isDisposedOrNotInitialized => _isDisposed || !value.isInitialized;

/// Gets the available video tracks (quality variants) for the video.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is quality the only thing that tracks are used for?

await _videoPlayerPlatform.selectVideoTrack(_playerId, platformTrack);
}

/// Returns whether video track selection is supported on this platform.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: remove returns

@tarrinneal
Copy link
Copy Markdown
Contributor

This should be ready to break out into sub prs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD federated: all_changes PR that contains changes for all packages for a federated plugin change p: video_player platform-android platform-ios platform-macos platform-web triage-android Should be looked at in Android triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.