summaryrefslogtreecommitdiff
authorsky.zhou <sky.zhou@amlogic.com>2012-08-28 06:20:33 (GMT)
committer jiyu.yang <jiyu.yang@amlogic.com>2012-09-26 06:56:31 (GMT)
commit021f2833bd6b8c1be0344c3a8ba48327ed00425c (patch)
tree0e4a6bf260ad47d3f01f8f8c8e00110ab46453cb
parent773f762ef7eaec20edb06f7e59e28efa25fd82ae (diff)
downloadcamera-021f2833bd6b8c1be0344c3a8ba48327ed00425c.zip
camera-021f2833bd6b8c1be0344c3a8ba48327ed00425c.tar.gz
camera-021f2833bd6b8c1be0344c3a8ba48327ed00425c.tar.bz2
setparameter should return error for invalid parameter but for not support mode, we can skip it whithout return error
Diffstat
-rwxr-xr-xCameraHal.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/CameraHal.cpp b/CameraHal.cpp
index b72a10c..cee2450 100755
--- a/CameraHal.cpp
+++ b/CameraHal.cpp
@@ -833,12 +833,19 @@ int CameraHal::setParameters(const CameraParameters& params)
}
if ((valstr = params.get(CameraParameters::KEY_FLASH_MODE)) != NULL) {
- if (isParameterValid(valstr, mCameraProperties->get(CameraProperties::SUPPORTED_FLASH_MODES))) {
- CAMHAL_LOGDB("Flash mode set %s", valstr);
- mParameters.set(CameraParameters::KEY_FLASH_MODE, valstr);
+ const char* supportlist = mCameraProperties->get(CameraProperties::SUPPORTED_FLASH_MODES);
+ if (supportlist != NULL) {
+ if (isParameterValid(valstr, mCameraProperties->get(CameraProperties::SUPPORTED_FLASH_MODES))) {
+ CAMHAL_LOGDB("Flash mode set %s", valstr);
+ mParameters.set(CameraParameters::KEY_FLASH_MODE, valstr);
+ } else {
+ CAMHAL_LOGEB("ERROR: Invalid Flash mode = %s", valstr);
+ ret = -EINVAL;
+ }
} else {
- CAMHAL_LOGEB("WARNING:Not support flashlight, but app set Flash mode %s", valstr);
- //ret = -EINVAL;
+
+ CAMHAL_LOGDA("WARNING : not support flash light, skip the parameter");
+
}
}