Merge "Camera2: Turn off 3A when android.control.mode == OFF"

This commit is contained in:
Igor Murashkin
2012-12-18 14:25:49 -08:00
committed by Android (Google) Code Review

View File

@@ -1545,6 +1545,7 @@ status_t EmulatedFakeCamera2::ControlThread::waitUntilRunning() {
return OK; return OK;
} }
// Override android.control.* fields with 3A values before sending request to sensor
status_t EmulatedFakeCamera2::ControlThread::processRequest(camera_metadata_t *request) { status_t EmulatedFakeCamera2::ControlThread::processRequest(camera_metadata_t *request) {
Mutex::Autolock lock(mInputMutex); Mutex::Autolock lock(mInputMutex);
// TODO: Add handling for all android.control.* fields here // TODO: Add handling for all android.control.* fields here
@@ -1556,6 +1557,21 @@ status_t EmulatedFakeCamera2::ControlThread::processRequest(camera_metadata_t *r
&mode); &mode);
mControlMode = mode.data.u8[0]; mControlMode = mode.data.u8[0];
// disable all 3A
if (mControlMode == ANDROID_CONTROL_MODE_OFF) {
mEffectMode = ANDROID_CONTROL_EFFECT_MODE_OFF;
mSceneMode = ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED;
mAfMode = ANDROID_CONTROL_AF_MODE_OFF;
mAeLock = ANDROID_CONTROL_AE_LOCK_ON;
mAeMode = ANDROID_CONTROL_AE_MODE_OFF;
mAfModeChange = true;
mStartAf = false;
mCancelAf = true;
mAeState = ANDROID_CONTROL_AE_STATE_INACTIVE;
mAwbMode = ANDROID_CONTROL_AWB_MODE_OFF;
return res;
}
res = find_camera_metadata_entry(request, res = find_camera_metadata_entry(request,
ANDROID_CONTROL_EFFECT_MODE, ANDROID_CONTROL_EFFECT_MODE,
&mode); &mode);