diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2012-09-17 16:43:14 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2012-09-17 16:46:25 -0700 |
commit | d14de47262340d70fc11fe56159462b9b981067f (patch) | |
tree | 08c50921257f3c5f016ccdaf9ce4ba011e551c5d /services/camera/libcameraservice/camera2/Parameters.cpp | |
parent | 874a4618b645ab5c1faaa738a871f52492f28de3 (diff) |
Camera2: Change face detect/scene mode priority.
Explicit scene modes should override the implicit face priority scene
mode from enabling face detection, to match application/API
expectations.
Change-Id: I6f0f44fadeacfdc0594dd2fdc280e294d2d87df6
Diffstat (limited to 'services/camera/libcameraservice/camera2/Parameters.cpp')
-rw-r--r-- | services/camera/libcameraservice/camera2/Parameters.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/camera2/Parameters.cpp b/services/camera/libcameraservice/camera2/Parameters.cpp index c07a6ac0..c6d77477 100644 --- a/services/camera/libcameraservice/camera2/Parameters.cpp +++ b/services/camera/libcameraservice/camera2/Parameters.cpp @@ -1380,8 +1380,11 @@ status_t Parameters::updateRequest(CameraMetadata *request) const { &reqControlMode, 1); if (res != OK) return res; - uint8_t reqSceneMode = enableFaceDetect ? - (uint8_t)ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY : sceneMode; + uint8_t reqSceneMode = + (sceneMode != + (uint8_t)ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED) ? sceneMode : + enableFaceDetect ? (uint8_t)ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY : + (uint8_t)ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED; res = request->update(ANDROID_CONTROL_SCENE_MODE, &reqSceneMode, 1); if (res != OK) return res; |