Skip to content
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_android_camerax] Camera switching not working correctly #164963

Open
waslost0 opened this issue Mar 11, 2025 · 5 comments · May be fixed by flutter/packages#9005
Open

[camera_android_camerax] Camera switching not working correctly #164963

waslost0 opened this issue Mar 11, 2025 · 5 comments · May be fixed by flutter/packages#9005
Assignees
Labels
found in release: 3.29 Found to occur in 3.29 found in release: 3.30 Found to occur in 3.30 has reproducible steps The issue has been confirmed reproducible and is ready to work on p: camera The camera plugin P1 High-priority issues at the top of the work list package flutter/packages repository. See also p: labels. platform-android Android applications specifically team-android Owned by Android platform team triaged-android Triaged by Android platform team

Comments

@waslost0
Copy link

What package does this bug report belong to?

camera

What target platforms are you seeing this bug on?

Android

Have you already upgraded your packages?

Yes

Dependency versions

pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  _fe_analyzer_shared:
    dependency: transitive
    description:
      name: _fe_analyzer_shared
      sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57
      url: "https://pub.dev"
    source: hosted
    version: "80.0.0"
  analyzer:
    dependency: transitive
    description:
      name: analyzer
      sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e"
      url: "https://pub.dev"
    source: hosted
    version: "7.3.0"
  args:
    dependency: transitive
    description:
      name: args
      sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
      url: "https://pub.dev"
    source: hosted
    version: "2.6.0"
  async:
    dependency: transitive
    description:
      name: async
      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
      url: "https://pub.dev"
    source: hosted
    version: "2.11.0"
  boolean_selector:
    dependency: transitive
    description:
      name: boolean_selector
      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  build:
    dependency: transitive
    description:
      name: build
      sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0
      url: "https://pub.dev"
    source: hosted
    version: "2.4.2"
  build_config:
    dependency: transitive
    description:
      name: build_config
      sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.2"
  build_daemon:
    dependency: transitive
    description:
      name: build_daemon
      sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.4"
  build_resolvers:
    dependency: transitive
    description:
      name: build_resolvers
      sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0
      url: "https://pub.dev"
    source: hosted
    version: "2.4.4"
  build_runner:
    dependency: "direct dev"
    description:
      name: build_runner
      sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.15"
  build_runner_core:
    dependency: transitive
    description:
      name: build_runner_core
      sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021"
      url: "https://pub.dev"
    source: hosted
    version: "8.0.0"
  built_collection:
    dependency: transitive
    description:
      name: built_collection
      sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
      url: "https://pub.dev"
    source: hosted
    version: "5.1.1"
  built_value:
    dependency: transitive
    description:
      name: built_value
      sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4
      url: "https://pub.dev"
    source: hosted
    version: "8.9.5"
  camera:
    dependency: "direct main"
    description:
      path: ".."
      relative: true
    source: path
    version: "0.11.1"
  camera_android_camerax:
    dependency: transitive
    description:
      name: camera_android_camerax
      sha256: "13784f539c7f104766bff84e4479a70f03b29d78b208278be45c939250d9d7f5"
      url: "https://pub.dev"
    source: hosted
    version: "0.6.14+1"
  camera_avfoundation:
    dependency: transitive
    description:
      name: camera_avfoundation
      sha256: "3057ada0b30402e3a9b6dffec365c9736a36edbf04abaecc67c4309eadc86b49"
      url: "https://pub.dev"
    source: hosted
    version: "0.9.18+9"
  camera_platform_interface:
    dependency: transitive
    description:
      name: camera_platform_interface
      sha256: "953e7baed3a7c8fae92f7200afeb2be503ff1a17c3b4e4ed7b76f008c2810a31"
      url: "https://pub.dev"
    source: hosted
    version: "2.9.0"
  camera_web:
    dependency: transitive
    description:
      name: camera_web
      sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f"
      url: "https://pub.dev"
    source: hosted
    version: "0.3.5"
  characters:
    dependency: transitive
    description:
      name: characters
      sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  checked_yaml:
    dependency: transitive
    description:
      name: checked_yaml
      sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
      url: "https://pub.dev"
    source: hosted
    version: "2.0.3"
  clock:
    dependency: transitive
    description:
      name: clock
      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  code_builder:
    dependency: transitive
    description:
      name: code_builder
      sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e"
      url: "https://pub.dev"
    source: hosted
    version: "4.10.1"
  collection:
    dependency: transitive
    description:
      name: collection
      sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
      url: "https://pub.dev"
    source: hosted
    version: "1.19.0"
  convert:
    dependency: transitive
    description:
      name: convert
      sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
      url: "https://pub.dev"
    source: hosted
    version: "3.1.2"
  cross_file:
    dependency: transitive
    description:
      name: cross_file
      sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
      url: "https://pub.dev"
    source: hosted
    version: "0.3.4+2"
  crypto:
    dependency: transitive
    description:
      name: crypto
      sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.6"
  csslib:
    dependency: transitive
    description:
      name: csslib
      sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.2"
  dart_style:
    dependency: transitive
    description:
      name: dart_style
      sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.1"
  fake_async:
    dependency: transitive
    description:
      name: fake_async
      sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.1"
  ffi:
    dependency: transitive
    description:
      name: ffi
      sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.3"
  file:
    dependency: transitive
    description:
      name: file
      sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
      url: "https://pub.dev"
    source: hosted
    version: "7.0.0"
  fixnum:
    dependency: transitive
    description:
      name: fixnum
      sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  flutter:
    dependency: "direct main"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_driver:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_plugin_android_lifecycle:
    dependency: transitive
    description:
      name: flutter_plugin_android_lifecycle
      sha256: "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.27"
  flutter_test:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_web_plugins:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  frontend_server_client:
    dependency: transitive
    description:
      name: frontend_server_client
      sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
      url: "https://pub.dev"
    source: hosted
    version: "4.0.0"
  fuchsia_remote_debug_protocol:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  glob:
    dependency: transitive
    description:
      name: glob
      sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
      url: "https://pub.dev"
    source: hosted
    version: "2.1.3"
  graphs:
    dependency: transitive
    description:
      name: graphs
      sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.2"
  html:
    dependency: transitive
    description:
      name: html
      sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
      url: "https://pub.dev"
    source: hosted
    version: "0.15.5"
  http:
    dependency: transitive
    description:
      name: http
      sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  http_multi_server:
    dependency: transitive
    description:
      name: http_multi_server
      sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
      url: "https://pub.dev"
    source: hosted
    version: "3.2.2"
  http_parser:
    dependency: transitive
    description:
      name: http_parser
      sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
      url: "https://pub.dev"
    source: hosted
    version: "4.1.2"
  integration_test:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  io:
    dependency: transitive
    description:
      name: io
      sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
      url: "https://pub.dev"
    source: hosted
    version: "1.0.5"
  js:
    dependency: transitive
    description:
      name: js
      sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
      url: "https://pub.dev"
    source: hosted
    version: "0.7.1"
  json_annotation:
    dependency: transitive
    description:
      name: json_annotation
      sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
      url: "https://pub.dev"
    source: hosted
    version: "4.9.0"
  leak_tracker:
    dependency: transitive
    description:
      name: leak_tracker
      sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
      url: "https://pub.dev"
    source: hosted
    version: "10.0.7"
  leak_tracker_flutter_testing:
    dependency: "direct dev"
    description:
      name: leak_tracker_flutter_testing
      sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.8"
  leak_tracker_testing:
    dependency: transitive
    description:
      name: leak_tracker_testing
      sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.1"
  logging:
    dependency: transitive
    description:
      name: logging
      sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  matcher:
    dependency: transitive
    description:
      name: matcher
      sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
      url: "https://pub.dev"
    source: hosted
    version: "0.12.16+1"
  material_color_utilities:
    dependency: transitive
    description:
      name: material_color_utilities
      sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
      url: "https://pub.dev"
    source: hosted
    version: "0.11.1"
  meta:
    dependency: transitive
    description:
      name: meta
      sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
      url: "https://pub.dev"
    source: hosted
    version: "1.15.0"
  mime:
    dependency: transitive
    description:
      name: mime
      sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.0"
  package_config:
    dependency: transitive
    description:
      name: package_config
      sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  path:
    dependency: transitive
    description:
      name: path
      sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
      url: "https://pub.dev"
    source: hosted
    version: "1.9.0"
  path_provider:
    dependency: "direct main"
    description:
      name: path_provider
      sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.5"
  path_provider_android:
    dependency: transitive
    description:
      name: path_provider_android
      sha256: "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12"
      url: "https://pub.dev"
    source: hosted
    version: "2.2.16"
  path_provider_foundation:
    dependency: transitive
    description:
      name: path_provider_foundation
      sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  path_provider_linux:
    dependency: transitive
    description:
      name: path_provider_linux
      sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
      url: "https://pub.dev"
    source: hosted
    version: "2.2.1"
  path_provider_platform_interface:
    dependency: transitive
    description:
      name: path_provider_platform_interface
      sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  path_provider_windows:
    dependency: transitive
    description:
      name: path_provider_windows
      sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
      url: "https://pub.dev"
    source: hosted
    version: "2.3.0"
  platform:
    dependency: transitive
    description:
      name: platform
      sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.5"
  plugin_platform_interface:
    dependency: transitive
    description:
      name: plugin_platform_interface
      sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.8"
  pool:
    dependency: transitive
    description:
      name: pool
      sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.1"
  process:
    dependency: transitive
    description:
      name: process
      sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32"
      url: "https://pub.dev"
    source: hosted
    version: "5.0.2"
  pub_semver:
    dependency: transitive
    description:
      name: pub_semver
      sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
      url: "https://pub.dev"
    source: hosted
    version: "2.2.0"
  pubspec_parse:
    dependency: transitive
    description:
      name: pubspec_parse
      sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.0"
  shelf:
    dependency: transitive
    description:
      name: shelf
      sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
      url: "https://pub.dev"
    source: hosted
    version: "1.4.2"
  shelf_web_socket:
    dependency: transitive
    description:
      name: shelf_web_socket
      sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.0"
  sky_engine:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  source_span:
    dependency: transitive
    description:
      name: source_span
      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
      url: "https://pub.dev"
    source: hosted
    version: "1.10.0"
  stack_trace:
    dependency: transitive
    description:
      name: stack_trace
      sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
      url: "https://pub.dev"
    source: hosted
    version: "1.12.0"
  stream_channel:
    dependency: transitive
    description:
      name: stream_channel
      sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  stream_transform:
    dependency: transitive
    description:
      name: stream_transform
      sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  string_scanner:
    dependency: transitive
    description:
      name: string_scanner
      sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  sync_http:
    dependency: transitive
    description:
      name: sync_http
      sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961"
      url: "https://pub.dev"
    source: hosted
    version: "0.3.1"
  term_glyph:
    dependency: transitive
    description:
      name: term_glyph
      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
      url: "https://pub.dev"
    source: hosted
    version: "1.2.1"
  test_api:
    dependency: transitive
    description:
      name: test_api
      sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
      url: "https://pub.dev"
    source: hosted
    version: "0.7.3"
  timing:
    dependency: transitive
    description:
      name: timing
      sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.2"
  typed_data:
    dependency: transitive
    description:
      name: typed_data
      sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
      url: "https://pub.dev"
    source: hosted
    version: "1.4.0"
  vector_math:
    dependency: transitive
    description:
      name: vector_math
      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  video_player:
    dependency: "direct main"
    description:
      name: video_player
      sha256: "48941c8b05732f9582116b1c01850b74dbee1d8520cd7e34ad4609d6df666845"
      url: "https://pub.dev"
    source: hosted
    version: "2.9.3"
  video_player_android:
    dependency: transitive
    description:
      name: video_player_android
      sha256: d949a83d1a333178eb3a9683f70afa41b7771c2bfa4cedd894fe836942de06b1
      url: "https://pub.dev"
    source: hosted
    version: "2.8.1"
  video_player_avfoundation:
    dependency: transitive
    description:
      name: video_player_avfoundation
      sha256: "84b4752745eeccb6e75865c9aab39b3d28eb27ba5726d352d45db8297fbd75bc"
      url: "https://pub.dev"
    source: hosted
    version: "2.7.0"
  video_player_platform_interface:
    dependency: transitive
    description:
      name: video_player_platform_interface
      sha256: df534476c341ab2c6a835078066fc681b8265048addd853a1e3c78740316a844
      url: "https://pub.dev"
    source: hosted
    version: "6.3.0"
  video_player_web:
    dependency: transitive
    description:
      name: video_player_web
      sha256: "3ef40ea6d72434edbfdba4624b90fd3a80a0740d260667d91e7ecd2d79e13476"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.4"
  vm_service:
    dependency: transitive
    description:
      name: vm_service
      sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
      url: "https://pub.dev"
    source: hosted
    version: "14.3.0"
  watcher:
    dependency: transitive
    description:
      name: watcher
      sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  web:
    dependency: transitive
    description:
      name: web
      sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  web_socket:
    dependency: transitive
    description:
      name: web_socket
      sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83"
      url: "https://pub.dev"
    source: hosted
    version: "0.1.6"
  web_socket_channel:
    dependency: transitive
    description:
      name: web_socket_channel
      sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.2"
  webdriver:
    dependency: transitive
    description:
      name: webdriver
      sha256: "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.4"
  xdg_directories:
    dependency: transitive
    description:
      name: xdg_directories
      sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  yaml:
    dependency: transitive
    description:
      name: yaml
      sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
      url: "https://pub.dev"
    source: hosted
    version: "3.1.3"
sdks:
  dart: ">=3.6.0 <4.0.0"
  flutter: ">=3.27.0"

Steps to reproduce

Tested on Samsung A55

  1. Run example app
  2. Try to switch between back cameras

Expected results

Cameras switching correctly

Actual results

Cameras not switching, always first

Code sample

Official example app

https://github.com/flutter/packages/tree/main/packages/camera/camera/example

Screenshots or Videos

Screenshots / Video demonstration
Expected Actual result
video_2025-03-11_11-32-12.mp4
video_2025-03-11_11-32-07.mp4

Logs

Logs select camera 2
I/InsetsSourceConsumer( 6445): applyRequestedVisibilityToControl: visible=true, type=statusBars, host=io.flutter.plugins.cameraexample/io.flutter.embedding.android.FlutterActivity
I/ViewRootImpl@2874d57[FlutterActivity]( 6445): ViewPostIme pointer 0
I/ViewRootImpl@2874d57[FlutterActivity]( 6445): ViewPostIme pointer 1
D/DeferrableSurface( 6445): surface closed,  useCount=2 closed=true androidx.camera.core.SurfaceRequest$2@73b5f4f
D/DeferrableSurface( 6445): surface closed,  useCount=0 closed=true androidx.camera.core.processing.SurfaceEdge$SettableSurface@51d46f3
D/DeferrableSurface( 6445): Surface terminated[total_surfaces=3, used_surfaces=3](androidx.camera.core.processing.SurfaceEdge$SettableSurface@51d46f3}
D/DeferrableSurface( 6445): use count-1,  useCount=1 closed=true androidx.camera.core.SurfaceRequest$2@73b5f4f
W/ScreenFlashWrapper( 6445): completePendingScreenFlashClear: none pending!
D/ImageCapture( 6445): clearPipeline
D/DeferrableSurface( 6445): surface closed,  useCount=1 closed=true androidx.camera.core.impl.ImmediateSurface@317dc86
D/DeferrableSurface( 6445): surface closed,  useCount=1 closed=true androidx.camera.core.impl.ImmediateSurface@a437a9d
W/ScreenFlashWrapper( 6445): completePendingScreenFlashClear: none pending!
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use cases [androidx.camera.core.Preview-9de97ec0-7691-4786-ba37-0a7905f8298871334811, androidx.camera.core.ImageCapture-710fc6fb-eb23-4331-9b96-f204c9d7512a235954294, androidx.camera.core.ImageAnalysis-4b226c3a-b3f1-4e02-9475-2e7315fa6ccf155624164] now DETACHED for camera
D/UseCaseAttachState( 6445): All use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Resetting Capture Session
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@d61f404] Session call close()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Releasing session in state OPENED
D/Camera2CameraControlImp( 6445): setActive: isActive = false
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/VideoUsageControl( 6445): resetDirectly: mVideoUsage reset!
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Closing camera.
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Transitioning camera internal state: OPENED --> CLOSING
D/CameraStateRegistry( 6445): Recalculating open cameras:
D/CameraStateRegistry( 6445): Camera                                       State                 
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Camera@b7b722b[id=3]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@e1f10be[id=0]                         CLOSING               
D/CameraStateRegistry( 6445): Camera@9cb64e9[id=2]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@4ba7996[id=1]                         UNKNOWN               
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Open count: 1 (Max allowed: 1)
D/CameraStateMachine( 6445): New public camera state CameraState{type=CLOSING, error=null} from CLOSING and null
D/CameraStateMachine( 6445): Publishing new public camera state CameraState{type=CLOSING, error=null}
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Resetting Capture Session
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Skipping Capture Session state check due to current camera state: CLOSING and previous session status: false
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Releasing session in state CLOSING
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@d61f404] Session call super.close()
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/CaptureSession( 6445): onSessionFinished()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} closing camera
D/DynamicRangeResolver( 6445): Resolved dynamic range for use case androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6 to no compatible HDR dynamic ranges.
D/DynamicRangeResolver( 6445): DynamicRange@92951d6{encoding=UNSPECIFIED, bitDepth=0}
D/DynamicRangeResolver( 6445): ->
D/DynamicRangeResolver( 6445): DynamicRange@f8a61f1{encoding=SDR, bitDepth=8}
D/CameraQuirks( 6445): camera2 CameraQuirks = 
D/CameraQuirks( 6445): camera2 CameraQuirks = 
D/CameraQuirks( 6445): camera2 CameraQuirks = 
D/DeferrableSurface( 6445): Surface created[total_surfaces=4, used_surfaces=3](androidx.camera.core.processing.SurfaceEdge$SettableSurface@f4e42e7}
D/DeferrableSurface( 6445): Surface created[total_surfaces=5, used_surfaces=3](androidx.camera.core.SurfaceRequest$2@1322683}
D/DeferrableSurface( 6445): New surface in use[total_surfaces=5, used_surfaces=4](androidx.camera.core.SurfaceRequest$2@1322683}
D/DeferrableSurface( 6445): use count+1, useCount=1 androidx.camera.core.SurfaceRequest$2@1322683
D/ImageCapture( 6445): createPipeline(cameraId: 0, streamSpec: StreamSpec{resolution=720x480, dynamicRange=DynamicRange@f8a61f1{encoding=SDR, bitDepth=8}, expectedFrameRateRange=[0, 0], implementationOptions=androidx.camera.camera2.impl.Camera2ImplConfig@ad59c2c, zslDisabled=false})
D/DeferrableSurface( 6445): Surface created[total_surfaces=6, used_surfaces=4](androidx.camera.core.impl.ImmediateSurface@89116f5}
D/DeferrableSurface( 6445): Surface created[total_surfaces=7, used_surfaces=4](androidx.camera.core.impl.ImmediateSurface@37e2fb}
D/ImageCapture( 6445): onCameraControlReady
D/Camera2CameraControlImp( 6445): setFlashMode: mFlashMode = 2
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-3](id:192d0000000f,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-3](id:192d0000000f,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-3](id:192d0000000f,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-3](id:192d0000000f,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-3](id:192d0000000f,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client io.flutter.plugins.cameraexample API Level 2 User Id 0
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_PRESENT
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_PRESENT
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_PRESENT
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_PRESENT
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client io.flutter.plugins.cameraexample API Level 2 User Id 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageAnalysis-a04b7ebb-f021-4f85-a7b9-a4cc908729f3240108644 INACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use cases [androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866, androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.ImageAnalysis-a04b7ebb-f021-4f85-a7b9-a4cc908729f3240108644] now ATTACHED
D/Camera2CameraControlImp( 6445): setActive: isActive = true
D/UseCaseAttachState( 6445): All use case: [androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866, androidx.camera.core.ImageAnalysis-a04b7ebb-f021-4f85-a7b9-a4cc908729f3240108644] for camera: 0
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Resetting Capture Session
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Skipping Capture Session state check due to current camera state: CLOSING and previous session status: false
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Releasing session in state CLOSING
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Transitioning camera internal state: CLOSING --> REOPENING
D/CameraStateRegistry( 6445): Recalculating open cameras:
D/CameraStateRegistry( 6445): Camera                                       State                 
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Camera@b7b722b[id=3]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@e1f10be[id=0]                         OPENING               
D/CameraStateRegistry( 6445): Camera@9cb64e9[id=2]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@4ba7996[id=1]                         UNKNOWN               
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Open count: 1 (Max allowed: 1)
D/CameraStateMachine( 6445): New public camera state CameraState{type=OPENING, error=null} from OPENING and null
D/CameraStateMachine( 6445): Publishing new public camera state CameraState{type=OPENING, error=null}
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageAnalysis-a04b7ebb-f021-4f85-a7b9-a4cc908729f3240108644 INACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866] for camera: 0
D/DeferrableSurface( 6445): use count-1,  useCount=0 closed=true androidx.camera.core.SurfaceRequest$2@73b5f4f
D/DeferrableSurface( 6445): Surface no longer in use[total_surfaces=7, used_surfaces=3](androidx.camera.core.SurfaceRequest$2@73b5f4f}
D/DeferrableSurface( 6445): Surface terminated[total_surfaces=6, used_surfaces=3](androidx.camera.core.SurfaceRequest$2@73b5f4f}
D/DeferrableSurface( 6445): use count-1,  useCount=0 closed=true androidx.camera.core.impl.ImmediateSurface@317dc86
D/DeferrableSurface( 6445): Surface no longer in use[total_surfaces=6, used_surfaces=2](androidx.camera.core.impl.ImmediateSurface@317dc86}
D/DeferrableSurface( 6445): Surface terminated[total_surfaces=5, used_surfaces=2](androidx.camera.core.impl.ImmediateSurface@317dc86}
D/DeferrableSurface( 6445): use count-1,  useCount=0 closed=true androidx.camera.core.impl.ImmediateSurface@a437a9d
D/DeferrableSurface( 6445): Surface no longer in use[total_surfaces=5, used_surfaces=1](androidx.camera.core.impl.ImmediateSurface@a437a9d}
D/DeferrableSurface( 6445): Surface terminated[total_surfaces=4, used_surfaces=1](androidx.camera.core.impl.ImmediateSurface@a437a9d}
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} CameraDevice.onClosed()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Attempting to open the camera.
D/CameraStateRegistry( 6445): tryOpenCamera(Camera@e1f10be[id=0]) [Available Cameras: 0, Already Open: true (Previous state: OPENING)] --> SUCCESS
D/CameraStateRegistry( 6445): Recalculating open cameras:
D/CameraStateRegistry( 6445): Camera                                       State                 
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Camera@b7b722b[id=3]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@e1f10be[id=0]                         OPENING               
D/CameraStateRegistry( 6445): Camera@9cb64e9[id=2]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@4ba7996[id=1]                         UNKNOWN               
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Open count: 1 (Max allowed: 1)
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Opening camera.
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Transitioning camera internal state: REOPENING --> OPENING
D/CameraStateMachine( 6445): New public camera state CameraState{type=OPENING, error=null} from OPENING and null
D/UseCaseAttachState( 6445): All use case: [androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866, androidx.camera.core.ImageAnalysis-a04b7ebb-f021-4f85-a7b9-a4cc908729f3240108644] for camera: 0
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPENING for client io.flutter.plugins.cameraexample API Level 2 User Id 0
I/ViewRootImpl@2874d57[FlutterActivity]( 6445): onDisplayChanged oldDisplayState=2 newDisplayState=2
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client io.flutter.plugins.cameraexample API Level 2 User Id 0
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@d61f404] onClosed()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} CameraDevice.onOpened()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Transitioning camera internal state: OPENING --> OPENED
D/CameraStateRegistry( 6445): Recalculating open cameras:
D/CameraStateRegistry( 6445): Camera                                       State                 
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Camera@b7b722b[id=3]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@e1f10be[id=0]                         OPEN                  
D/CameraStateRegistry( 6445): Camera@9cb64e9[id=2]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@4ba7996[id=1]                         UNKNOWN               
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Open count: 1 (Max allowed: 1)
D/CameraStateMachine( 6445): New public camera state CameraState{type=OPEN, error=null} from OPEN and null
D/CameraStateMachine( 6445): Publishing new public camera state CameraState{type=OPEN, error=null}
D/UseCaseAttachState( 6445): All use case: [androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866, androidx.camera.core.ImageAnalysis-a04b7ebb-f021-4f85-a7b9-a4cc908729f3240108644] for camera: 0
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866] for camera: 0
D/SyncCaptureSessionBase( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@65088d] getSurface done with results: [Surface(name=null)/@0x55332e2, Surface(name=null)/@0x74be9b7, Surface(name=null)/@0x7127524]
D/CaptureSession( 6445): Opening capture session.
D/Camera2CaptureRequestBuilder( 6445): template type = 1
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@65088d] start openCaptureSession
D/DeferrableSurface( 6445): use count+1, useCount=2 androidx.camera.core.SurfaceRequest$2@1322683
D/DeferrableSurface( 6445): New surface in use[total_surfaces=4, used_surfaces=2](androidx.camera.core.impl.ImmediateSurface@89116f5}
D/DeferrableSurface( 6445): use count+1, useCount=1 androidx.camera.core.impl.ImmediateSurface@89116f5
D/DeferrableSurface( 6445): New surface in use[total_surfaces=4, used_surfaces=3](androidx.camera.core.impl.ImmediateSurface@37e2fb}
D/DeferrableSurface( 6445): use count+1, useCount=1 androidx.camera.core.impl.ImmediateSurface@37e2fb
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@65088d] Session onConfigured()
D/CaptureSession( 6445): Attempting to send capture request onConfigured
D/CaptureSession( 6445): Issuing request for session.
D/Camera2CaptureRequestBuilder( 6445): createCaptureRequest
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/CaptureSession( 6445): CameraCaptureSession.onConfigured() mState=OPENED
D/CaptureSession( 6445): CameraCaptureSession.onReady() OPENED
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client io.flutter.plugins.cameraexample API Level 2 User Id 0
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
I/ViewRootImpl@2874d57[FlutterActivity]( 6445): onDisplayChanged oldDisplayState=2 newDisplayState=2
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
Logs select camera 1
I/ViewRootImpl@2874d57[FlutterActivity]( 6445): ViewPostIme pointer 0
I/ViewRootImpl@2874d57[FlutterActivity]( 6445): ViewPostIme pointer 1
D/DeferrableSurface( 6445): surface closed,  useCount=2 closed=true androidx.camera.core.SurfaceRequest$2@1322683
D/DeferrableSurface( 6445): surface closed,  useCount=0 closed=true androidx.camera.core.processing.SurfaceEdge$SettableSurface@f4e42e7
D/DeferrableSurface( 6445): Surface terminated[total_surfaces=3, used_surfaces=3](androidx.camera.core.processing.SurfaceEdge$SettableSurface@f4e42e7}
D/DeferrableSurface( 6445): use count-1,  useCount=1 closed=true androidx.camera.core.SurfaceRequest$2@1322683
W/ScreenFlashWrapper( 6445): completePendingScreenFlashClear: none pending!
D/ImageCapture( 6445): clearPipeline
D/DeferrableSurface( 6445): surface closed,  useCount=1 closed=true androidx.camera.core.impl.ImmediateSurface@89116f5
D/DeferrableSurface( 6445): surface closed,  useCount=1 closed=true androidx.camera.core.impl.ImmediateSurface@37e2fb
W/ScreenFlashWrapper( 6445): completePendingScreenFlashClear: none pending!
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use cases [androidx.camera.core.Preview-49fb848b-cbfd-4216-98ad-f7ae040444b6173293866, androidx.camera.core.ImageCapture-cc823e5a-1fb0-4147-bd50-20202bef84c988950262, androidx.camera.core.ImageAnalysis-a04b7ebb-f021-4f85-a7b9-a4cc908729f3240108644] now DETACHED for camera
D/UseCaseAttachState( 6445): All use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Resetting Capture Session
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@65088d] Session call close()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Releasing session in state OPENED
D/Camera2CameraControlImp( 6445): setActive: isActive = false
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/VideoUsageControl( 6445): resetDirectly: mVideoUsage reset!
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Closing camera.
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Transitioning camera internal state: OPENED --> CLOSING
D/CameraStateRegistry( 6445): Recalculating open cameras:
D/CameraStateRegistry( 6445): Camera                                       State                 
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Camera@b7b722b[id=3]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@e1f10be[id=0]                         CLOSING               
D/CameraStateRegistry( 6445): Camera@9cb64e9[id=2]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@4ba7996[id=1]                         UNKNOWN               
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Open count: 1 (Max allowed: 1)
D/CameraStateMachine( 6445): New public camera state CameraState{type=CLOSING, error=null} from CLOSING and null
D/CameraStateMachine( 6445): Publishing new public camera state CameraState{type=CLOSING, error=null}
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Resetting Capture Session
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Skipping Capture Session state check due to current camera state: CLOSING and previous session status: false
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Releasing session in state CLOSING
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@65088d] Session call super.close()
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/CaptureSession( 6445): onSessionFinished()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} closing camera
D/DynamicRangeResolver( 6445): Resolved dynamic range for use case androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea to no compatible HDR dynamic ranges.
D/DynamicRangeResolver( 6445): DynamicRange@92951d6{encoding=UNSPECIFIED, bitDepth=0}
D/DynamicRangeResolver( 6445): ->
D/DynamicRangeResolver( 6445): DynamicRange@f8a61f1{encoding=SDR, bitDepth=8}
D/CameraQuirks( 6445): camera2 CameraQuirks = 
D/CameraQuirks( 6445): camera2 CameraQuirks = 
D/CameraQuirks( 6445): camera2 CameraQuirks = 
D/DeferrableSurface( 6445): Surface created[total_surfaces=4, used_surfaces=3](androidx.camera.core.processing.SurfaceEdge$SettableSurface@b5aefdd}
D/DeferrableSurface( 6445): Surface created[total_surfaces=5, used_surfaces=3](androidx.camera.core.SurfaceRequest$2@99bacd9}
D/DeferrableSurface( 6445): New surface in use[total_surfaces=5, used_surfaces=4](androidx.camera.core.SurfaceRequest$2@99bacd9}
D/DeferrableSurface( 6445): use count+1, useCount=1 androidx.camera.core.SurfaceRequest$2@99bacd9
D/ImageCapture( 6445): createPipeline(cameraId: 0, streamSpec: StreamSpec{resolution=720x480, dynamicRange=DynamicRange@f8a61f1{encoding=SDR, bitDepth=8}, expectedFrameRateRange=[0, 0], implementationOptions=androidx.camera.camera2.impl.Camera2ImplConfig@7d8ceaa, zslDisabled=false})
D/DeferrableSurface( 6445): Surface created[total_surfaces=6, used_surfaces=4](androidx.camera.core.impl.ImmediateSurface@7c3fa9b}
D/InputTransport( 6445): Input channel destroyed: 'ClientS', fd=147
D/InputTransport( 6445): Input channel destroyed: 'ClientS', fd=150
D/InputTransport( 6445): Input channel destroyed: 'ClientS', fd=166
D/DeferrableSurface( 6445): Surface created[total_surfaces=7, used_surfaces=4](androidx.camera.core.impl.ImmediateSurface@4151e11}
D/InputTransport( 6445): Input channel destroyed: 'ClientS', fd=151
D/ImageCapture( 6445): onCameraControlReady
D/Camera2CameraControlImp( 6445): setFlashMode: mFlashMode = 2
I/BpBinder( 6445): onLastStrongRef automatically unlinking death recipients: 
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-7](id:192d00000013,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-7](id:192d00000013,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-7](id:192d00000013,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-7](id:192d00000013,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 6445): [ImageReader-720x480f22m5-6445-7](id:192d00000013,api:4,p:1278,c:6445) cancelBuffer: BufferQueue has been abandoned
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client io.flutter.plugins.cameraexample API Level 2 User Id 0
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_PRESENT
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_PRESENT
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_PRESENT
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_PRESENT
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client io.flutter.plugins.cameraexample API Level 2 User Id 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageAnalysis-755a84a6-ecfe-48f4-9faa-504cb112d9709556252 INACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/UseCaseAttachState( 6445): Active and attached use case: [] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use cases [androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512, androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.ImageAnalysis-755a84a6-ecfe-48f4-9faa-504cb112d9709556252] now ATTACHED
D/Camera2CameraControlImp( 6445): setActive: isActive = true
D/UseCaseAttachState( 6445): All use case: [androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512, androidx.camera.core.ImageAnalysis-755a84a6-ecfe-48f4-9faa-504cb112d9709556252] for camera: 0
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Resetting Capture Session
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Skipping Capture Session state check due to current camera state: CLOSING and previous session status: false
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Releasing session in state CLOSING
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Transitioning camera internal state: CLOSING --> REOPENING
D/CameraStateRegistry( 6445): Recalculating open cameras:
D/CameraStateRegistry( 6445): Camera                                       State                 
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Camera@b7b722b[id=3]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@e1f10be[id=0]                         OPENING               
D/CameraStateRegistry( 6445): Camera@9cb64e9[id=2]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@4ba7996[id=1]                         UNKNOWN               
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Open count: 1 (Max allowed: 1)
D/CameraStateMachine( 6445): New public camera state CameraState{type=OPENING, error=null} from OPENING and null
D/CameraStateMachine( 6445): Publishing new public camera state CameraState{type=OPENING, error=null}
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512] for camera: 0
I/ViewRootImpl@2874d57[FlutterActivity]( 6445): onDisplayChanged oldDisplayState=2 newDisplayState=2
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150 ACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512] for camera: 0
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Use case androidx.camera.core.ImageAnalysis-755a84a6-ecfe-48f4-9faa-504cb112d9709556252 INACTIVE
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512] for camera: 0
D/DeferrableSurface( 6445): use count-1,  useCount=0 closed=true androidx.camera.core.SurfaceRequest$2@1322683
D/DeferrableSurface( 6445): Surface no longer in use[total_surfaces=7, used_surfaces=3](androidx.camera.core.SurfaceRequest$2@1322683}
D/DeferrableSurface( 6445): Surface terminated[total_surfaces=6, used_surfaces=3](androidx.camera.core.SurfaceRequest$2@1322683}
D/DeferrableSurface( 6445): use count-1,  useCount=0 closed=true androidx.camera.core.impl.ImmediateSurface@89116f5
D/DeferrableSurface( 6445): Surface no longer in use[total_surfaces=6, used_surfaces=2](androidx.camera.core.impl.ImmediateSurface@89116f5}
D/DeferrableSurface( 6445): Surface terminated[total_surfaces=5, used_surfaces=2](androidx.camera.core.impl.ImmediateSurface@89116f5}
D/DeferrableSurface( 6445): use count-1,  useCount=0 closed=true androidx.camera.core.impl.ImmediateSurface@37e2fb
D/DeferrableSurface( 6445): Surface no longer in use[total_surfaces=5, used_surfaces=1](androidx.camera.core.impl.ImmediateSurface@37e2fb}
D/DeferrableSurface( 6445): Surface terminated[total_surfaces=4, used_surfaces=1](androidx.camera.core.impl.ImmediateSurface@37e2fb}
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} CameraDevice.onClosed()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Attempting to open the camera.
D/CameraStateRegistry( 6445): tryOpenCamera(Camera@e1f10be[id=0]) [Available Cameras: 0, Already Open: true (Previous state: OPENING)] --> SUCCESS
D/CameraStateRegistry( 6445): Recalculating open cameras:
D/CameraStateRegistry( 6445): Camera                                       State                 
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Camera@b7b722b[id=3]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@e1f10be[id=0]                         OPENING               
D/CameraStateRegistry( 6445): Camera@9cb64e9[id=2]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@4ba7996[id=1]                         UNKNOWN               
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Open count: 1 (Max allowed: 1)
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Opening camera.
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Transitioning camera internal state: REOPENING --> OPENING
D/CameraStateMachine( 6445): New public camera state CameraState{type=OPENING, error=null} from OPENING and null
D/UseCaseAttachState( 6445): All use case: [androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512, androidx.camera.core.ImageAnalysis-755a84a6-ecfe-48f4-9faa-504cb112d9709556252] for camera: 0
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPENING for client io.flutter.plugins.cameraexample API Level 2 User Id 0
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
I/CameraManagerGlobal( 6445): postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client io.flutter.plugins.cameraexample API Level 2 User Id 0
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@65088d] onClosed()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} CameraDevice.onOpened()
D/Camera2CameraImpl( 6445): {Camera@e1f10be[id=0]} Transitioning camera internal state: OPENING --> OPENED
D/CameraStateRegistry( 6445): Recalculating open cameras:
D/CameraStateRegistry( 6445): Camera                                       State                 
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Camera@b7b722b[id=3]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@e1f10be[id=0]                         OPEN                  
D/CameraStateRegistry( 6445): Camera@9cb64e9[id=2]                         UNKNOWN               
D/CameraStateRegistry( 6445): Camera@4ba7996[id=1]                         UNKNOWN               
D/CameraStateRegistry( 6445): -------------------------------------------------------------------
D/CameraStateRegistry( 6445): Open count: 1 (Max allowed: 1)
D/CameraStateMachine( 6445): New public camera state CameraState{type=OPEN, error=null} from OPEN and null
D/CameraStateMachine( 6445): Publishing new public camera state CameraState{type=OPEN, error=null}
D/UseCaseAttachState( 6445): All use case: [androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512, androidx.camera.core.ImageAnalysis-755a84a6-ecfe-48f4-9faa-504cb112d9709556252] for camera: 0
D/UseCaseAttachState( 6445): Active and attached use case: [androidx.camera.core.ImageCapture-8ea579e6-b6af-4863-ac08-0b705c96e40f240199150, androidx.camera.core.Preview-a6a63444-586c-43b0-8ae8-4f16c54c1fea129815512] for camera: 0
D/SyncCaptureSessionBase( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@e5b62b0] getSurface done with results: [Surface(name=null)/@0x5b7c50, Surface(name=null)/@0xa58b062, Surface(name=null)/@0xb4d25f3]
D/CaptureSession( 6445): Opening capture session.
D/Camera2CaptureRequestBuilder( 6445): template type = 1
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@e5b62b0] start openCaptureSession
D/DeferrableSurface( 6445): use count+1, useCount=2 androidx.camera.core.SurfaceRequest$2@99bacd9
D/DeferrableSurface( 6445): New surface in use[total_surfaces=4, used_surfaces=2](androidx.camera.core.impl.ImmediateSurface@7c3fa9b}
D/DeferrableSurface( 6445): use count+1, useCount=1 androidx.camera.core.impl.ImmediateSurface@7c3fa9b
D/DeferrableSurface( 6445): New surface in use[total_surfaces=4, used_surfaces=3](androidx.camera.core.impl.ImmediateSurface@4151e11}
D/DeferrableSurface( 6445): use count+1, useCount=1 androidx.camera.core.impl.ImmediateSurface@4151e11
D/SyncCaptureSessionImpl( 6445): [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@e5b62b0] Session onConfigured()
D/CaptureSession( 6445): Attempting to send capture request onConfigured
D/CaptureSession( 6445): Issuing request for session.
D/Camera2CaptureRequestBuilder( 6445): createCaptureRequest
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/CaptureSession( 6445): CameraCaptureSession.onConfigured() mState=OPENED
D/CaptureSession( 6445): CameraCaptureSession.onReady() OPENED
I/CameraManagerGlobal( 6445): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client io.flutter.plugins.cameraexample API Level 2 User Id 0
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
I/ViewRootImpl@2874d57[FlutterActivity]( 6445): onDisplayChanged oldDisplayState=2 newDisplayState=2
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]
D/s.cameraexample( 6445): [is_supported_usage] IMPLEMENTATION_DEFINED must not have CPU usage, [0x20133]

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.27.4, on macOS 15.3.1 24D70 darwin-arm64, locale en-US)
    • Flutter version 3.27.4 on channel stable at /Users/waslost/fvm/versions/3.27.4
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d8a9f9a52e (6 weeks ago), 2025-01-31 16:07:18 -0500
    • Engine revision 82bd5b7209
    • Dart version 3.6.2
    • DevTools version 2.40.3

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1)
    • Android SDK at /Users/waslost/Library/Android/sdk
    • Platform android-35, build-tools 35.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16C5032a
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)

[✓] VS Code (version 1.98.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (4 available)
    • SM A556E (mobile)               • adb-R5CXB1FD9ZY-aSQ3Dl._adb-tls-connect._tcp. • android-arm64  • Android 14 (API 34)
    • macOS (desktop)                 • macos                                         • darwin-arm64   • macOS 15.3.1 24D70 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                         • darwin         • macOS 15.3.1 24D70 darwin-arm64
    • Chrome (web)                    • chrome                                        • web-javascript • Google Chrome 133.0.6943.142

[✓] Network resources
    • All expected network resources are available.

• No issues found!
@darshankawar darshankawar added the in triage Presently being triaged by the triage team label Mar 11, 2025
@darshankawar
Copy link
Member

@waslost0
Can you try with latest version of camerax dependencies:
camera_android_camerax: ^0.6.14+1 ? Also please try with latest stable version as well.

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 11, 2025
@waslost0
Copy link
Author

waslost0 commented Mar 11, 2025

@waslost0 Can you try with latest version of camerax dependencies: camera_android_camerax: ^0.6.14+1 ? Also please try with latest stable version as well.

i used the last one, pubspec.lock attached
And i also tried on latest stable 3.29.1

  camera_android_camerax:
    dependency: transitive
    description:
      name: camera_android_camerax
      sha256: "13784f539c7f104766bff84e4479a70f03b29d78b208278be45c939250d9d7f5"
      url: "https://pub.dev"
    source: hosted
    version: "0.6.14+1"

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 11, 2025
@darshankawar
Copy link
Member

Thanks for the update. I tried the plugin example with latest versions (plugin and sdk) and ran on S10+ device with which I was able to replicate the reported behavior.

stable : 3.29.1
master : 3.30.0-1.0.pre.526

/cc @camsim99

@darshankawar darshankawar added platform-android Android applications specifically p: camera The camera plugin package flutter/packages repository. See also p: labels. has reproducible steps The issue has been confirmed reproducible and is ready to work on team-android Owned by Android platform team found in release: 3.29 Found to occur in 3.29 found in release: 3.30 Found to occur in 3.30 and removed in triage Presently being triaged by the triage team labels Mar 12, 2025
@camsim99
Copy link
Contributor

I notice that the repro case has more than one front, one back camera. I wonder if we aren't accurately selecting the camera because of this. I know we are doing a hack to determine if the camera is front/back facing, so I wonder if we fix https://github.com/flutter/packages/blob/ff7724c18a803542fc709f942c3bf1cecf7e4864/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart#L271 then this issue would be solved.

@reidbaker reidbaker added P1 High-priority issues at the top of the work list triaged-android Triaged by Android platform team labels Mar 18, 2025
@jesswrd jesswrd linked a pull request Apr 4, 2025 that will close this issue
11 tasks
@jesswrd
Copy link
Contributor

jesswrd commented Apr 8, 2025

Able to repro on Samsung A51. I was also able to utilize getLensFacing as suggested, but it did not fix the issue. I think something else may be wrong. Will have to investigate further.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
found in release: 3.29 Found to occur in 3.29 found in release: 3.30 Found to occur in 3.30 has reproducible steps The issue has been confirmed reproducible and is ready to work on p: camera The camera plugin P1 High-priority issues at the top of the work list package flutter/packages repository. See also p: labels. platform-android Android applications specifically team-android Owned by Android platform team triaged-android Triaged by Android platform team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants