Skip to content

Comments

[camera] Adds support for video stabilization#11044

Closed
ruicraveiro wants to merge 1 commit intoflutter:mainfrom
ruicraveiro:camera_video_stabilization
Closed

[camera] Adds support for video stabilization#11044
ruicraveiro wants to merge 1 commit intoflutter:mainfrom
ruicraveiro:camera_video_stabilization

Conversation

@ruicraveiro
Copy link
Contributor

Implements getSupportedVideoStabilizationModes() and setVideoStabilizationMode() methods in CameraController.

Address issue flutter/flutter#89525.
It is the camera sub-PR for #7108.

Pre-Review Checklist

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-assist bot 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

  1. 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

Copy link

@gemini-code-assist gemini-code-assist bot left a 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 support for video stabilization by adding getSupportedVideoStabilizationModes() and setVideoStabilizationMode() to the CameraController. The implementation includes updating CameraValue to store the current stabilization mode and providing comprehensive unit tests for the new functionality. The changes are well-structured and thoroughly tested. I have a couple of minor suggestions for improvement.

@ruicraveiro ruicraveiro force-pushed the camera_video_stabilization branch 9 times, most recently from f57eb79 to 15bc49d Compare February 23, 2026 19:24
- Implements getSupportedVideoStabilizationModes() and
  setVideoStabilizationMode() methods in CameraController.
@ruicraveiro ruicraveiro force-pushed the camera_video_stabilization branch from 15bc49d to c42ec72 Compare February 24, 2026 08:42
@stuartmorgan-g
Copy link
Collaborator

@ruicraveiro Is this just the remainder of #7108 ? If so, you can just resolve the main PR to only include this part, and we can use that existing PR for the last package rather than having a new PR with new reviews.

@ruicraveiro
Copy link
Contributor Author

@ruicraveiro Is this just the remainder of #7108 ? If so, you can just resolve the main PR to only include this part, and we can use that existing PR for the last package rather than having a new PR with new reviews.

Ah!!! It is! :-) OK, I will do that as soon as I'm able to.

@ruicraveiro
Copy link
Contributor Author

ruicraveiro commented Feb 24, 2026

BTW, maybe I can just force push the branch to that issue PR, can't I?

@stuartmorgan-g
Copy link
Collaborator

That should work (although it will mean we won't be able to easily see that the app-facing package code hasn't changed since the last review if you force-push, due to how GitHub differential reviews work).

@ruicraveiro
Copy link
Contributor Author

ruicraveiro commented Feb 24, 2026

OK, to make your life easier, I have just rebased the 2 commits originally in PR 7108 on top of main and I'm adding a 3rd commit with what changed in the meantime. The only meaningful changes that I made were:

I had the comment in this field incomplete:

-  /// The video stabilization mode in
+  /// The current video stabilization mode.
   final VideoStabilizationMode videoStabilizationMode;

This message was still referring to the old name of the method before we refactored it:

-    _throwIfNotInitialized('isVideoStabilizationModeSupported');
+    _throwIfNotInitialized('getSupportedVideoStabilizationModes');

Everything else is a result of dart format (edit: and dart analyze) behaving differently between then and now.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants