diff options
-rw-r--r-- | camera/CameraHalUtilClasses.cpp | 6 | ||||
-rw-r--r-- | camera/OMXCameraAdapter/OMX3A.cpp | 25 | ||||
-rw-r--r-- | camera/OMXCameraAdapter/OMXFocus.cpp | 2 | ||||
-rw-r--r-- | camera/inc/CameraHal.h | 6 |
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 ¶ms, } 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 ¶ms, 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, |