Android.Hardware.Camera2.CaptureResult.ControlAeState Property
StateTransition CauseNew StateNotes
INACTIVEINACTIVECamera device auto exposure algorithm is disabled
StateTransition CauseNew StateNotes
INACTIVECamera device initiates AE scanSEARCHINGValues changing
INACTIVECaptureRequest.ControlAeLock is ONLOCKEDValues locked
SEARCHINGCamera device finishes AE scanCONVERGEDGood values, not changing
SEARCHINGCamera device finishes AE scanFLASH_REQUIREDConverged but too dark w/o flash
SEARCHINGCaptureRequest.ControlAeLock is ONLOCKEDValues locked
CONVERGEDCamera device initiates AE scanSEARCHINGValues changing
CONVERGEDCaptureRequest.ControlAeLock is ONLOCKEDValues locked
FLASH_REQUIREDCamera device initiates AE scanSEARCHINGValues changing
FLASH_REQUIREDCaptureRequest.ControlAeLock is ONLOCKEDValues locked
LOCKEDCaptureRequest.ControlAeLock is OFFSEARCHINGValues not good after unlock
LOCKEDCaptureRequest.ControlAeLock is OFFCONVERGEDValues good after unlock
LOCKEDCaptureRequest.ControlAeLock is OFFFLASH_REQUIREDExposure good, but too dark
PRECAPTURESequence done. CaptureRequest.ControlAeLock is OFFCONVERGEDReady for high-quality capture
PRECAPTURESequence done. CaptureRequest.ControlAeLock is ONLOCKEDReady for high-quality capture
Any stateCaptureRequest.ControlAePrecaptureTrigger is STARTPRECAPTUREStart AE precapture metering sequence
StateTransition CauseNew StateNotes
INACTIVECamera device finished AE scanCONVERGEDValues are already good, transient states are skipped by camera device.
Any stateCaptureRequest.ControlAePrecaptureTrigger is START, sequence doneFLASH_REQUIREDConverged but too dark w/o flash after a precapture sequence, transient states are skipped by camera device.
Any stateCaptureRequest.ControlAePrecaptureTrigger is START, sequence doneCONVERGEDConverged after a precapture sequence, transient states are skipped by camera device.
CONVERGEDCamera device finished AE scanFLASH_REQUIREDConverged but too dark w/o flash after a new scan, transient states are skipped by camera device.
FLASH_REQUIREDCamera device finished AE scanCONVERGEDConverged after a new scan, transient states are skipped by camera device.

Syntax

[Android.Runtime.Register("CONTROL_AE_STATE")]
public static CaptureResult.Key ControlAeState { get; }

See Also

CaptureRequest.ControlAeLock
CaptureRequest.ControlAeMode
CaptureRequest.ControlAePrecaptureTrigger
CaptureRequest.ControlMode
CaptureRequest.ControlSceneMode
CameraCharacteristics.InfoSupportedHardwareLevel

Value

Documentation for this section has not yet been entered.

Remarks

StateTransition CauseNew StateNotes
INACTIVEINACTIVECamera device auto exposure algorithm is disabled
StateTransition CauseNew StateNotes
INACTIVECamera device initiates AE scanSEARCHINGValues changing
INACTIVECaptureRequest.ControlAeLock is ONLOCKEDValues locked
SEARCHINGCamera device finishes AE scanCONVERGEDGood values, not changing
SEARCHINGCamera device finishes AE scanFLASH_REQUIREDConverged but too dark w/o flash
SEARCHINGCaptureRequest.ControlAeLock is ONLOCKEDValues locked
CONVERGEDCamera device initiates AE scanSEARCHINGValues changing
CONVERGEDCaptureRequest.ControlAeLock is ONLOCKEDValues locked
FLASH_REQUIREDCamera device initiates AE scanSEARCHINGValues changing
FLASH_REQUIREDCaptureRequest.ControlAeLock is ONLOCKEDValues locked
LOCKEDCaptureRequest.ControlAeLock is OFFSEARCHINGValues not good after unlock
LOCKEDCaptureRequest.ControlAeLock is OFFCONVERGEDValues good after unlock
LOCKEDCaptureRequest.ControlAeLock is OFFFLASH_REQUIREDExposure good, but too dark
PRECAPTURESequence done. CaptureRequest.ControlAeLock is OFFCONVERGEDReady for high-quality capture
PRECAPTURESequence done. CaptureRequest.ControlAeLock is ONLOCKEDReady for high-quality capture
Any stateCaptureRequest.ControlAePrecaptureTrigger is STARTPRECAPTUREStart AE precapture metering sequence
StateTransition CauseNew StateNotes
INACTIVECamera device finished AE scanCONVERGEDValues are already good, transient states are skipped by camera device.
Any stateCaptureRequest.ControlAePrecaptureTrigger is START, sequence doneFLASH_REQUIREDConverged but too dark w/o flash after a precapture sequence, transient states are skipped by camera device.
Any stateCaptureRequest.ControlAePrecaptureTrigger is START, sequence doneCONVERGEDConverged after a precapture sequence, transient states are skipped by camera device.
CONVERGEDCamera device finished AE scanFLASH_REQUIREDConverged but too dark w/o flash after a new scan, transient states are skipped by camera device.
FLASH_REQUIREDCamera device finished AE scanCONVERGEDConverged after a new scan, transient states are skipped by camera device.

Current state of the auto-exposure (AE) algorithm.

Switching between or enabling AE modes (CaptureRequest.ControlAeMode) always resets the AE state to INACTIVE. Similarly, switching between CaptureRequest.ControlMode, or CaptureRequest.ControlSceneMode if CaptureRequest.ControlMode == USE_SCENE_MODE resets all the algorithm states to INACTIVE.

The camera device can do several state transitions between two results, if it is allowed by the state transition table. For example: INACTIVE may never actually be seen in a result.

The state in the result is the state for this image (in sync with this image): if AE state becomes CONVERGED, then the image data associated with this result should be good to use.

Below are state transition tables for different AE modes.

When CaptureRequest.ControlAeMode is AE_MODE_ON_*:

For the above table, the camera device may skip reporting any state changes that happen without application intervention (i.e. mode switch, trigger, locking). Any state that can be skipped in that manner is called a transient state.

For example, for above AE modes (AE_MODE_ON_*), in addition to the state transitions listed in above table, it is also legal for the camera device to skip one or more transient states between two results. See below table for examples:

Possible values:

Optional - This value may be null on some devices.

Limited capability - Present on all camera devices that report being at least CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED devices in the CameraCharacteristics.InfoSupportedHardwareLevel key

[Android Documentation]

Requirements

Namespace: Android.Hardware.Camera2
Assembly: Mono.Android (in Mono.Android.dll)
Assembly Versions: 0.0.0.0