packages icon indicating copy to clipboard operation
packages copied to clipboard

feat(android): add audio track selection for ExoPlayer

Open nateshmbhat opened this issue 2 months ago • 8 comments

  • Implemented getAudioTracks() and selectAudioTrack() methods for Android video player

Android PR for : #9925

Pre-Review Checklist

  • [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • [x] I read the [Tree Hygiene] page, which explains my responsibilities.
  • [x] I read and followed the [relevant style guides] and ran [the auto-formatter].
  • [x] I signed the [CLA].
  • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • [x] I [linked to at least one issue that this PR fixes] in the description above.
  • [x] 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].
  • [x] 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].
  • [x] I updated/added any relevant documentation (doc comments with ///).
  • [x] 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].
  • [x] All existing and new tests are passing.

nateshmbhat avatar Oct 28 '25 15:10 nateshmbhat

as we don't wanna do breaking changes to the platform interface @ash2moon have moved the trackindex/groupindex handling logic parsing/encoding logic to the dart side. Please check pr

nateshmbhat avatar Nov 07 '25 16:11 nateshmbhat

@camsim99 can you please review this PR ?

nateshmbhat avatar Nov 14 '25 15:11 nateshmbhat

as we don't wanna do breaking changes to the platform interface @ash2moon have moved the trackindex/groupindex handling logic parsing/encoding logic to the dart side. Please check pr

Also to follow up on this: Is there a reason we don't just send the track index and group index over separately versus as a group_track concatenated String format as ash2moon mentioned?

camsim99 avatar Nov 17 '25 22:11 camsim99

as we don't wanna do breaking changes to the platform interface @ash2moon have moved the trackindex/groupindex handling logic parsing/encoding logic to the dart side. Please check pr

Also to follow up on this: Is there a reason we don't just send the track index and group index over separately versus as a group_track concatenated String format as ash2moon mentioned?

initially the idea was to have a single track id which makes it more easy to manage for the developer using the library. also on ios there's no group index. so it was done in that way.

nateshmbhat avatar Nov 19 '25 14:11 nateshmbhat

@camsim99 just checking in 😄 Did you get a chance to review the changes ?

nateshmbhat avatar Nov 24 '25 05:11 nateshmbhat

@camsim99 here's the thread regarding handling of track change completion : https://github.com/flutter/packages/pull/9925#discussion_r2466556034

Updated the PR as per your review comments.

nateshmbhat avatar Nov 26 '25 15:11 nateshmbhat

Done! I've:

  1. ✅ Ran the Dart formatter
  2. ✅ Bumped the version in pubspec.yaml to 2.9.0

Regarding the lint baseline - the updateLintBaseline task ran successfully but reported "No baseline file is specified". The current build.gradle uses the deprecated lintOptions block without a baseline file configured. have added a baseline = file("lint-baseline.xml") to the lint configuration first.

@camsim99 can you please check ?

nateshmbhat avatar Dec 04 '25 15:12 nateshmbhat

@camsim99 done ✅

All Checks are Passing now ✅ 🏁 ✅

nateshmbhat avatar Dec 09 '25 15:12 nateshmbhat