aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEthan Chen <intervigil@gmail.com>2014-04-27 21:51:41 -0700
committerZips <hcolmenares@gmail.com>2014-08-22 09:44:53 -0400
commite9e46b83f261ab7648ce6150e7f342d30028d2eb (patch)
tree502330cb94dbc896e09c08106f6c818579dc9d57
parent0543f5a8d67a0f7650a611f065b1106c9900328f (diff)
n1: Update camera wrapper to use newer slow shutter parameter
Change-Id: If5259ec26ef8430a15aa220ec5162fc4c64f774e
-rw-r--r--camera/CameraWrapper.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/camera/CameraWrapper.cpp b/camera/CameraWrapper.cpp
index 66ea602..3b29bf9 100644
--- a/camera/CameraWrapper.cpp
+++ b/camera/CameraWrapper.cpp
@@ -90,8 +90,14 @@ static int check_vendor_module()
return rv;
}
+static const char *KEY_SLOW_SHUTTER = "slow-shutter";
+static const char *KEY_EXPOSURE_TIME = "exposure-time";
+static const char *KEY_EXPOSURE_TIME_VALUES = "exposure-time-values";
+
static char *camera_fixup_getparams(int id, const char *settings)
{
+ const char *exposureTimeValues = "0,1,500000,1000000,2000000,4000000,8000000";
+ const char *slowShutter = "slow-shutter-off";
bool videoMode = false;
android::CameraParameters params;
@@ -106,6 +112,10 @@ static char *camera_fixup_getparams(int id, const char *settings)
videoMode = (!strcmp(params.get(android::CameraParameters::KEY_RECORDING_HINT), "true"));
}
+ if (params.get(KEY_SLOW_SHUTTER)) {
+ slowShutter = params.get(KEY_SLOW_SHUTTER);
+ }
+
/* Blatantly lie to userspace to pass CTS */
params.set(android::CameraParameters::KEY_PREVIEW_FPS_RANGE, "5000,60000");
params.set(android::CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE, "(5000,60000)");
@@ -126,6 +136,24 @@ static char *camera_fixup_getparams(int id, const char *settings)
android::CameraParameters::ISO_AUTO);
}
+ /* Switch to newer slow-shutter parameter */
+ if (!strcmp(slowShutter, "slow-shutter-off")) {
+ params.set(KEY_EXPOSURE_TIME, "0");
+ } else if (!strcmp(slowShutter, "slow-shutter-auto")) {
+ params.set(KEY_EXPOSURE_TIME, "1");
+ } else if (!strcmp(slowShutter, "slow-shutter-1/2s")) {
+ params.set(KEY_EXPOSURE_TIME, "500000");
+ } else if (!strcmp(slowShutter, "slow-shutter-1s")) {
+ params.set(KEY_EXPOSURE_TIME, "1000000");
+ } else if (!strcmp(slowShutter, "slow-shutter-2s")) {
+ params.set(KEY_EXPOSURE_TIME, "2000000");
+ } else if (!strcmp(slowShutter, "slow-shutter-4s")) {
+ params.set(KEY_EXPOSURE_TIME, "4000000");
+ } else if (!strcmp(slowShutter, "slow-shutter-8s")) {
+ params.set(KEY_EXPOSURE_TIME, "8000000");
+ }
+ params.set(KEY_EXPOSURE_TIME_VALUES, exposureTimeValues);
+
/* Remove exposure, values don't do anything */
params.set(android::CameraParameters::KEY_EXPOSURE_COMPENSATION, "0");
params.set(android::CameraParameters::KEY_EXPOSURE_COMPENSATION_STEP, "0.0");
@@ -158,6 +186,7 @@ static char *camera_fixup_setparams(int id, const char *settings)
const char *sceneMode = "auto";
const char *fpsRange = "5000,60000";
const char *fpsRangeValues = "(5000,60000)";
+ const char *exposureTime = "0";
android::CameraParameters params;
params.unflatten(android::String8(settings));
@@ -187,6 +216,10 @@ static char *camera_fixup_setparams(int id, const char *settings)
fpsRangeValues = params.get(android::CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE);
}
+ if (params.get(KEY_EXPOSURE_TIME)) {
+ exposureTime = params.get(KEY_EXPOSURE_TIME);
+ }
+
/* De-purpleate */
params.set("reduce-purple", "on");
@@ -246,6 +279,23 @@ static char *camera_fixup_setparams(int id, const char *settings)
params.setPictureSize(previewW, previewH);
}
+ /* Switch to newer slow-shutter parameter */
+ if (!strcmp(exposureTime, "0")) {
+ params.set(KEY_SLOW_SHUTTER, "slow-shutter-off");
+ } else if (!strcmp(exposureTime, "1")) {
+ params.set(KEY_SLOW_SHUTTER, "slow-shutter-auto");
+ } else if (!strcmp(exposureTime, "500000")) {
+ params.set(KEY_SLOW_SHUTTER, "slow-shutter-1/2s");
+ } else if (!strcmp(exposureTime, "1000000")) {
+ params.set(KEY_SLOW_SHUTTER, "slow-shutter-1s");
+ } else if (!strcmp(exposureTime, "2000000")) {
+ params.set(KEY_SLOW_SHUTTER, "slow-shutter-2s");
+ } else if (!strcmp(exposureTime, "4000000")) {
+ params.set(KEY_SLOW_SHUTTER, "slow-shutter-4s");
+ } else if (!strcmp(exposureTime, "8000000")) {
+ params.set(KEY_SLOW_SHUTTER, "slow-shutter-8s");
+ }
+
#if !LOG_NDEBUG
ALOGV("%s: fixed parameters:", __FUNCTION__);
params.dump();