react-native-vision-camera icon indicating copy to clipboard operation
react-native-vision-camera copied to clipboard

πŸ› The picture looks blurry ( out of focus) in Camera View but comes out focused after clicking on Ipad

Open rsainiWin opened this issue 1 year ago β€’ 11 comments

What's happening?

I'm encountering problems with camera focus before taking a picture. The camera attempts to focus but consistently fails.

I've implemented tap-to-focus functionality, but it's returning undefined unexpectedly.

Expected Behavior: The Camera should focus successfully before taking a picture. Tap-to-focus should be able to focus at point.

Actual Behavior: The Camera fails to focus. Tap-to-focus returns undefined.

This is an issue with most users using IPad, I'd this issue on 4.3.1 as well

I tried Installing shadowlens it's working fine over there

Reproduceable Code

const camera = useRef<Camera>(null);
const onFocusTap = useCallback(
    async ({nativeEvent: event}: GestureResponderEvent) => {
      if (!device?.supportsFocus) return;
      await camera.current?.focus({
        x: event.locationX,
        y: event.locationY,
      });
    },
    [device?.supportsFocus],
  );

<Reanimated.View onTouchEnd={onFocusTap} style={StyleSheet.absoluteFill}>
  <ReanimatedCamera
    style={StyleSheet.absoluteFill}
    device={device}
    isActive={isEnabled}
    ref={camera}
    enableHighQualityPhotos={false}
    format={format}
    photoQualityBalance={'balanced'}
    orientation="portrait"
    photo={true}
  />
</Reanimated.View>

Relevant log output

default	20:55:49.657092+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke_2: <private> changed... newDownplayUserPreferredCameraOverrideHistory = F (based on <private>), new user preferred camera history <private>
default	20:55:49.657197+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: dispatching async to preferred camera property refresh queue
default	20:55:49.657313+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _cameraHistoryDispatchQueue]_block_invoke: using main queue for refreshing camera properties
default	20:55:49.657428+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: async dispatch to preferred camera property refresh queue returned
default	20:55:49.657511+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: change handler for <private> returning
default	20:55:49.657579+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: not refreshing camera properties because camera history is not set up yet.
default	20:55:49.657721+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: <private> changed... newDownplayUserPreferredCameraOverrideHistory = F (based on <private>), new user preferred camera override history <private>
default	20:55:49.657773+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: dispatching async to preferred camera property refresh queue
default	20:55:49.657818+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: async dispatch to preferred camera property refresh queue returned
default	20:55:49.657864+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: change handler for <private> returning
default	20:55:49.657910+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: not refreshing camera properties because camera history is not set up yet.
default	20:55:49.658056+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: <private> changed... new streaming camera history <private>
default	20:55:49.658102+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: dispatching async to preferred camera property refresh queue
default	20:55:49.658147+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: async dispatch to preferred camera property refresh queue returned
default	20:55:49.658220+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: change handler for <private> returning
default	20:55:49.658272+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: not refreshing camera properties because camera history is not set up yet.
default	20:55:49.658320+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke: doing deferred dispatch async to preferred camera property refresh queue
default	20:55:49.658456+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _setUpCameraHistoryOnce]_block_invoke_2: deferred async dispatch to preferred camera property refresh queue returned
default	20:55:49.658569+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: getting current value for userPreferredCamera (allowsSuspendedPreferredCameras = F)
default	20:55:49.674781+0530	WINspect-dev	<<<< AVCaptureDevice >>>> +[AVCaptureDevice _checkEligiblityForEffect:]: App with preferencesDomain '<private>' bundle '<private>' is NOT eligible for NSCameraReactionEffectsEnabled effects
default	20:55:49.674977+0530	WINspect-dev	<<<< AVCaptureDevice >>>> +[AVCaptureDevice reactionEffectGesturesEnabledDefault]_block_invoke: Using default from system 1
default	20:55:49.687681+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: current list of devices:
default	20:55:49.687822+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.687871+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.687916+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688035+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688081+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688127+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688172+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: -------------
default	20:55:49.688263+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: devices with media types <private>:
default	20:55:49.688333+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688391+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688438+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688558+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688630+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.688682+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: -------------
default	20:55:49.688730+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: 4. returning first available entry in streamingCameraHistory because it is a member of devicesWithMediaType and has suitable suspended state: <private>[F]
default	20:55:49.688841+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: getting current value for systemPreferredCamera (allowsSuspendedPreferredCameras = F)
default	20:55:49.688937+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: current list of devices:
default	20:55:49.689080+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.689524+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.689838+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690105+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690164+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690211+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690257+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: -------------
default	20:55:49.690397+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: devices with media types <private>:
default	20:55:49.690490+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690534+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690629+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690675+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690721+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: <private>
default	20:55:49.690766+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: -------------
default	20:55:49.690939+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _defaultDeviceWithDeviceType:mediaTypes:position:cameraOverrideHistoryAllowed:cameraOverrideHistorySuspendedAllowed:wombatsMustBeMagic:userPreferredCameraHistorySuspendedAllowed:invalidSpecialDeviceTypes:]: 4. returning first available entry in streamingCameraHistory because it is a member of devicesWithMediaType and has suitable suspended state: <private>[F]
default	20:55:49.695125+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: userPreferredCameraChanged T, resolved userPreferredCamera = <AVCaptureFigVideoDevice: 0x1099d8600 [Back Dual Wide Camera][com.apple.avfoundation.avcapturedevice.built-in_video:6]>, current sUserPreferredCamera = (null)
default	20:55:49.695278+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: systemPreferredCameraChanged T, resolved systemPreferredCamera = <AVCaptureFigVideoDevice: 0x1099d8600 [Back Dual Wide Camera][com.apple.avfoundation.avcapturedevice.built-in_video:6]>, current sSystemPreferredCamera = (null)
default	20:55:49.695414+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: changing sUserPreferredCamera from (null) to <AVCaptureFigVideoDevice: 0x1099d8600 [Back Dual Wide Camera][com.apple.avfoundation.avcapturedevice.built-in_video:6]>
default	20:55:49.695473+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> +[AVCaptureFigVideoDevice _refreshPreferredCameraProperties:]: changing sSystemPreferredCamera from (null) to <AVCaptureFigVideoDevice: 0x1099d8600 [Back Dual Wide Camera][com.apple.avfoundation.avcapturedevice.built-in_video:6]>
default	20:55:50.708751+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession init]: (0x30035aca0) called
default	20:55:50.710766+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _initWithMediaEnvironment:]: (0x30035aca0) finished
default	20:55:50.710897+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession init]: (0x300322770) called
default	20:55:50.711086+0530	WINspect-dev	Task <94B19EB3-F414-423D-862E-DF32A9EFE2FB>.<1> response ended
default	20:55:50.711134+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _initWithMediaEnvironment:]: (0x300322770) finished
default	20:55:50.711357+0530	WINspect-dev	Task <94B19EB3-F414-423D-862E-DF32A9EFE2FB>.<1> summary for task success {transaction_duration_ms=309, response_status=204, connection=46, protocol="h2", domain_lookup_duration_ms=4, connect_duration_ms=165, secure_connection_duration_ms=123, private_relay=false, request_start_ms=172, request_duration_ms=0, response_start_ms=301, response_duration_ms=8, request_bytes=687, response_bytes=204, cache_hit=false}
default	20:55:50.711585+0530	WINspect-dev	Task <94B19EB3-F414-423D-862E-DF32A9EFE2FB>.<1> finished successfully
default	20:55:50.713234+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _addVideoPreviewLayer:exceptionReason:]: (0x30035aca0) <AVCaptureVideoPreviewLayer: 0x300eb49f0>
default	20:55:50.713284+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x30035aca0)
default	20:55:50.713380+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035aca0) updated beginConfigRefCount 1
default	20:55:50.713628+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x30035aca0)
default	20:55:50.714710+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035aca0) updated beginConfigRefCount 0
default	20:55:50.714831+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) called. skipConfig: 0
default	20:55:50.715607+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) New fcs config(1)
default	20:55:50.715998+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) Setting fcs config(1) FigCaptureSessionConfiguration 0x3019e0340: ID 1, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
default	20:55:50.776196+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x30035aca0)
default	20:55:50.776290+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035aca0) updated beginConfigRefCount 1
default	20:55:50.776863+0530	WINspect-dev	[0x10764b370] activating connection: mach=true listener=false peer=false name=com.apple.audio.AudioSession
default	20:55:50.778250+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession addInput:]: (0x30035aca0) <AVCaptureDeviceInput: 0x30007f760 [Back Dual Wide Camera]>
default	20:55:50.778296+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035aca0) updated beginConfigRefCount 2
default	20:55:50.783530+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035aca0) updated beginConfigRefCount 1
default	20:55:50.783576+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) called. skipConfig: 1
default	20:55:50.783735+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
default	20:55:50.783896+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
default	20:55:50.784007+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
default	20:55:50.785881+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
default	20:55:50.786272+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession addOutput:]: (0x30035aca0) <AVCapturePhotoOutput: 0x3001c91a0>
default	20:55:50.788961+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035aca0) updated beginConfigRefCount 2
default	20:55:50.789146+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035aca0) updated beginConfigRefCount 1
default	20:55:50.789257+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) called. skipConfig: 1
default	20:55:50.789530+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveFormat:resetVideoZoomFactorAndMinMaxFrameDurations:sessionPreset:]: format:<AVCaptureDeviceFormat: 0x30032c5e0 'vide'/'420f' 1920x1080, { 1- 30 fps}, photo dims:{1920x1080,4224x2376}, fov:111.590, gdc fov:74.268, supports vis (max strength:Low), max zoom:123.75 (upscales @2.00), AF System:2, ISO:18.0-1728.0, SS:0.000024-1.000000, supports HDR, supports wide color, supports multicam> preset:AVCaptureSessionPresetHigh
default	20:55:50.789639+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
default	20:55:50.789736+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
default	20:55:50.790832+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveFormat:resetVideoZoomFactorAndMinMaxFrameDurations:sessionPreset:]: format:<AVCaptureDeviceFormat: 0x30032c5d0 'vide'/'420v'  640x 480, { 2- 60 fps}, photo dims:{640x480,2016x1512}, fov:104.811, gdc fov:100.241, binned, max zoom:94.50 (upscales @3.15), AF System:1, ISO:18.0-1728.0, SS:0.000016-0.500000, supports multicam> preset:(null)
default	20:55:50.791734+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035aca0) updated beginConfigRefCount 2
default	20:55:50.791873+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035aca0) updated beginConfigRefCount 1
default	20:55:50.791966+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) called. skipConfig: 1
default	20:55:50.792269+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:55:50.792365+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:55:50.792409+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035aca0) updated beginConfigRefCount 2
default	20:55:50.792503+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035aca0) updated beginConfigRefCount 1
default	20:55:50.792548+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) called. skipConfig: 1
default	20:55:50.792685+0530	WINspect-dev	<private>: Will add backgroundTask with taskName: <private>, expirationHandler: <__NSGlobalBlock__: 0x2034a3440>
default	20:55:50.792972+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:55:50.793164+0530	WINspect-dev	<private>: Reusing background assertion <BKSProcessAssertion: 0x3022e7b10>
default	20:55:50.793260+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:55:50.793397+0530	WINspect-dev	<private>: Incrementing reference count for background assertion <private>
default	20:55:50.793544+0530	WINspect-dev	<private>: Created background task <private>.
default	20:55:50.793637+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035aca0) updated beginConfigRefCount 2
default	20:55:50.793731+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035aca0) updated beginConfigRefCount 1
default	20:55:50.793879+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) called. skipConfig: 1
default	20:55:50.794182+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:55:50.794229+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:55:50.794714+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:55:50.794811+0530	WINspect-dev	<private>: Ending background task with UIBackgroundTaskIdentifier: 572
default	20:55:50.794888+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:55:50.794981+0530	WINspect-dev	<private>: Ending task with identifier 572 and description: <private>, _expireHandler: <__NSGlobalBlock__: 0x2034a3440>
default	20:55:50.795222+0530	WINspect-dev	<private>: Decrementing reference count for assertion <private> (used by background task with identifier 572: <private>)
default	20:55:50.795480+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x30035aca0)
default	20:55:50.795723+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035aca0) updated beginConfigRefCount 0
default	20:55:50.795913+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) called. skipConfig: 0
default	20:55:50.796005+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:55:50.796201+0530	WINspect-dev	    AVAudioSession_iOS.mm:1689  Created session 0x30035b1f0 with ID: 0x155079
default	20:55:50.796426+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:55:50.799510+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) New fcs config(2)
default	20:55:50.800662+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) Setting fcs config(2) FigCaptureSessionConfiguration 0x3019e2600: ID 2, AVCaptureSessionPresetInputPriority multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
	VC 0x3025f3a80: <SRC:WideBravo back 420v/640x480, 60-60(max:60), Z:1.00, ICM:0, (FD E:0 B:0 S:0), GDC:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x302a34460:VideoPreview depth:0 filters:0 [] PrimaryCaptureRectModification:0, Aspect:0.000:1, Center:0.500 0.500, UniqueID:0 ZoomPIP:0 PortraitAutoSuggest:0>, /0x0, E:1, VIS:0, M:0, O:Unspecified, DOC:0, RBC:0, CIM:0
	VC 0x3025f1920: <SRC:WideBravo back 420v/640x480, 60-60(max:60), Z:1.00, ICM:0, (FD E:0 B:0 S:0), GDC:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x3033f8630:Iris movies:0, suspended:0, preserveSuspended:0, movieDur:nans, trim:0, 0fps, preparedID:2, (QHR ON) maxQuality:2, (
default	20:55:50.800712+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession startRunning]: (0x30035aca0) (pthread:0x16dd23000)
default	20:55:50.800757+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) called. skipConfig: 0
default	20:55:50.804456+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:55:50.824595+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:55:50.836018+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035aca0) New fcs config(3)
default	20:55:51.145450+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _setRunning:]: (0x30035aca0) posting AVCaptureSessionDidStartRunningNotification
default	20:55:51.146560+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x300322770)
default	20:55:51.146625+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x300322770) updated beginConfigRefCount 1
default	20:55:51.146675+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x300322770) updated beginConfigRefCount 2
default	20:55:51.146724+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x300322770) updated beginConfigRefCount 1
default	20:55:51.146775+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x300322770) called. skipConfig: 1
default	20:55:51.146874+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x300322770)
default	20:55:51.146970+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x300322770) updated beginConfigRefCount 0
default	20:55:51.147051+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x300322770) called. skipConfig: 0
default	20:55:51.147156+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x300322770) New fcs config(4)
default	20:55:51.147221+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x300322770) Setting fcs config(4) FigCaptureSessionConfiguration 0x3019e5cc0: ID 4, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 0, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
default	20:58:37.882647+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession init]: (0x30031e110) called
default	20:58:37.884016+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _initWithMediaEnvironment:]: (0x30031e110) finished
default	20:58:37.884346+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession init]: (0x30035bcb0) called
default	20:58:37.884725+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _initWithMediaEnvironment:]: (0x30035bcb0) finished
default	20:58:37.884999+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _addVideoPreviewLayer:exceptionReason:]: (0x30031e110) <AVCaptureVideoPreviewLayer: 0x300e61260>
default	20:58:37.885059+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x30031e110)
default	20:58:37.885106+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:37.885174+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x30031e110)
default	20:58:37.885222+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 0
default	20:58:37.885267+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 0
default	20:58:37.885361+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) New fcs config(6)
default	20:58:37.885411+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) Setting fcs config(6) FigCaptureSessionConfiguration 0x301851c40: ID 6, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
default	20:58:37.924213+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x30031e110)
default	20:58:37.924369+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:37.924420+0530	WINspect-dev	    AVAudioSession_iOS.mm:2654  Activated session 0x155074
default	20:58:37.924663+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession addInput:]: (0x30031e110) <AVCaptureDeviceInput: 0x3001cfe00 [Back Dual Wide Camera]>
default	20:58:37.924762+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 2
default	20:58:37.924901+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:37.924948+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 1
default	20:58:37.925086+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveFormat:resetVideoZoomFactorAndMinMaxFrameDurations:sessionPreset:]: format:<AVCaptureDeviceFormat: 0x30032c470 'vide'/'420v' 1920x1080, { 1- 30 fps}, photo dims:{1920x1080,4224x2376}, fov:111.590, gdc fov:74.268, supports vis (max strength:Low), max zoom:123.75 (upscales @2.00), AF System:2, ISO:18.0-1728.0, SS:0.000024-1.000000, supports HDR, supports multicam> preset:AVCaptureSessionPresetHigh
default	20:58:37.925231+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
default	20:58:37.925328+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
default	20:58:37.925488+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession addOutput:]: (0x30031e110) <AVCapturePhotoOutput: 0x3001c2220>
default	20:58:37.925534+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 2
default	20:58:37.925734+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:37.925782+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 1
default	20:58:37.925873+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveFormat:resetVideoZoomFactorAndMinMaxFrameDurations:sessionPreset:]: format:<AVCaptureDeviceFormat: 0x30032c5e0 'vide'/'420f' 1920x1080, { 1- 30 fps}, photo dims:{1920x1080,4224x2376}, fov:111.590, gdc fov:74.268, supports vis (max strength:Low), max zoom:123.75 (upscales @2.00), AF System:2, ISO:18.0-1728.0, SS:0.000024-1.000000, supports HDR, supports wide color, supports multicam> preset:AVCaptureSessionPresetHigh
default	20:58:37.932115+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 30
default	20:58:37.932177+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 30
error	20:58:37.932485+0530	WINspect-dev	CGAffineTransformInvert: singular matrix.
default	20:58:37.933813+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveFormat:resetVideoZoomFactorAndMinMaxFrameDurations:sessionPreset:]: format:<AVCaptureDeviceFormat: 0x30032c5d0 'vide'/'420v'  640x 480, { 2- 60 fps}, photo dims:{640x480,2016x1512}, fov:104.811, gdc fov:100.241, binned, max zoom:94.50 (upscales @3.15), AF System:1, ISO:18.0-1728.0, SS:0.000016-0.500000, supports multicam> preset:(null)
default	20:58:37.933871+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 2
default	20:58:37.933922+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:37.933968+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 1
default	20:58:37.934228+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:58:37.934288+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:58:37.935453+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 2
default	20:58:37.935678+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:37.936000+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 1
default	20:58:37.936414+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:58:37.936785+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:58:37.938067+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 2
default	20:58:37.938724+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:37.940047+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 1
default	20:58:37.941168+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:58:37.941463+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:58:37.942141+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:58:37.942286+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:58:37.943145+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x30031e110)
default	20:58:37.944020+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 0
default	20:58:37.944067+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 0
default	20:58:37.944166+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:58:37.944216+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:58:37.952614+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) New fcs config(7)
default	20:58:37.953195+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) Setting fcs config(7) FigCaptureSessionConfiguration 0x3019bf700: ID 7, AVCaptureSessionPresetInputPriority multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
	VC 0x3025f19e0: <SRC:WideBravo back 420v/640x480, 60-60(max:60), Z:1.00, ICM:0, (FD E:0 B:0 S:0), GDC:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x302a42c30:VideoPreview depth:0 filters:0 [] PrimaryCaptureRectModification:0, Aspect:0.000:1, Center:0.500 0.500, UniqueID:0 ZoomPIP:0 PortraitAutoSuggest:0>, /0x0, E:1, VIS:0, M:0, O:Unspecified, DOC:0, RBC:0, CIM:0
	VC 0x3025f3d20: <SRC:WideBravo back 420v/640x480, 60-60(max:60), Z:1.00, ICM:0, (FD E:0 B:0 S:0), GDC:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x303234360:Iris movies:0, suspended:0, preserveSuspended:0, movieDur:nans, trim:0, 0fps, preparedID:4, (QHR ON) maxQuality:2, (
default	20:58:37.959043+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession startRunning]: (0x30031e110) (pthread:0x16d127000)
default	20:58:37.960599+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 0
default	20:58:37.963120+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:58:37.963299+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:58:37.964729+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) New fcs config(8)
default	20:58:38.463370+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _setRunning:]: (0x30031e110) posting AVCaptureSessionDidStartRunningNotification
default	20:58:38.463459+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x30035bcb0)
default	20:58:38.463555+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035bcb0) updated beginConfigRefCount 1
default	20:58:38.463601+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035bcb0) updated beginConfigRefCount 2
default	20:58:38.463646+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035bcb0) updated beginConfigRefCount 1
default	20:58:38.463704+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035bcb0) called. skipConfig: 1
default	20:58:38.464397+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession addInput:]: (0x30035bcb0) <AVCaptureDeviceInput: 0x300197800 [iPad Microphone]>
default	20:58:38.464504+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035bcb0) updated beginConfigRefCount 2
default	20:58:38.467231+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035bcb0) updated beginConfigRefCount 1
default	20:58:38.467247+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035bcb0) called. skipConfig: 1
default	20:58:38.467336+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession addOutput:]: (0x30035bcb0) <AVCaptureAudioDataOutput: 0x300188940>
default	20:58:38.467350+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035bcb0) updated beginConfigRefCount 2
default	20:58:38.467447+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035bcb0) updated beginConfigRefCount 1
default	20:58:38.467461+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035bcb0) called. skipConfig: 1
default	20:58:38.467489+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x30035bcb0)
default	20:58:38.467504+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035bcb0) updated beginConfigRefCount 0
default	20:58:38.467519+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035bcb0) called. skipConfig: 0
default	20:58:38.467602+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035bcb0) New fcs config(9)
default	20:58:38.467699+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035bcb0) Setting fcs config(9) FigCaptureSessionConfiguration 0x3014119c0: ID 9, AVCaptureSessionPresetHigh multiCam: 0, appAudio: 1, autoConfig: 0, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1

default	20:58:44.893558+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession dealloc]: (0x30035bcb0) (pthread 0x20070bec0)
default	20:58:44.893605+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035bcb0) updated beginConfigRefCount 1
default	20:58:44.893625+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession removeInput:]: (0x30035bcb0) <AVCaptureDeviceInput: 0x300197800 [iPad Microphone]>
default	20:58:44.893645+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035bcb0) updated beginConfigRefCount 2
default	20:58:44.893704+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035bcb0) updated beginConfigRefCount 1
default	20:58:44.893721+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035bcb0) called. skipConfig: 1
default	20:58:44.893853+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession removeOutput:]: (0x30035bcb0) <AVCaptureAudioDataOutput: 0x300188940>
default	20:58:44.893923+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30035bcb0) updated beginConfigRefCount 2
default	20:58:44.893973+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30035bcb0) updated beginConfigRefCount 1
default	20:58:44.894020+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30035bcb0) called. skipConfig: 1
default	20:58:44.895145+0530	WINspect-dev	Task <B4F1766B-AE40-4C7F-AFE7-14CA09063534>.<16> resuming, timeouts(15.0, 604800.0) QOS(0x19) Voucher (null)
default	20:58:44.901957+0530	WINspect-dev	Task <B4F1766B-AE40-4C7F-AFE7-14CA09063534>.<16> summary for task success {transaction_duration_ms=3, response_status=-1, cache_hit=false}
default	20:58:44.902020+0530	WINspect-dev	Task <B4F1766B-AE40-4C7F-AFE7-14CA09063534>.<16> finished successfully
default	20:58:44.908170+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession beginConfiguration]: (0x30031e110)
default	20:58:44.908271+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:44.908983+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession commitConfiguration]: (0x30031e110)
default	20:58:44.909188+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 0
default	20:58:44.909315+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 0
default	20:58:44.909564+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMinFrameDurationInternal:]: MinFrameDuration to set 1 / 60
default	20:58:44.909666+0530	WINspect-dev	<<<< AVCaptureFigVideoDevice >>>> -[AVCaptureFigVideoDevice _setActiveVideoMaxFrameDurationInternal:]: MaxFrameDuration to set 1 / 60
default	20:58:44.912116+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) New fcs config(10)
default	20:58:44.912223+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) Setting fcs config(10) FigCaptureSessionConfiguration 0x301804640: ID 10, AVCaptureSessionPresetInputPriority multiCam: 0, appAudio: 1, autoConfig: 1, runWhileMultitasking: 0, checkIfFileAlreadyExistForMFO: 1
	VC 0x3025e66a0: <SRC:WideBravo back 420v/640x480, 60-60(max:60), Z:2.00, ICM:0, (FD E:0 B:0 S:0), GDC:1, GS: 1, FaceDrivenAEAFMode:3, FaceDrivenAEAFEnabledByDefault:1, cameraMountedInLandscape: YES> -> <SINK 0x303328750:Iris movies:0, suspended:0, preserveSuspended:0, movieDur:nans, trim:0, 0fps, preparedID:6, (QHR ON) maxQuality:2, (maxPhotoDims 2016x1512)>, /0x0, E:1, VIS:0, M:0, O:Unspecified, DOC:0, RBC:0, CIM:0
default	20:58:44.953748+0530	WINspect-dev	Task <5CA3711B-4326-46FF-B8F3-6C51194538DD>.<223> response ended
default	20:58:44.953794+0530	WINspect-dev	Task <5CA3711B-4326-46FF-B8F3-6C51194538DD>.<223> done using Connection 56
default	20:58:44.953932+0530	WINspect-dev	[C56] event: client:connection_idle @2.381s
default	20:58:44.953996+0530	WINspect-dev	Task <5CA3711B-4326-46FF-B8F3-6C51194538DD>.<223> summary for task success {transaction_duration_ms=2381, response_status=200, connection=56, protocol="http/1.1", domain_lookup_duration_ms=5, connect_duration_ms=454, secure_connection_duration_ms=238, private_relay=false, request_start_ms=462, request_duration_ms=0, response_start_ms=779, response_duration_ms=1602, request_bytes=322, response_bytes=2579782, cache_hit=false}
default	20:58:44.954103+0530	WINspect-dev	Task <5CA3711B-4326-46FF-B8F3-6C51194538DD>.<223> finished successfully
default	20:58:44.954335+0530	WINspect-dev	[C56] event: client:connection_idle @2.381s
default	20:58:45.008649+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession dealloc]: (0x30031e110) (pthread 0x20070bec0)
default	20:58:45.008815+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:45.008908+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession removeInput:]: (0x30031e110) <AVCaptureDeviceInput: 0x3001cfe00 [Back Dual Wide Camera]>
default	20:58:45.009202+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 2
default	20:58:45.009301+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:45.010314+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 1
default	20:58:45.011905+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession removeOutput:]: (0x30031e110) <AVCapturePhotoOutput: 0x3001c2220>
default	20:58:45.011950+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _beginConfiguration]: (0x30031e110) updated beginConfigRefCount 2
default	20:58:45.011996+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _commitConfiguration]: (0x30031e110) updated beginConfigRefCount 1
default	20:58:45.012042+0530	WINspect-dev	<<<< AVCaptureSession >>>> -[AVCaptureSession _buildAndRunGraph:]: (0x30031e110) called. skipConfig: 1

Camera Device

{
 "position": "back",
 "hasTorch": true,
 "minFocusDistance": 12,
 "id": "com.apple.avfoundation.avcapturedevice.built-in_video:6",
 "maxZoom": 123.75,
 "hardwareLevel": "full",
 "minZoom": 1,
 "name": "Back Dual Wide Camera",
 "hasFlash": true,
 "minExposure": -8,
 "formats": [],
 "physicalDevices": [
  "ultra-wide-angle-camera",
  "wide-angle-camera"
 ],
 "neutralZoom": 2,
 "supportsRawCapture": false,
 "supportsFocus": true,
 "isMultiCam": true,
 "supportsLowLightBoost": false,
 "maxExposure": 8,
 "sensorOrientation": "portrait"
}

Device

IPad pro 11 inch 2gen

VisionCamera Version

4.5.1

Can you reproduce this issue in the VisionCamera Example app?

Yes, I can reproduce the same issue in the Example app here

Additional information

rsainiWin avatar Aug 08 '24 15:08 rsainiWin

Guten Tag, Hans here! 🍻

Thank you for reporting this issue. From your description, it seems like the camera focus functionality has an unexpected behavior on the iPad. However, I notice that while you provided quite a bit of detail, there are no specific logs related to the camera's behavior. For us to better assist mrousavy, please include the iOS logs you can find in Xcode's console when reproducing the issue. This information will help pinpoint where the problem lies.

If you haven't already, you can gather logs by running your app in Xcode and observing the console output. This is crucial for debugging.

If there’s nothing further, you might consider sponsoring the project to help ensure faster support moving forward, check out the sponsorship options here!

Looking forward to your update!

Note: If you think I made a mistake, please ping @mrousavy to take a look.

maintenance-hans[bot] avatar Aug 08 '24 15:08 maintenance-hans[bot]

These are logs from xcode only @mrousavy

rsainiWin avatar Aug 08 '24 15:08 rsainiWin

https://github.com/user-attachments/assets/f876e971-ab7c-41a1-97f8-4eca2aa9a174

rsainiWin avatar Aug 08 '24 15:08 rsainiWin

What format are you using

mrousavy avatar Aug 08 '24 18:08 mrousavy

This is what we use in general {autoFocusSystem: 'phase-detection'}, {photoAspectRatio: 1}, { photoResolution: Platform.OS === 'ios' ? 'max' : {width: 1080, height: 1080}, },

I've tried different focus system and removed other settings as well

rsainiWin avatar Aug 09 '24 08:08 rsainiWin

No, I'm saying show me your format. Log it. Print it's content. Not the format filter.

mrousavy avatar Aug 09 '24 10:08 mrousavy

Sorry for the confusion Kind of working ( not properly) when autoFocusSystem = contrast-detection {"autoFocusSystem": "contrast-detection", "fieldOfView": 104.81095123291016, "maxFps": 60, "maxISO": 1728, "minFps": 2, "minISO": 18, "photoHeight": 1512, "photoWidth": 2016, "supportsDepthCapture": false, "supportsPhotoHdr": false, "supportsVideoHdr": false, "videoHeight": 480, "videoStabilizationModes": ["auto", "off"], "videoWidth": 640}

NOt working when autoFocusSystem = phase-detection {"autoFocusSystem": "phase-detection", "fieldOfView": 97.53304290771484, "maxFps": 60, "maxISO": 1728, "minFps": 1, "minISO": 18, "photoHeight": 3024, "photoWidth": 3696, "supportsDepthCapture": false, "supportsPhotoHdr": false, "supportsVideoHdr": false, "videoHeight": 288, "videoStabilizationModes": ["auto", "off"], "videoWidth": 352}

rsainiWin avatar Aug 09 '24 11:08 rsainiWin

Also when i set to autoFocusSystem phase-detection the photo capture when using fails with below error Failed to take photo! [capture/unknown: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSUnderlyingError=0x302c23e40 {Error Domain=NSOSStatusErrorDomain Code=-16802 "(null)"}, NSLocalizedFailureReason=An unknown error occurred (-16802), AVErrorRecordingFailureDomainKey=4, NSLocalizedDescription=The operation could not be completed}]

rsainiWin avatar Aug 09 '24 14:08 rsainiWin

Also the Blur view has increased further on the latest version of library vs 4.3.1

rsainiWin avatar Aug 09 '24 16:08 rsainiWin

one of my Iphone 15 pro user also reported the same

rsainiWin avatar Aug 11 '24 15:08 rsainiWin

@mrousavy Findings: If i pass empty array to filter in format then Blurry issue is present If i dont pass the format prop itself then there's no blur issue

rsainiWin avatar Aug 14 '24 08:08 rsainiWin

@rsainiWin I'm getting reports from users using iPhone 15 pro, that focus isn't working at all. Have you experienced anything such as that?

lukebars avatar Oct 28 '24 10:10 lukebars

@lukebars I switched to native camera implementation. As camera was one of the very key feature for us.

rsainiWin avatar Oct 28 '24 10:10 rsainiWin