-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[camera_avfoundation] Wrappers swift migration - part 3 #10293
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
[camera_avfoundation] Wrappers swift migration - part 3 #10293
Conversation
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 migrates FLTCaptureDevice, FLTCaptureSession, and FLTFormatUtils classes to Swift, removing the FLT prefixes and replacing Default class implementations with protocol conformance on base AV classes. The changes include modifications to the example project and the core implementation, updating tests and adapting to the new Swift conventions. The review focuses on ensuring correctness, maintainability, and adherence to the project's coding standards.
packages/camera/camera_avfoundation/example/ios/RunnerTests/CameraSessionPresetsTests.swift
Outdated
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/CameraSessionPresetsTests.swift
Outdated
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/CameraSettingsTests.swift
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/CameraSettingsTests.swift
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/CameraSettingsTests.swift
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/SampleBufferTests.swift
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/SampleBufferTests.swift
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/SampleBufferTests.swift
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/SampleBufferTests.swift
Show resolved
Hide resolved
.../camera_avfoundation/ios/camera_avfoundation/Sources/camera_avfoundation/DefaultCamera.swift
Show resolved
Hide resolved
|
Hi, could you sweep through gemini's comment first? |
|
@hellohuanlin done, there was nothing meaningful there, a bunch of comments regarding argument names in mocks and some streight up invalid suggestions |
49ed2ce to
b67ac9d
Compare
|
@hellohuanlin pls take a look at this PR again when you have some time |
hellohuanlin
left a comment
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.
Overall looks good
packages/camera/camera_avfoundation/example/ios/RunnerTests/CameraSettingsTests.swift
Outdated
Show resolved
Hide resolved
packages/camera/camera_avfoundation/example/ios/RunnerTests/Mocks/MockCaptureDevice.swift
Outdated
Show resolved
Hide resolved
...ra/camera_avfoundation/ios/camera_avfoundation/Sources/camera_avfoundation/FormatUtils.swift
Outdated
Show resolved
Hide resolved
...ra/camera_avfoundation/ios/camera_avfoundation/Sources/camera_avfoundation/FormatUtils.swift
Outdated
Show resolved
Hide resolved
ec7e9da to
4bbc6a5
Compare
hellohuanlin
left a comment
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.
LGTM with 1 nit.
4bbc6a5 to
76d9818
Compare
flutter/packages@799b62c...ce44ebb 2025-11-17 [email protected] Kgp bulk update (flutter/packages#10412) 2025-11-16 [email protected] [camera_avfoundation] Wrappers swift migration - part 3 (flutter/packages#10293) 2025-11-15 [email protected] [ci] Update Flutter version for `release` (flutter/packages#10425) 2025-11-15 [email protected] Manual roll Flutter from c3f2704 to 9b5ad80 (2 revisions) (flutter/packages#10435) 2025-11-14 [email protected] Manual roll Flutter from ee23168 to c3f2704 (5 revisions) (flutter/packages#10433) 2025-11-14 [email protected] [ci] Remove mustache_template from allowed external deps (flutter/packages#10427) 2025-11-14 [email protected] [animations] Clarify that onClosed is called before transition (flutter/packages#10400) 2025-11-14 [email protected] [web_benchmarks] Report correct expected metrics for wasm (flutter/packages#10236) 2025-11-13 [email protected] [google_maps_flutter] Set properties before adding maps objects (flutter/packages#10347) 2025-11-13 [email protected] Roll Flutter (stable) from a0e9b9d to b45fa18 (3 revisions) (flutter/packages#10420) 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 [email protected] 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
…er#178649) flutter/packages@799b62c...ce44ebb 2025-11-17 [email protected] Kgp bulk update (flutter/packages#10412) 2025-11-16 [email protected] [camera_avfoundation] Wrappers swift migration - part 3 (flutter/packages#10293) 2025-11-15 [email protected] [ci] Update Flutter version for `release` (flutter/packages#10425) 2025-11-15 [email protected] Manual roll Flutter from c3f2704 to 9b5ad80 (2 revisions) (flutter/packages#10435) 2025-11-14 [email protected] Manual roll Flutter from ee23168 to c3f2704 (5 revisions) (flutter/packages#10433) 2025-11-14 [email protected] [ci] Remove mustache_template from allowed external deps (flutter/packages#10427) 2025-11-14 [email protected] [animations] Clarify that onClosed is called before transition (flutter/packages#10400) 2025-11-14 [email protected] [web_benchmarks] Report correct expected metrics for wasm (flutter/packages#10236) 2025-11-13 [email protected] [google_maps_flutter] Set properties before adding maps objects (flutter/packages#10347) 2025-11-13 [email protected] Roll Flutter (stable) from a0e9b9d to b45fa18 (3 revisions) (flutter/packages#10420) 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 [email protected] 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
Migrates camera wrappers as part of flutter/flutter#119109
This PR migrates wrappers to Swift:
FLTCaptureDeviceFLTCaptureSessionFLTFormatUtilsIn line with Swift conventions, the
FLTprefixes are removed. TheDefaultclass implementations are replaced with protocol conformance on baseAVclasses.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 under1.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 under1.///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2 ↩3