summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--camera/CameraHalUtilClasses.cpp6
-rw-r--r--camera/OMXCameraAdapter/OMX3A.cpp25
-rw-r--r--camera/OMXCameraAdapter/OMXFocus.cpp2
-rw-r--r--camera/inc/CameraHal.h6
4 files changed, 19 insertions, 20 deletions
diff --git a/camera/CameraHalUtilClasses.cpp b/camera/CameraHalUtilClasses.cpp
index b0d937c..c8e5eff 100644
--- a/camera/CameraHalUtilClasses.cpp
+++ b/camera/CameraHalUtilClasses.cpp
@@ -197,9 +197,9 @@ status_t CameraArea::checkArea(ssize_t top,
return NO_ERROR;
}
-status_t CameraArea::parseFocusArea(const char *area,
- size_t areaLength,
- Vector< sp<CameraArea> > &areas)
+status_t CameraArea::parseAreas(const char *area,
+ size_t areaLength,
+ Vector< sp<CameraArea> > &areas)
{
status_t ret = NO_ERROR;
char *ctx;
diff --git a/camera/OMXCameraAdapter/OMX3A.cpp b/camera/OMXCameraAdapter/OMX3A.cpp
index ad82398..213bfcd 100644
--- a/camera/OMXCameraAdapter/OMX3A.cpp
+++ b/camera/OMXCameraAdapter/OMX3A.cpp
@@ -269,28 +269,27 @@ status_t OMXCameraAdapter::setParameters3A(const CameraParameters &params,
}
str = params.get(CameraParameters::KEY_METERING_AREAS);
- if ( (str != NULL) )
- {
+ if ( (str != NULL) ) {
size_t MAX_METERING_AREAS;
MAX_METERING_AREAS = atoi(params.get(CameraParameters::KEY_MAX_NUM_METERING_AREAS));
mMeteringAreas.clear();
- CameraArea::parseFocusArea(str, strlen(str), mMeteringAreas);
+ ret = CameraArea::parseAreas(str, ( strlen(str) + 1 ), mMeteringAreas);
- if ( MAX_METERING_AREAS > mMeteringAreas.size() )
- {
- CAMHAL_LOGDB("Setting Metering Areas %s",
- params.get(CameraParameters::KEY_METERING_AREAS));
+ if ( NO_ERROR == ret ) {
+ if ( MAX_METERING_AREAS >= mMeteringAreas.size() ) {
+ CAMHAL_LOGDB("Setting Metering Areas %s",
+ params.get(CameraParameters::KEY_METERING_AREAS));
- mPending3Asettings |= SetMeteringAreas;
- }
- else
- {
- CAMHAL_LOGEB("Metering areas supported %d, metering areas set %d",
- MAX_METERING_AREAS, mMeteringAreas.size());
+ mPending3Asettings |= SetMeteringAreas;
+ } else {
+ CAMHAL_LOGEB("Metering areas supported %d, metering areas set %d",
+ MAX_METERING_AREAS, mMeteringAreas.size());
+ ret = -EINVAL;
}
}
+ }
LOG_FUNCTION_NAME_EXIT;
diff --git a/camera/OMXCameraAdapter/OMXFocus.cpp b/camera/OMXCameraAdapter/OMXFocus.cpp
index 5600a4a..8899e25 100644
--- a/camera/OMXCameraAdapter/OMXFocus.cpp
+++ b/camera/OMXCameraAdapter/OMXFocus.cpp
@@ -52,7 +52,7 @@ status_t OMXCameraAdapter::setParametersFocus(const CameraParameters &params,
mFocusAreas.clear();
if ( NULL != str ) {
- ret = CameraArea::parseFocusArea(str, ( strlen(str) + 1 ), mFocusAreas);
+ ret = CameraArea::parseAreas(str, ( strlen(str) + 1 ), mFocusAreas);
}
if ( NO_ERROR == ret ) {
diff --git a/camera/inc/CameraHal.h b/camera/inc/CameraHal.h
index 677a355..44f9a1d 100644
--- a/camera/inc/CameraHal.h
+++ b/camera/inc/CameraHal.h
@@ -158,9 +158,9 @@ public:
return mWeight;
}
- static status_t parseFocusArea(const char *area,
- size_t areaLength,
- Vector< sp<CameraArea> > &areas);
+ static status_t parseAreas(const char *area,
+ size_t areaLength,
+ Vector< sp<CameraArea> > &areas);
static status_t checkArea(ssize_t top,
ssize_t left,