mrousavy / react-native-vision-camera

πŸ“Έ A powerful, high-performance React Native Camera library.
https://react-native-vision-camera.com
MIT License
7.31k stars 1.07k forks source link

πŸ› [Android] Flash is removed before the actual capture, resulting in a dark photo #2663

Closed AndriyZahura closed 5 months ago

AndriyZahura commented 6 months ago

What's happening?

Hi! First of all, great lib, thanks a lot for what you're doing!

My issue is: When I set the torch='on' on my Samsung, and do takePhoto (either with or without {flash: 'on'}), the torch/flash is present, but I believe it gets off just before the capture, which results in a dark photo. In case when torch is on, it also gets turned off, and then turns on again after the photo capture. You can see the result on the video under. In the video, you can see the torch, but believe me, it's almost the same when I use the flash: 'on' (except that with flash it takes extra time to capture, see the https://github.com/mrousavy/react-native-vision-camera/issues/2577).

Important For me, this is only reproducible on some Androids. It's my Samsung Galaxy S21 FE(SM-G990B/DS) and Xiaomi Note 9 Pro. It works just fine on other androids - Nothing Phone 1, Samsung Galaxy S20+(SM-G985F/DS) and on iOS. It's really strange, since on one Samsung (a newer one) it doesn't work in every case, and on the older one it works every time.

I was wondering if I am doing something wrong, because my issue is basically a duplicate of https://github.com/mrousavy/react-native-vision-camera/issues/2239. But in that case, the reporter managed to fix the dark photos by simply doing the flash: 'on', which doesn't work for me. Will be grateful for any reply!

The video:

https://github.com/mrousavy/react-native-vision-camera/assets/55994435/05151bde-7dcd-49d6-8f2f-036f62dff437

Reproduceable Code

const refCamera = useRef<Camera>(null);
  const additionalCameraStyle = IS_ANDROID
    ? {
        opacity: isCarouselVisible ? 0 : 1,
        zIndex: -1,
      }
    : {zIndex: -1};
  const device = useCameraDevice('back');

//Basically, torch is on when you press the flash icon. I did try the same with torch on all the time, the result is the same, so you can ignore this
  const showTorch = IS_ANDROID && flashMode === FlashMode.ENABLED && !isCarouselVisible ? 'on' : 'off';

//This is simplified, please tell if you need more info
  const onMakePhoto = async () => {
    const photo: PhotoFile = await refCamera.current.takePhoto({
      //I tried both 'on', 'off', and 'auto', nothing helps
      flash: IS_ANDROID ? 'off' : flashMode,
      enableShutterSound: false,
      //I tried both 'quality', 'speed', and 'balanced', nothing helps
      qualityPrioritization: 'balanced',
    });
  };

//I did try to remove all the unnecessary props, didn't help
            <Camera
              ref={refCamera}
              photo={true}
              style={{
                ...StyleSheet.absoluteFillObject,
                ...additionalCameraStyle,
                marginTop: IS_ANDROID && isCarouselVisible ? MARGIN_CAMERA_STATUSBAR : 0,
              }}
              device={device}
              enableZoomGesture={true}
              torch={showTorch}
              isActive={isVisible}
              onError={onCameraError}
              onLayout={() => setIsLoadingCamera(true)}
              onInitialized={() => setIsLoadingCamera(false)}
            />

                <TouchableOpacity
                  disabled={disabledFlash}
                  activeOpacity={1}
                  onPress={onMakePhoto}
                  style={styles.makePhotoButton}>
                  <Box style={styles.makePhotoInnerButton} />
                </TouchableOpacity>

Relevant log output

ContainerId(0)
03-18 18:48:31.146  1172  1954 D SensorsFlicker: Als_common::readEvents, enabled : 1, data : -1.000000, 0.000000, 0.000000, 0.000000, 262140.000000, 0.000000, 0.000000
03-18 18:48:31.165  1278  2485 E CamX    : [ERROR][SW_PROC] bitmlengine.cpp:361 BITMLEngineExecute() success executed! clientID: 0, networkID: 8, 
03-18 18:48:31.344  1071 25778 E netd    : getUidTrafficStats: first key not obtained
03-18 18:48:31.470   809   809 D io_stats: !@   8,0 r 70990939 1464219440 w 23170600 241044812 d 452880 56393032 f 0 0 iot 36213440 0 th 0 0 0 pt 0 inp 0 0 336403.164
03-18 18:48:31.470   809   809 D io_stats: !@ Read_top(KB): sait.sohservice(2982) 20
03-18 18:48:31.470   809   809 D io_stats: !@ Write_top(KB): com.orcatec(29640) 84 kworker/u16:3(4233) 28
03-18 18:48:31.649  1149  1149 I android.hardware.health@2.1-service-samsung: updateLrpSysfs: write: 361
03-18 18:48:31.651  1517  3054 D BatteryService: Sending ACTION_BATTERY_CHANGED: level:26, status:2, health:2, ac:false, usb:true, wireless:false, pogo:false, misc:0x10000, charge_type:1, charger_type:0, voltage:3747, temperature:344, online:4, charging_status:0, cycle_count:0, current_avg:-180, ps:false, hvc:false, capacity:280000, current_event:0x0, current_now:-192, mcc:0, mcv:0, cc:1103244, present:true, scale:100, technology:Li-ion
03-18 18:48:31.658  1517  3031 D MotionRecognitionService: [SAR]  onReceive : ACTION_BATTERY_CHANGED, Plugged: 2
03-18 18:48:31.661  1517  3164 I DeviceBatteryInfoService: action: android.intent.action.BATTERY_CHANGED
03-18 18:48:31.661  1517  3164 I DeviceBatteryInfoService: phone battery level: 26
03-18 18:48:31.661  1517  3164 I DeviceBatteryInfoService: phone battery status: 2
03-18 18:48:31.662  3252  3252 I AODBatteryManager: updateBatteryData: ACTION_BATTERY_CHANGED
03-18 18:48:31.664 26720 26720 I [SCPMV2][SystemMonitorReceiver]: onReceive: android.intent.action.BATTERY_CHANGED
03-18 18:48:31.664  3252  3252 I AODBatteryManager: saveBatteryData : AOD BatteryData [mBatteryLevel=26, mBatteryStatus=CHARGING, mBatteryPlugType=USB, mBatteryPlugged=true, mRemainingChargeTime=20223000, mBatteryChargingType=1, mBatteryChargerType=NORMAL, mBatteryOnline=USB, mBatterySwellingMode=NONE, mBatteryProtectMode=false]
03-18 18:48:31.665  3252  3252 I ChargingInfoManager: updateChargingInfo: newState = AOD ChargingInfo [mState=BATTERY_AND_REMAIN_TIME, mIsCharging=true, mIsFullyCharged=false, mIsBatteryProtectMode=false], oldState = AOD ChargingInfo [mState=BATTERY_AND_REMAIN_TIME, mIsCharging=true, mIsFullyCharged=false, mIsBatteryProtectMode=false]
03-18 18:48:31.665  3252  3252 I PowerUI : mBootCompleted = true |  mFullyConnected = true
03-18 18:48:31.665  3252  3252 I PowerUI : BATTERY_HEALTH_CHECK extraHealth=2 mBatteryMiscEvent=65536
03-18 18:48:31.665  3252  3252 W PowerUI : Plug reason
03-18 18:48:31.665  3252  3252 W PowerUI : Skip charging animation - by plug status
03-18 18:48:31.665  3252  3252 D PowerUI : priorPlugType = 2 mPlugType = 2 priorBatteryStatus = 2 mBatteryStatus = 2
03-18 18:48:31.665  3512  3512 D SemBigDataInfoController: Intent: android.intent.action.BATTERY_CHANGED
03-18 18:48:31.665  3252  3252 W PowerUI : Plug reason
03-18 18:48:31.665  3252  3252 W PowerUI : Skip charging sound - by plug status
03-18 18:48:31.665  3252  3252 I PowerUI : oldMisalign : false, curMisalign : false
03-18 18:48:31.665  3512  3512 D SemBigDataInfoController: Intent: android.intent.action.BATTERY_CHANGED
03-18 18:48:31.665  3252 12973 D SecPowerUI.Notification: dismissing low battery warning: level=26
03-18 18:48:31.665  3252 12973 D SecPowerUI.Notification: updateNotification mWarning=false mPlaySound=false
03-18 18:48:31.665  3252 12973 D SecPowerUI.Notification: SecBatteryStatsSnapshot{batteryLevel=26, currentBatteryMode=1, chargingTime=20194000, chargingType=11, batteryHealth=2, automaticTestMode=false, isHiccupState=false}
03-18 18:48:31.666  3252 12973 D SecPowerUI.Notification: 1. restoreScreenTimeOut - saved_value : :
03-18 18:48:31.666  3252 12973 E SecPowerUI.Notification: no saved value, so we do nothing !!
03-18 18:48:31.666  1517  1517 D AdaptiveBrightnessLongtermModelBuilder: Received android.intent.action.BATTERY_CHANGED
03-18 18:48:31.669  3252  3252 D SecPowerUI.Notification: showChargingNotice oldChargingType : 11 / currentChargingType : 11, oldChargingTime : 20194000 / mChargingTime : 20223000
03-18 18:48:31.669  3252  3252 D SecPowerUI.Notification: showChargingNotification()
03-18 18:48:31.669  3252  3252 D SecPowerUI.Notification: SecBatteryStatsSnapshot{batteryLevel=26, currentBatteryMode=1, chargingTime=20223000, chargingType=11, batteryHealth=2, automaticTestMode=false, isHiccupState=false}
03-18 18:48:31.672  3252  3252 I NotificationManager: com.android.systemui: notify(2131363659, charging_state, Notification(channel=CHR shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0xa color=0xff5075a1 category=sys groupKey=CHARGING vis=PUBLIC semFlags=0x0 semPriority=0 semMissedCount=0)) as user
03-18 18:48:31.680  3252  3252 D PowerUI : Battery swelling mode - priorBatterySwellingMode = 0 mBatterySwellingMode = 0 mBatteryStatus = 2
03-18 18:48:31.680  3252  3252 I PowerUI : mBatteryMiscEvent = 65536
03-18 18:48:31.680  3252  3252 D SamsungBatteryMeterDrawable: onBatteryLevelChanged isSomethingChanged: false
03-18 18:48:31.681  3252  3252 D SamsungBatteryMeterDrawable: onBatteryLevelChanged isSomethingChanged: false
03-18 18:48:31.681  3252  3252 D SamsungBatteryMeterDrawable: onBatteryLevelChanged isSomethingChanged: false
03-18 18:48:31.681  3252  3252 D KeyguardUpdateMonitor: handleBatteryUpdate
03-18 18:48:31.695  3252  3252 D KeyguardSecIndicationController: addIndicationTimeout() returned - unlocking
03-18 18:48:31.696  3252  3252 D KeyguardSecIndicationController: addIndication() returned - unlocking
03-18 18:48:31.696  3252  3252 D KeyguardSecIndicationController: addBatteryAndOwnerInfoIndication() battery status = BatteryStatus{status=2,level=26,plugged=2,chargingStatus=0,maxChargingWattage=-1,remaining=20223000ultraFastCharger=0}
03-18 18:48:31.757  1517  2818 D InputReader: Btn_touch(3): value=1 when=336403.451437
03-18 18:48:31.758  1517  2818 I InputReader: Touch event's action is 0x0 (id=5, t=0) [pCnt=1, s=0.19243 ] when=336403.451437
03-18 18:48:31.760  1517  2817 I InputDispatcher: Delivering touch to (3252): action: 0x4, f=0x0, d=0, 'ab10d52', t=1 
03-18 18:48:31.760  1517  2817 I InputDispatcher: Delivering touch to (29640): action: 0x0, f=0x0, d=0, '239d766', t=1 
03-18 18:48:31.761  1517  2817 D PowerManagerService: [api] userActivityFromNative : touch displayId=0 eventTime=336403451
03-18 18:48:31.762  1517  2817 D PowerManagerService: UserActivityStateListenerState: 1
03-18 18:48:31.763 29640 29640 I ViewRootImpl@6af8a2b[MainActivity]: ViewPostIme pointer 0
03-18 18:48:31.764  1517  1661 I GestureDetector: obtain mCurrentDownEvent. id: 245194690 caller: com.android.server.wm.SystemGesturesPointerEventListener.onPointerEvent:204 com.android.server.wm.PointerEventDispatcher.onInputEvent:53 android.view.InputEventReceiver.dispatchInputEvent:296 
03-18 18:48:31.767  1517  1661 I GestureDetector: obtain mCurrentDownEvent. id: 245194690 caller: com.android.server.wm.SystemPerformancePointerEventListener.onPointerEvent:89 com.android.server.wm.PointerEventDispatcher.onInputEvent:53 android.view.InputEventReceiver.dispatchInputEvent:296 
03-18 18:48:31.768  1517  1661 I GestureDetector: obtain mCurrentMotionEventRaw. action: 2 id: 549209855
03-18 18:48:31.768  1517  1661 I GestureDetector: obtain mCurrentMotionEventRaw. action: 2 id: 549209855
03-18 18:48:31.806  1517  4602 D SemWifiUsabilityStatsMonitor: onWifiUsabilityStats - seqNum 70829, isSameBssidAndFreq true
03-18 18:48:31.807  1517  3128 I SemWifiLinkQualityMonitor: Link stat: 963 / 112 / 1,00 (6) / 780 / -35.0 || 100.0 : 780,00 / 0.5 : 1,00 / 0.55 : 0,12 / RT QoS: true (true) || QoS: 0,09 ms / 87,21 Mbps (N) / 0 (1)
03-18 18:48:31.846  1071 25778 E netd    : getUidTrafficStats: first key not obtained
03-18 18:48:31.850  1172  1954 D SensorsFlicker: Als_common::readEvents, enabled : 1, data : -1.000000, 0.000000, 0.000000, 0.000000, 262140.000000, 0.000000, 0.000000
03-18 18:48:31.879  1517  1517 I Telecom:SamsungTelecomServiceImpl: isInManagedCall - callingPackage : android / callingUser : UserHandle{0} / hasCrossUserAccess : true
03-18 18:48:31.882  1517  2818 D InputReader: Btn_touch(3): value=0 when=336403.576434
03-18 18:48:31.882  1517  2818 I InputReader: Touch event's action is 0x1 (id=5, t=0) [pCnt=1, s=] when=336403.576434
03-18 18:48:31.883  1517  2817 I InputDispatcher: Delivering touch to (29640): action: 0x1, f=0x0, d=0, '239d766', t=1 
03-18 18:48:31.883 29640 29640 I ViewRootImpl@6af8a2b[MainActivity]: ViewPostIme pointer 1
03-18 18:48:31.888 16229 16229 I NotificationListener: Received new notification
03-18 18:48:31.891  3747  3747 I HoneySpace.NotificationListener: onNotificationPosted com.android.systemui: -1|com.android.systemui|2131363659|charging_state|10037: 0
03-18 18:48:31.891  3747  3747 I HoneySpace.NotificationListener: invalid notification: com.android.systemui UserHandle{-1}: canShowBadge is false
03-18 18:48:31.893 16229 16507 I NotificationPipeline: Processing new notification: -1|com.android.systemui|2131363659|charging_state|10037
03-18 18:48:31.893 16229 16507 I Notification4Water_NB: NotificationChecker.checkIgnoreCase - onGoing
03-18 18:48:31.895 16229 16507 W Notification4Water_NB: NotificationBridgeCallback.onNotificationPosted-Ignored package : [-1] com.android.systemui
03-18 18:48:31.903  3252  3252 I AODNotificationManager: updateNotification() 
03-18 18:48:31.912 29640 29640 D CameraView: Finding view 7165...
03-18 18:48:31.912 29640 29640 D CameraView: Found view 7165!
03-18 18:48:31.913 29640 29768 I CameraView.takePhoto: Taking photo... Options: {qualityPrioritization=balanced, enableShutterSound=false, flash=off}
03-18 18:48:31.913 29640 29768 I CameraSession: Photo capture 1/3 - capturing 4000x3000 image...
03-18 18:48:31.913 29640 29768 I PersistentCameraCaptureSession: Capturing photo...
03-18 18:48:31.913 29640 29768 I PersistentCameraCaptureSession: Using fast capture path without pre-capture sequence...
03-18 18:48:31.913 29640 29768 I PhotoCaptureRequest: Using CaptureRequest Template PHOTO_ZSL...
03-18 18:48:31.915  1624  1624 D Camera3-Device: captureList: Enter: calling submitRequestsHelper: repeating = false
03-18 18:48:31.915  1624  1624 D Camera3-Device: submitRequestsHelper: mInterfaceLock.lock()
03-18 18:48:31.915  1624  1624 I Camera3-Device: Submit request type: 0x0, repeating(false), burst(false)
03-18 18:48:31.915  1624  1624 D Camera3-Device: queueRequestList: requestId 46, mFrameNumber 16606, lastFrameNumber 16606.
03-18 18:48:31.915  1624  1624 D Camera3-Device: submitRequestsHelper: mInterfaceLock.unlock()
03-18 18:48:31.916  1517  6755 I EDMNativeHelperService: isCameraEnabled
03-18 18:48:31.916  1517  6755 D EDMNativeHelper: isCameraEnabled
03-18 18:48:31.916  1517  6755 D EDMNativeHelper: checking for camera in EnterpriseDeviceManagerService
03-18 18:48:31.916  1517  6755 D EnterpriseDeviceManagerService: isCameraEnabledNative
03-18 18:48:31.916  1517  6755 D EnterpriseDeviceManagerService: checking for camera in restriction policy
03-18 18:48:31.917  1517  6755 D RestrictionPolicy: isCameraEnabled ret(true) userId(0) cxtInfo.mCallerUid(10673) cxtInfo.mContainerId(0)
03-18 18:48:31.936  1624  2497 I Camera3-Status: markComponent: Component 3 is now active - streamId = 1, format = 0x21(JPEG), width = 4000, height = 3000, option = 0x0, type = OUTPUT
03-18 18:48:31.938  1278  2415 I Unihal  : SelectPipelineFn_Repo.h: operator(): 324: Multi frame capture should not be working with this captureIntent(5)
03-18 18:48:32.054  1278  2489 I SS_3A   :  INFO: AEC: TsAecGetVendorTagInfo: 5055: pCaptureIntent=5 recordinghint 0
03-18 18:48:32.063  1517  1661 I GestureDetector: handleMessage TAP
03-18 18:48:32.066  1517  1517 I GestureDetector: handleMessage TAP
03-18 18:48:32.086  1278  2486 I SS_3A   :  INFO: AEC: TsAecGetVendorTagInfo: 5055: pCaptureIntent=1 recordinghint 0
03-18 18:48:32.092  3252  3252 D BubblesManager: onEntryUpdated : shouldBubbleUp=false ,key=-1|com.android.systemui|2131363659|charging_state|10037
03-18 18:48:32.106  3252  3252 I AODNotificationManager: updateNotification() 
03-18 18:48:32.155  3252  3252 I AODNotificationManager: updateNotification() 
03-18 18:48:32.173  1517  6755 D SGM:GameManager: identifyForegroundApp. com.orcatec, mCurrentUserId: 0, callerUserId: 0
03-18 18:48:32.173  1517  6755 D SGM:PkgDataHelper: getGamePkgData(). com.orcatec
03-18 18:48:32.173  9424  9513 I PolicyManager: [#CMH#] Is foreground game app: false
03-18 18:48:32.220  1278  2487 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16610]algo_out Av=1.695,g=12.338,e_t=0.03001,LLS=0x154,Bv=-2.164,Ev=4.387,PEv=2.836,Cvgd=0,lux=367,FS=0,gam=0.0,lls=0x0,drc=1.000,vo=0.000,m=0
03-18 18:48:32.287  1278  2489 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16611]algo_out Av=1.695,g=12.676,e_t=0.03001,LLS=0x154,Bv=-0.418,Ev=4.348,PEv=4.582,Cvgd=0,lux=326,FS=0,gam=0.0,lls=0x0,drc=1.619,vo=0.000,m=0
03-18 18:48:32.293  1278  1432 I Unihal  : GlobalMonitor.cpp: PrintInfo: 303: S(4) FWK L(  8) 16606/M(T)/R(1)/B(1/2), 16607/M(T)/R(1)/B(0/1), 16608/M(F)/R(1)/B(0/1), 16609/M(F)/R(1)/B(0/1), 16610/M(F)/R(1)/B(0/1), 16611/M(F)/R(0)/B(0/1), 16612/M(F)/R(0)/B(0/1), 16613/M(F)/R(0)/B(0/1), 
03-18 18:48:32.293  1278  1432 I Unihal  : GlobalMonitor.cpp: PrintInfo: 310:      HAL L(  8) 16606/M(T)/R(1)/B(1/2), 16607/M(T)/R(1)/B(0/1), 16608/M(F)/R(1)/B(0/1), 16609/M(F)/R(1)/B(0/1), 16610/M(F)/R(1)/B(0/1), 16611/M(F)/R(0)/B(0/1), 16612/M(F)/R(0)/B(0/1), 16613/M(F)/R(0)/B(0/1), 
03-18 18:48:32.305  1278  2488 E AF_DEBUG: UpdateAfStatus(173) : [cam_id_1] AF status 0x3 -> 0x2, called from : AfStagePhaseFindGoal(4365)  
03-18 18:48:32.320  1278  2487 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16612]algo_out Av=1.695,g=11.101,e_t=0.03001,LLS=0x154,Bv=0.227,Ev=4.539,PEv=5.227,Cvgd=0,lux=311,FS=0,gam=0.0,lls=0x0,drc=1.276,vo=0.000,m=0
03-18 18:48:32.340 29640 29768 I CameraSession: Photo capture 2/3 - waiting for image with timestamp 802093212142882 now...
03-18 18:48:32.341  1624  1861 D qdgralloc: GetYUVPlaneInfo: Invalid format passed: 0x21
03-18 18:48:32.341 29640 29768 I CameraSession: Photo Captured!
03-18 18:48:32.341 29640 29768 I CameraSession: Photo captured! 4000 x 3000
03-18 18:48:32.341 29640 29768 I CameraSession: Photo capture 3/3 - received 4000 x 3000 image, preparing result...
03-18 18:48:32.342  1624  1861 I Camera3-Status: markComponent: Component 3 is now idle - streamId = 1, format = 0x21(JPEG), width = 4000, height = 3000, option = 0x0, type = OUTPUT
03-18 18:48:32.342  1624  1861 I Camera3-IOStreamBase: FpsStats: stream 1, requested=1, received=1, valid=1, invalid=0
03-18 18:48:32.343 29640 29768 I CameraView.takePhoto: Successfully captured 4000 x 3000 photo!
03-18 18:48:32.345 29640 32552 D qdgralloc: GetYUVPlaneInfo: Invalid format passed: 0x21
03-18 18:48:32.348  1071 25778 E netd    : getUidTrafficStats: first key not obtained
03-18 18:48:32.349 29640 29768 I CameraView.takePhoto: Successfully saved photo to file! /data/user/0/com.orcatec/cache/mrousavy1767067028291191245.jpg
03-18 18:48:32.352  1278  2488 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16613]algo_out Av=1.695,g=9.285,e_t=0.03001,LLS=0x154,Bv=0.484,Ev=4.797,PEv=5.484,Cvgd=0,lux=305,FS=0,gam=0.0,lls=0x0,drc=1.235,vo=0.000,m=0
03-18 18:48:32.386  1278  2487 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16614]algo_out Av=1.695,g=8.377,e_t=0.03001,LLS=0x154,Bv=0.160,Ev=4.945,PEv=5.160,Cvgd=0,lux=313,FS=0,gam=0.0,lls=0x0,drc=1.212,vo=0.000,m=0
03-18 18:48:32.419  1278  2485 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16615]algo_out Av=1.695,g=8.354,e_t=0.03001,LLS=0x154,Bv=0.137,Ev=4.949,PEv=5.137,Cvgd=0,lux=313,FS=0,gam=0.0,lls=0x0,drc=1.192,vo=0.000,m=0
03-18 18:48:32.455  1278  2488 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16616]algo_out Av=1.695,g=8.422,e_t=0.03001,LLS=0x154,Bv=0.195,Ev=4.938,PEv=5.195,Cvgd=0,lux=312,FS=0,gam=0.0,lls=0x0,drc=1.173,vo=0.000,m=0
03-18 18:48:32.473  1278  2485 E AF_DEBUG: UpdateAfStatus(173) : [cam_id_1] AF status 0x2 -> 0x3, called from : UpdateAfStatusAtComplete(3602)  
03-18 18:48:32.473  1278  2485 E AF_DEBUG: AfStageComplete(3706) : [cam_id_1][AF_INFO] Final Lens position 1543  AF VERSION(0xF1A1) touch(x y : 0 0) roi(sx sy ex ey : 1616 1116 2384 1884) sensor(w h 4000 3000) af cal(1056 -8 1664 3144)
03-18 18:48:32.473  1278  2485 E AF_DEBUG: LogPrintAfResult(34) : [cam_id_1] ver(0xF1A1) | cur_position 1543 , bv 50 , af_method 3 , roi_type 0, fd_cnt 0 
03-18 18:48:32.488  1278  2487 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16617]algo_out Av=1.695,g=7.702,e_t=0.03001,LLS=0x154,Bv=0.207,Ev=5.066,PEv=5.207,Cvgd=0,lux=312,FS=0,gam=0.0,lls=0x0,drc=1.157,vo=0.000,m=0
03-18 18:48:32.490 29640 29640 I ReactNative: [GESTURE HANDLER] Initialize gesture handler for root view com.facebook.react.views.modal.ReactModalHostView$DialogRootViewGroup{6ef3897 V.E...... .......D 0,0-1080,2106}
03-18 18:48:32.490 29640 29640 I CameraView: Updating CameraSession...
03-18 18:48:32.491 29640 29768 I CameraSession: configure { ... }: Waiting for lock...
03-18 18:48:32.491 29640 29768 I CameraSession: configure { ... }: Updating CameraSession Configuration... Difference(deviceChanged=false, outputsChanged=false, sidePropsChanged=true, isActiveChanged=true)
03-18 18:48:32.491 29640 29768 D PersistentCameraCaptureSession: --> setRepeatingRequest(...)
03-18 18:48:32.491 29640 29768 D PersistentCameraCaptureSession: --> setIsActive(true)
03-18 18:48:32.492 29640 29768 D PersistentCameraCaptureSession: Configure() with isActive: true, ID: 0, device: android.hardware.camera2.impl.CameraDeviceImpl@2a27385, session: android.hardware.camera2.impl.CameraCaptureSessionImpl@59bc301
03-18 18:48:32.492 29640 29768 D PersistentCameraCaptureSession: Updating repeating request...
03-18 18:48:32.494  1624  1624 D Camera3-Device: clearStreamingRequest
03-18 18:48:32.494  1624  1624 I Camera3-Device: clearStreamingRequest - Camera 0: Clearing repeating request
03-18 18:48:32.494  1624  1624 D Camera3-Device: setStreamingRequestList: Enter: calling submitRequestsHelper: repeating = true
03-18 18:48:32.494  1624  1624 D Camera3-Device: submitRequestsHelper: mInterfaceLock.lock()
03-18 18:48:32.495  1624  1624 I Camera3-Device: Submit request type: 0x1, repeating(true), burst(false)
03-18 18:48:32.495  1624  1624 D Camera3-Device: setRepeatingRequests: lastFrameNumber 16620.
03-18 18:48:32.495  1624  1624 D Camera3-Device: submitRequestsHelper: mInterfaceLock.unlock()
03-18 18:48:32.495 29640 29768 D PersistentCameraCaptureSession: Configure() done! isActive: true, ID: 0, device: android.hardware.camera2.impl.CameraDeviceImpl@2a27385, session: android.hardware.camera2.impl.CameraCaptureSessionImpl@59bc301
03-18 18:48:32.495 29640 29768 I CameraSession: configure { ... }: Completed CameraSession Configuration! (isActive: true, isRunning: true)
03-18 18:48:32.496  1517  6755 I EDMNativeHelperService: isCameraEnabled
03-18 18:48:32.496  1517  6755 D EDMNativeHelper: isCameraEnabled
03-18 18:48:32.497  1517  6755 D EDMNativeHelper: checking for camera in EnterpriseDeviceManagerService
03-18 18:48:32.497  1517  6755 D EnterpriseDeviceManagerService: isCameraEnabledNative
03-18 18:48:32.497  1517  6755 D EnterpriseDeviceManagerService: checking for camera in restriction policy
03-18 18:48:32.497  1517  6755 D RestrictionPolicy: isCameraEnabled ret(true) userId(0) cxtInfo.mCallerUid(10673) cxtInfo.mContainerId(0)
03-18 18:48:32.504 29640 29640 I PreviewView: PreviewView is 1080x1386, rendering 1080x1920 content (LANDSCAPE_LEFT). Resizing to: 1080x1920 (COVER)
03-18 18:48:32.504 29640 29640 I SurfaceView: 243364246 Changes: creating=false format=false size=false visible=false alpha=false hint=false visible=false left=false top=true z=false attached=true lifecycleStrategy=false
03-18 18:48:32.504 29640 29640 I SurfaceView@e817196: 243364246 Cur surface: Surface(name=null)/@0x1662b93
03-18 18:48:32.504 29640 29640 I SurfaceView@e817196: updateSurface: mVisible = true mSurface.isValid() = true
03-18 18:48:32.504 29640 29640 I SurfaceView@e817196: updateSurface: mSurfaceCreated = true surfaceChanged = false visibleChanged = false
03-18 18:48:32.504 29640 29640 V SurfaceView@e817196: Layout: x=0 y=120 w=1080 h=1920, frame=Rect(0, 0 - 1920, 1080)
03-18 18:48:32.507  1278  2484 E AF_DEBUG: AfHistory_PrintData(832) : REWRAMSGF0A0_1 0 12051E 40C260B 0 12051E 40C2605 0 1C151E 40C2605 0 1C151E 40C2607 0 1C151E 40C2607 0 18111E 40C3607 0 0 0 0 0 0 0 0 0 0 0 0 
03-18 18:48:32.507  1278  2484 E AF_DEBUG: AfHistory_PrintData(838) : DUMPLOGINDEX_1 930039 808439296 1126543 808439296 1438822 809487872 1328491 809487872 1407394 810012160 1613940 810012160 0 0 0 0 0 0 0 0 50 
03-18 18:48:32.511 29640 29640 I ViewRootImpl@6af8a2b[MainActivity]: registerCallbackForPendingTransactions
03-18 18:48:32.518 29640 29723 D SurfaceView: 243364246 updateSurfacePosition RenderWorker, frameNr = 249, position = [0, 120, 1080, 2040] surfaceSize = 1920x1080
03-18 18:48:32.518 29640 29723 I SurfaceView@e817196: uSP: rtp = Rect(0, 120 - 1080, 2040) rtsw = 1920 rtsh = 1080
03-18 18:48:32.518 29640 29723 I SurfaceView@e817196: onSSPAndSRT: pl = 0 pt = 120 sx = 0.5625 sy = 1.7777778
03-18 18:48:32.519 29640 29723 I SurfaceView@e817196: aOrMT: ViewRootImpl@6af8a2b[MainActivity] t = android.view.SurfaceControl$Transaction@307eace fN = 249 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1660 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:369 
03-18 18:48:32.519 29640 29723 I ViewRootImpl@6af8a2b[MainActivity]: mWNT: t=0xb4000075007a4770 mBlastBufferQueue=0xb40000741079c470 fn= 249 caller= android.view.SurfaceView.applyOrMergeTransaction:1592 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1660 
03-18 18:48:32.519 29640 29731 I ViewRootImpl@6af8a2b[MainActivity]: mWNT: t=0xb40000750079e1b0 mBlastBufferQueue=0xb40000741079c470 fn= 249 caller= android.view.ViewRootImpl$6.onFrameDraw:5539 android.view.ViewRootImpl$2.onFrameDraw:2103 android.view.ThreadedRenderer$1.onFrameDraw:788 
03-18 18:48:32.520  1278  2488 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16618]algo_out Av=1.695,g=7.476,e_t=0.03001,LLS=0x154,Bv=0.203,Ev=5.109,PEv=5.203,Cvgd=0,lux=312,FS=0,gam=0.0,lls=0x0,drc=1.142,vo=0.000,m=0
03-18 18:48:32.550  1172  1954 D SensorsFlicker: Als_common::readEvents, enabled : 1, data : -1.000000, 0.000000, 0.000000, 0.000000, 262140.000000, 0.000000, 0.000000
03-18 18:48:32.560  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90000, delta: -119229
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90001, delta: -5423
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90002, delta: -44475
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90003, delta: -45919
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90004, delta: -6075
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90005, delta: -20610
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90006, delta: -16314
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90007, delta: -14507
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90008, delta: -12611
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90009, delta: -11696
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90010, delta: -3067
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90011, delta: -1885
03-18 18:48:32.561  1517  6755 E KernelCpuUidFullTimeReader: Negative delta from freq time for uid: 90012, delta: -48
03-18 18:48:32.562  1517  6755 D CustomizedBinderCallsStatsInternal: reportCpuUsage() : 0%
03-18 18:48:32.562  1517  1822 I BinderCallsStats: Collected cpu time : 0us, collected call count : 0 for 60157 ms
03-18 18:48:32.588  1278  2489 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16620]algo_out Av=1.695,g=7.558,e_t=0.03001,LLS=0x154,Bv=0.203,Ev=5.094,PEv=5.203,Cvgd=0,lux=312,FS=0,gam=0.0,lls=0x0,drc=1.117,vo=0.000,m=0
03-18 18:48:32.622  1278  2485 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16621]algo_out Av=1.695,g=7.537,e_t=0.03001,LLS=0x154,Bv=0.207,Ev=5.098,PEv=5.207,Cvgd=0,lux=312,FS=0,gam=0.0,lls=0x0,drc=1.105,vo=0.000,m=0
03-18 18:48:32.655  1278  2485 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16622]algo_out Av=1.695,g=7.517,e_t=0.03001,LLS=0x154,Bv=0.203,Ev=5.102,PEv=5.203,Cvgd=1,lux=312,FS=0,gam=0.0,lls=0x0,drc=1.105,vo=0.000,m=0
03-18 18:48:32.787  1278  2489 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16624]algo_out Av=1.695,g=12.205,e_t=0.03001,LLS=0x154,Bv=-2.172,Ev=4.402,PEv=2.828,Cvgd=0,lux=367,FS=0,gam=0.0,lls=0x0,drc=1.091,vo=0.000,m=0
03-18 18:48:32.823  1278  2487 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16625]algo_out Av=1.695,g=13.491,e_t=0.03998,LLS=0x154,Bv=-2.172,Ev=3.844,PEv=2.828,Cvgd=0,lux=367,FS=0,gam=0.0,lls=0x0,drc=1.756,vo=0.000,m=0
03-18 18:48:32.839  1278  2486 E AF_DEBUG: UpdateAfStatus(173) : [cam_id_1] AF status 0x3 -> 0x2, called from : AfStagePhaseFindGoal(4365)  
03-18 18:48:32.849  1071 25778 E netd    : getUidTrafficStats: first key not obtained
03-18 18:48:32.854  1278  2489 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16626]algo_out Av=1.695,g=18.024,e_t=0.03998,LLS=0x154,Bv=-2.168,Ev=3.426,PEv=2.832,Cvgd=0,lux=367,FS=0,gam=0.0,lls=0x0,drc=2.100,vo=0.000,m=0
03-18 18:48:32.888  1278  2488 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16627]algo_out Av=1.695,g=19.816,e_t=0.03998,LLS=0x154,Bv=-1.695,Ev=3.289,PEv=3.305,Cvgd=0,lux=356,FS=0,gam=0.0,lls=0x0,drc=2.524,vo=0.000,m=0
03-18 18:48:32.925  1172 32145 I sensors-hal: handle_sns_client_event:540, [0][19499] accel_sample [ 0.024,  9.008,  3.944] 802093956616000
03-18 18:48:32.966  1278  2485 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16629]algo_out Av=1.695,g=19.870,e_t=0.03998,LLS=0x154,Bv=-1.500,Ev=3.285,PEv=3.500,Cvgd=0,lux=352,FS=0,gam=0.0,lls=0x0,drc=2.798,vo=0.000,m=0
03-18 18:48:33.005  1278  2484 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16630]algo_out Av=1.695,g=20.806,e_t=0.03998,LLS=0x154,Bv=-1.570,Ev=3.219,PEv=3.430,Cvgd=0,lux=353,FS=0,gam=0.0,lls=0x0,drc=2.723,vo=0.000,m=0
03-18 18:48:33.033  1278  2485 E AF_DEBUG: UpdateAfStatus(173) : [cam_id_1] AF status 0x2 -> 0x3, called from : UpdateAfStatusAtComplete(3602)  
03-18 18:48:33.033  1278  2485 E AF_DEBUG: AfStageComplete(3706) : [cam_id_1][AF_INFO] Final Lens position 1534  AF VERSION(0xF1A1) touch(x y : 0 0) roi(sx sy ex ey : 1616 1116 2384 1884) sensor(w h 4000 3000) af cal(1056 -8 1664 3144)
03-18 18:48:33.033  1278  2485 E AF_DEBUG: LogPrintAfResult(34) : [cam_id_1] ver(0xF1A1) | cur_position 1534 , bv -402 , af_method 3 , roi_type 0, fd_cnt 0 
03-18 18:48:33.046  1278  2485 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16631]algo_out Av=1.695,g=20.305,e_t=0.03998,LLS=0x154,Bv=-1.590,Ev=3.254,PEv=3.410,Cvgd=0,lux=354,FS=0,gam=0.0,lls=0x0,drc=2.608,vo=0.000,m=0
03-18 18:48:33.074  1278  2487 E AF_DEBUG: AfHistory_PrintData(832) : REWRAMSGF0A0_1 0 12051E 40C2607 0 12051E 40C2600 0 1C151E 40C25FD 0 1C111E 40C25FE 0 1C151E 40C25FE 0 18151E 40C35FE 0 0 0 0 0 0 0 0 0 0 0 0 
03-18 18:48:33.074  1278  2487 E AF_DEBUG: AfHistory_PrintData(838) : DUMPLOGINDEX_1 1024339 805817856 1150985 804244992 1485853 804769280 1094002 806342144 842997 807915008 767836 808963584 0 0 0 0 0 0 0 0 -402 
03-18 18:48:33.088  1278  2485 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16632]algo_out Av=1.695,g=19.978,e_t=0.03998,LLS=0x154,Bv=-1.613,Ev=3.277,PEv=3.387,Cvgd=0,lux=354,FS=0,gam=0.0,lls=0x0,drc=2.587,vo=0.000,m=0
03-18 18:48:33.126  1278  2489 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16633]algo_out Av=1.695,g=19.709,e_t=0.03998,LLS=0x154,Bv=-1.621,Ev=3.297,PEv=3.379,Cvgd=0,lux=355,FS=0,gam=0.0,lls=0x0,drc=2.559,vo=0.000,m=0
03-18 18:48:33.182  1172 25766 I sensors-hal: handle_sns_client_event:261, auto_rotation_debug_2 mode,255, type,1,0 acc,-0.005,8.999,4.006, ar,1, ver,10
03-18 18:48:33.207  1278  2487 I SS_3A   :  INFO: AEC: TsAec_process_get_aec_info: 2381: [W][16635]algo_out Av=1.695,g=19.762,e_t=0.03998,LLS=0x154,Bv=-1.613,Ev=3.293,PEv=3.387,Cvgd=1,lux=354,FS=0,gam=0.0,lls=0x0,drc=2.490,vo=0.000,m=0
03-18 18:48:33.294  1172  1954 D SensorsFlicker: Als_common::readEvents, enabled : 1, data : -1.000000, 50.000000, 0.000000, 0.000000, 124928.000000, 0.000000, 0.000000
03-18 18:48:33.350  1071 25778 E netd    : getUidTrafficStats: first key not obtained
03-18 18:48:33.416  1278  2487 E CamX    : [ERROR][SW_PROC] bitmlengine.cpp:361 BITMLEngineExecute() success executed! clientID: 0, networkID: 8, 
03-18 18:48:33.471   809   809 D io_stats: !@   8,0 r 70990965 1464219744 w 23170608 241044900 d 452880 56393032 f 0 0 iot 36213492 0 th 0 0 0 pt 0 inp 0 0 336405.165
03-18 18:48:33.851  1071 25778 E netd    : getUidTrafficStats: first key not obtained
03-18 18:48:33.898 20591 20591 I wpa_supplicant: Heartbeat 31163
03-18 18:48:34.010  1172  1954 D SensorsFlicker: Als_common::readEvents, enabled : 1, data : -1.000000, 100.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000
03-18 18:48:34.352  1071 25778 E netd    : getUidTrafficStats: first key not obtained
03-18 18:48:34.710  1172  1954 D SensorsFlicker: Als_common::readEvents, enabled : 1, data : -1.000000, 100.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000
03-18 18:48:34.854  1071 25778 E netd    : getUidTrafficStats: first key not obtained
03-18 18:48:34.886  1517  2000 D PowerManagerService: UserActivityStateListenerState: 0
03-18 18:48:34.924  1517  4602 D SemWifiUsabilityStatsMonitor: onWifiUsabilityStats - seqNum 70830, isSameBssidAndFreq true
03-18 18:48:34.926  1517  3128 I SemWifiLinkQualityMonitor: Unreliable Tx statistics: 0 || QoS: 0,00 ms / 0,00 Mbps (N) / 0 (1)
03-18 18:48:34.929  3252  3252 D StatusBarIconController: ignoring old pipeline callback because the new wifi icon is enabled
03-18 18:48:34.950  3252  3252 D StatusBarIconController: ignoring old pipeline callbacks, because the new mobile icons are enabled
03-18 18:48:34.986  1172 32145 I sensors-hal: handle_sns_client_event:540, [0][19530] accel_sample [ 0.024,  9.005,  3.955] 802096017418916

Camera Device

{
  "formats": [],
  "sensorOrientation": "landscape-left",
  "hardwareLevel": "full",
  "maxZoom": 8,
  "minZoom": 1,
  "maxExposure": 20,
  "supportsLowLightBoost": false,
  "neutralZoom": 1,
  "physicalDevices": [
    "wide-angle-camera"
  ],
  "supportsFocus": true,
  "supportsRawCapture": true,
  "isMultiCam": false,
  "minFocusDistance": 10,
  "minExposure": -20,
  "name": "BACK (0)",
  "hasFlash": true,
  "hasTorch": true,
  "position": "back",
  "id": "0"
}

Device

Samsung Galaxy S21 FE(SM-G990B/DS)

VisionCamera Version

^3.9.1

Can you reproduce this issue in the VisionCamera Example app?

I didn't try (⚠️ your issue might get ignored & closed if you don't try this)

Additional information

impodracer commented 6 months ago

I have just the same issue with v3.9.1 on Pixel 2 XL / Android 11 😒

mrousavy commented 6 months ago

Hey! I just released a new V4 beta (v4.0.0-beta.7) where I fixed a bunch of issues! πŸ’ͺπŸš€ Can you test that and see if that fixes the issue for you? πŸ˜…

yarn add react-native-vision-camera@beta

You might need to increase the compileSdk to the newest Android SDK (34) if you are behind.

AndriyZahura commented 6 months ago

Hey! I just released a new V4 beta (v4.0.0-beta.7) where I fixed a bunch of issues! πŸ’ͺπŸš€ Can you test that and see if that fixes the issue for you? πŸ˜…

yarn add react-native-vision-camera@beta

You might need to increase the compileSdk to the newest Android SDK (34) if you are behind.

Thanks a lot, it does fix it indeed! I will also try on another device which was not working. Can you tell me, approximately, when will the v4.0.0 be released? Or what precise commit fixes this issue? I can patch the library locally just to fix that issue, since I can't upgrade to SDK 34 atm.

daimonkor commented 6 months ago

But please check codeScanner, beta version failed with current feature (ignore codes)

mrousavy commented 6 months ago

@daimonkor I have no idea what you meant with that message, what does "beta version failed with current feature" mean?

There was a bug that Images are not being released properly, I fixed that in latest beta.

mrousavy commented 6 months ago

Thanks a lot, it does fix it indeed! I will also try on another device which was not working. Can you tell me, approximately, when will the v4.0.0 be released? Or what precise commit fixes this issue? I can patch the library locally just to fix that issue, since I can't upgrade to SDK 34 atm.

Great to hear everything works fine! A lot of research went into this. V4 will take a few more days or weeks of testing.

I can't upgrade to SDK 34 atm.

Why not? This is a simple non-breaking change in every app. Everytime Android releases a new SDK, you have to bump your target SDK to that new SDK to use the latest features anyways.

daimonkor commented 6 months ago

@daimonkor I have no idea what you meant with that message, what does "beta version failed with current feature" mean?

There was a bug that Images are not being released properly, I fixed that in latest beta.

it is simple - nothing happed, ignore codeScanner handler when I tried show qr code, no error, no warning. But if I returned 3.9.1 - codeScanner works great. Please try check hello world qr code scanner with help 4.0.0 betas builds. thanks a lot for help.

mrousavy commented 6 months ago

please try check latest V4 beta.

daimonkor commented 6 months ago

please try check latest V4 beta.

Greate, it works good, thanks a lot 4.0.0-beta.10

arslanafzal077 commented 6 months ago

I've tested the beta versions, but encountered this issue with the camera preview. Despite multiple attempts, the screen remains black, hindering further evaluation. the camera preview doesn't appear after beta6 in v4beta6 it works fine

daimonkor commented 6 months ago

i tried beta version but there is black screen no preview .so i could not go further to check if the issue still persist or not

I have black screen along 1 s while startup camera and no erros and works good

mrousavy commented 5 months ago

Hey - I think this issue has been fixed in VisionCamera 4.0.0. πŸ₯³

Please try V4 and let me know if you still experience this issue;

minhkwan commented 4 months ago

Thanks a lot for this library. My application is in the production phase and it is using 3.9.2. I'm afraid that 4.0 is just newly released, it will have some bugs that I / we can't anticipate. So do you have any pr / commit to fix this in 3.9.2? Or it was fixed by rewriting all the CameraX which you do in 4.0.0? Tks!

mrousavy commented 4 months ago

Nice to hear VisionCamera being used in production everywhere.

This was fixed in V4, not in V3.