summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice
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
commit063886eed72c1a12ff73953561d662b47e8230d5 (patch)
treee754bb96ed8dbd3af4dcf43d99716479af689e1c /services/camera/libcameraservice
parent9585b06fdaff8a8168ea186a76853f65218fc697 (diff)
downloadframeworks_av-063886eed72c1a12ff73953561d662b47e8230d5.zip
frameworks_av-063886eed72c1a12ff73953561d662b47e8230d5.tar.gz
frameworks_av-063886eed72c1a12ff73953561d662b47e8230d5.tar.bz2
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')
-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 c07a6ac..c6d7747 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;