summaryrefslogtreecommitdiff
path: root/services/camera/libcameraservice/camera2/Parameters.cpp
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2012-09-17 16:43:14 -0700
committerEino-Ville Talvala <etalvala@google.com>2012-09-17 16:46:25 -0700
commitd14de47262340d70fc11fe56159462b9b981067f (patch)
tree08c50921257f3c5f016ccdaf9ce4ba011e551c5d /services/camera/libcameraservice/camera2/Parameters.cpp
parent874a4618b645ab5c1faaa738a871f52492f28de3 (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.cpp7
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;