Camera: disable setting prameters that are not supported for yuv sensor
2 mp yuv sensor doesn't support a few parameters. Add a check to not
call the set parameter ioctl call for the parameters that are not
supported.
diff --git a/QualcommCameraHardware.cpp b/QualcommCameraHardware.cpp
old mode 100644
new mode 100755
index 4bbdb1a..f144069
--- a/QualcommCameraHardware.cpp
+++ b/QualcommCameraHardware.cpp
@@ -2653,6 +2653,12 @@
if (str != NULL) {
int32_t value = attr_lookup(effects, sizeof(effects) / sizeof(str_map), str);
if (value != NOT_FOUND) {
+ if(!strcmp(sensorType->name, "2mp") && (value != CAMERA_EFFECT_OFF)
+ &&(value != CAMERA_EFFECT_MONO) && (value != CAMERA_EFFECT_NEGATIVE)
+ &&(value != CAMERA_EFFECT_SOLARIZE) && (value != CAMERA_EFFECT_SEPIA)) {
+ LOGE("Special effect parameter is not supported for this sensor");
+ return NO_ERROR;
+ }
mParameters.set(CameraParameters::KEY_EFFECT, str);
bool ret = native_set_parm(CAMERA_SET_PARM_EFFECT, sizeof(value),
(void *)&value);
@@ -2665,6 +2671,10 @@
status_t QualcommCameraHardware::setAutoExposure(const CameraParameters& params)
{
+ if(!strcmp(sensorType->name, "2mp")) {
+ LOGE("Auto Exposure not supported for this sensor");
+ return NO_ERROR;
+ }
const char *str = params.get(CameraParameters::KEY_AUTO_EXPOSURE);
if (str != NULL) {
int32_t value = attr_lookup(autoexposure, sizeof(autoexposure) / sizeof(str_map), str);
@@ -2753,6 +2763,10 @@
status_t QualcommCameraHardware::setLensshadeValue(const CameraParameters& params)
{
+ if(!strcmp(sensorType->name, "2mp")) {
+ LOGE("Parameter Rolloff is not supported for this sensor");
+ return NO_ERROR;
+ }
const char *str = params.get(CameraParameters::KEY_LENSSHADE);
if (str != NULL) {
int value = attr_lookup(lensshade,