Uh oh!
There was an error while loading. Please reload this page.
[video_player_platform_interface] Add video track selection support - #11474
Conversation
Adds VideoTrack class and getVideoTracks(), selectVideoTrack(), isVideoTrackSupportAvailable() methods for video track (quality) selection. Platform interface breakout PR for flutter#10688.
There was a problem hiding this comment.
Code Review
This pull request updates the video_player_platform_interface to version 6.7.0, adding a VideoTrack class and methods for video track selection: getVideoTracks, selectVideoTrack, and isVideoTrackSupportAvailable. The changes include default implementations in the platform interface and corresponding unit tests. I have no feedback to provide.
stuartmorgan-g
commented
Apr 28, 2026
@tarrinneal Ping, this approval so we can land it and unblock the next PR in the sequence. |
tarrinneal
left a comment
There was a problem hiding this comment.
Sorry thought I'd done this already!
tarrinneal
commented
Apr 29, 2026
|
Uh oh!
There was an error while loading. Please reload this page.
…er#185748) flutter/packages@ba80f8f...cde5b36 2026-04-29 stuartmorgan@google.com [file_selector] Switch to Kotlin Pigeon (flutter/packages#11479) 2026-04-29 stuartmorgan@google.com [image_picker] Switch to Kotlin Pigeon (flutter/packages#11504) 2026-04-29 stuartmorgan@google.com [quick_actions] Switch to Kotlin Pigeon (flutter/packages#11507) 2026-04-29 git@reb0.org [pigeon] fix: Apply correct ThrowError success callback (flutter/packages#11585) 2026-04-29 nateshmbhat1@gmail.com [video_player_platform_interface] Add video track selection support (flutter/packages#11474) 2026-04-29 katelovett@google.com Update git ignore for personal/iterating on agent skills and rules (flutter/packages#11600) 2026-04-29 stuartmorgan@google.com [file_selector] Update Windows example for deprecations (flutter/packages#11570) 2026-04-29 git@reb0.org [various] Upgrade googletest to v1.15.2 (flutter/packages#11586) 2026-04-28 engine-flutter-autoroll@skia.org Roll Flutter (stable) from cc0734a to 02085fe (2 revisions) (flutter/packages#11598) 2026-04-28 116356835+AbdeMohlbi@users.noreply.github.com [image_picker] Update documentation of maxDuration to reflect that it only applies to recording (flutter/packages#11417) 2026-04-28 suojae3@gmail.com [vector_graphics] add imageBuilder property to VectorGraphic (flutter/packages#11094) 2026-04-28 engine-flutter-autoroll@skia.org Roll Flutter from 61fca76 to 81bc3d6 (1 revision) (flutter/packages#11597) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…hed 6.7.0 Removes the local platform interface override now that video_player_platform_interface 6.7.0 has been published (PR flutter#11474). https://claude.ai/code/session_0158xcGQ1jV6BsCz7sLcRkPx
…ublished 6.7.0 Removes the local platform interface override now that video_player_platform_interface 6.7.0 has been published (PR flutter#11474). https://claude.ai/code/session_0158xcGQ1jV6BsCz7sLcRkPx
…ublished 6.7.0 Removes the local platform interface override now that video_player_platform_interface 6.7.0 has been published (PR flutter#11474). https://claude.ai/code/session_0158xcGQ1jV6BsCz7sLcRkPx
…hed 6.7.0 Removes the local platform interface override now that video_player_platform_interface 6.7.0 has been published (PR flutter#11474). https://claude.ai/code/session_0158xcGQ1jV6BsCz7sLcRkPx
…lutter#11474) ## Summary Platform interface breakout PR for flutter#10688. - Adds `VideoTrack` class with metadata fields: `trackId`, `size` (width/height), and `bitrate` - Adds `getVideoTracks()` method to retrieve available video quality variants - Adds `selectVideoTrack()` method to switch between quality tracks - Adds `isVideoTrackSupportAvailable()` method to check platform support ## Dependency Chain This PR is **first** in a series of breakout PRs: 1. `video_player_platform_interface` (this PR) 2. `video_player_android` (pending) 3. `video_player_avfoundation` (pending) 4. `video_player` + `video_player_web` (pending - original PR flutter#10688 updated) ## Test Plan
## Summary AVFoundation breakout PR for #10688. - Implements `getVideoTracks()` and `selectVideoTrack()` methods using AVFoundation - Video track selection requires iOS 15+ / macOS 12+ for HLS streams - Adds comprehensive Swift and Dart unit tests ## Dependency Chain This PR is **third** in a series of breakout PRs: 1. `video_player_platform_interface` (#11474) - pending 2. `video_player_android` (#11475) - pending 3. `video_player_avfoundation` (this PR) 4. `video_player` + `video_player_web` (pending - original PR #10688 updated) **Note:** This PR depends on `video_player_platform_interface` 6.7.0 being published first. ## Test Plan
## Summary Android breakout PR for #10688. - Implements `getVideoTracks()` and `selectVideoTrack()` methods using ExoPlayer's `TrackSelectionOverride` - Adds `onVideoTrackChanged` event callback for track change notifications - Adds comprehensive Java and Dart unit tests ## Dependency Chain This PR is **second** in a series of breakout PRs: 1. `video_player_platform_interface` (#11474) - pending 2. `video_player_android` (this PR) 3. `video_player_avfoundation` (pending) 4. `video_player` + `video_player_web` (pending - original PR #10688 updated) **Note:** This PR depends on `video_player_platform_interface` 6.7.0 being published first. ## Test Plan
Summary
Platform interface breakout PR for #10688.
VideoTrackclass with metadata fields:trackId,size(width/height), andbitrategetVideoTracks()method to retrieve available video quality variantsselectVideoTrack()method to switch between quality tracksisVideoTrackSupportAvailable()method to check platform supportDependency Chain
This PR is first in a series of breakout PRs:
video_player_platform_interface(this PR)video_player_android(pending)video_player_avfoundation(pending)video_player+video_player_web(pending - original PR [video_player] : Add video track selection support for Android and iOS #10688 updated)Test Plan
VideoTrackclass (constructor, equality, hashCode, toString)