Skip to content

Comments

[camera_android_camerax] Adds support for video stabilization#11020

Merged
auto-submit[bot] merged 1 commit intoflutter:mainfrom
ruicraveiro:camera_android_video_stabilization
Feb 17, 2026
Merged

[camera_android_camerax] Adds support for video stabilization#11020
auto-submit[bot] merged 1 commit intoflutter:mainfrom
ruicraveiro:camera_android_video_stabilization

Conversation

@ruicraveiro
Copy link
Contributor

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

Address issue flutter/flutter#89525.
It is the camera_android_camerax 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 adds support for video stabilization to the camera_android_camerax plugin. It introduces getSupportedVideoStabilizationModes() and setVideoStabilizationMode() methods. The implementation leverages CameraX's CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES and CONTROL_VIDEO_STABILIZATION_MODE characteristics. The supported modes are currently mapped to off and level1 (for ON). The changes include updates to Pigeon definitions, native Java/Kotlin code, Dart implementation, and tests to verify the new functionality.

@ruicraveiro ruicraveiro force-pushed the camera_android_video_stabilization branch 2 times, most recently from 2acd59c to 86b3804 Compare February 14, 2026 12:01
Copy link
Contributor

@camsim99 camsim99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM just two nits!

@camsim99 camsim99 requested a review from a team February 17, 2026 18:56
@camsim99 camsim99 added the triage-android Should be looked at in Android triage label Feb 17, 2026
@ruicraveiro ruicraveiro force-pushed the camera_android_video_stabilization branch from 86b3804 to 4929f83 Compare February 17, 2026 19:12
- Implements getSupportedVideoStabilizationModes() and
  setVideoStabilizationMode() methods in AndroidCameraCameraX.
@ruicraveiro ruicraveiro force-pushed the camera_android_video_stabilization branch from 4929f83 to 81faa7a Compare February 17, 2026 19:23
@reidbaker reidbaker added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 17, 2026
@auto-submit auto-submit bot merged commit 86c0cea into flutter:main Feb 17, 2026
80 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 18, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 18, 2026
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Feb 18, 2026
flutter/packages@f83926f...59f905c

2026-02-18 52160996+FMorschel@users.noreply.github.com
[camera][google_fonts] Fixes future warning for `await`ing `Future`
returns in `async` bodies inside `try` blocks (flutter/packages#11009)
2026-02-18 robert.odrowaz@leancode.pl [camera_avfoundation] Pigeon swift
migration - part 2 (flutter/packages#10980)
2026-02-17 8490712+ruicraveiro@users.noreply.github.com
[camera_android_camerax] Adds support for video stabilization
(flutter/packages#11020)
2026-02-17 nateshmbhat1@gmail.com [video_player] Adds audio track
metadata fetching and audio track selection feature
(flutter/packages#9925)
2026-02-17 stuartmorgan@google.com [video_player] Update Android to
exoplayer 1.9.1 (flutter/packages#10904)
2026-02-17 joonas.kerttula@codemate.com [google_maps_flutter_android]
Add advanced markers support (flutter/packages#10381)
2026-02-17 stuartmorgan@google.com [google_maps_flutter] Standardize iOS
class and file names (flutter/packages#10964)
2026-02-17 stuartmorgan@google.com [google_sign_in] Simply Kotlin/Java
interop utils (flutter/packages#11011)
2026-02-17 engine-flutter-autoroll@skia.org Roll Flutter from
9bda20a to 6e4a481 (103 revisions) (flutter/packages#11041)
2026-02-17 stuartmorgan@google.com [ci] Update repo for 3.41
(flutter/packages#11017)

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
rickhohler pushed a commit to rickhohler/flutter that referenced this pull request Feb 19, 2026
…er#182547)

flutter/packages@f83926f...59f905c

2026-02-18 52160996+FMorschel@users.noreply.github.com
[camera][google_fonts] Fixes future warning for `await`ing `Future`
returns in `async` bodies inside `try` blocks (flutter/packages#11009)
2026-02-18 robert.odrowaz@leancode.pl [camera_avfoundation] Pigeon swift
migration - part 2 (flutter/packages#10980)
2026-02-17 8490712+ruicraveiro@users.noreply.github.com
[camera_android_camerax] Adds support for video stabilization
(flutter/packages#11020)
2026-02-17 nateshmbhat1@gmail.com [video_player] Adds audio track
metadata fetching and audio track selection feature
(flutter/packages#9925)
2026-02-17 stuartmorgan@google.com [video_player] Update Android to
exoplayer 1.9.1 (flutter/packages#10904)
2026-02-17 joonas.kerttula@codemate.com [google_maps_flutter_android]
Add advanced markers support (flutter/packages#10381)
2026-02-17 stuartmorgan@google.com [google_maps_flutter] Standardize iOS
class and file names (flutter/packages#10964)
2026-02-17 stuartmorgan@google.com [google_sign_in] Simply Kotlin/Java
interop utils (flutter/packages#11011)
2026-02-17 engine-flutter-autoroll@skia.org Roll Flutter from
9bda20a to 6e4a481 (103 revisions) (flutter/packages#11041)
2026-02-17 stuartmorgan@google.com [ci] Update repo for 3.41
(flutter/packages#11017)

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App p: camera platform-android triage-android Should be looked at in Android triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants