-
Notifications
You must be signed in to change notification settings - Fork 3.5k
feat(video): add audio track selection support for AVFoundation #10313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat(video): add audio track selection support for AVFoundation #10313
Conversation
- Implemented getAudioTracks() method to retrieve available audio tracks from both HLS streams and regular video files - Added comprehensive test suite for audio track detection and selection functionality - Lowered minimum deployment target from iOS 13/macOS 10.15 to iOS 12/macOS 10.14 - Updated version to 2.9.0 and adjusted minimum Flutter SDK version to 3.29/Dart 3.7 The commit adds new functionality for managing audio tracks in the
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces audio track selection support for AVFoundation, enabling users to retrieve and select audio tracks from both HLS streams and regular video files. The changes include modifications to the CHANGELOG, platform-specific code (ObjC, Swift), example app, and test files. The minimum supported SDK versions have been updated, and new methods (getAudioTracks(), selectAudioTrack()) have been implemented. The code adheres to the repository's style guide, focusing on objective summaries and using code as the source of truth.
|
|
||
| * Updates minimum supported version to iOS 13 and macOS 10.15. | ||
| * Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. | ||
| * Implements `getAudioTracks()` and `selectAudioTrack()` methods. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| s.ios.deployment_target = '12.0' | ||
| s.osx.deployment_target = '10.14' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| .iOS("12.0"), | ||
| .macOS("10.14"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| // Skip nil options | ||
| if (!option || [option isKindOfClass:[NSNull class]]) { | ||
| continue; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| } | ||
| // For asset tracks, we don't have a direct way to select them in AVFoundation | ||
| // This would require more complex track selection logic that's not commonly used |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| </array> | ||
| <key>MinimumOSVersion</key> | ||
| <string>13.0</string> | ||
| <string>12.0</string> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| GCC_WARN_UNUSED_FUNCTION = YES; | ||
| GCC_WARN_UNUSED_VARIABLE = YES; | ||
| IPHONEOS_DEPLOYMENT_TARGET = 13.0; | ||
| IPHONEOS_DEPLOYMENT_TARGET = 12.0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| @@ -1,4 +1,4 @@ | |||
| platform :osx, '10.15' | |||
| platform :osx, '10.14' | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| GCC_WARN_UNUSED_FUNCTION = YES; | ||
| GCC_WARN_UNUSED_VARIABLE = YES; | ||
| MACOSX_DEPLOYMENT_TARGET = 10.15; | ||
| MACOSX_DEPLOYMENT_TARGET = 10.14; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| assets: | ||
| - assets/flutter-mark-square-64.png | ||
| - assets/Butterfly-209.mp4 | ||
| # FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per the repository style guide, the review agent should not comment about dependency_overrides sections in pubspec.yaml files that have a comment starting with: "FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE." 1
Style Guide References
Footnotes
- Increased minimum iOS deployment target from 12.0 to 13.0 across all configuration files - Updated minimum macOS deployment target from 10.14 to 10.15 in podspec, Package.swift, and Xcode project settings - Updated minimum supported SDK version requirements to Flutter 3.35/Dart 3.9 - Updated CHANGELOG.md to document version changes and new minimum requirements - Modified example app configuration files to align with new platform requirements
AVFoundation Platform PR for : #9925
Pre-Review Checklist
[shared_preferences]pubspec.yamlwith 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].CHANGELOG.mdto 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].///).