summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camera/OMXCameraAdapter/OMX3A.cpp9
-rw-r--r--camera/inc/OMXCameraAdapter/OMXCameraAdapter.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/camera/OMXCameraAdapter/OMX3A.cpp b/camera/OMXCameraAdapter/OMX3A.cpp
index 5078fd7..6c8d85f 100644
--- a/camera/OMXCameraAdapter/OMX3A.cpp
+++ b/camera/OMXCameraAdapter/OMX3A.cpp
@@ -49,6 +49,8 @@ status_t OMXCameraAdapter::setParameters3A(const CameraParameters &params,
LOG_FUNCTION_NAME;
+ Mutex::Autolock lock(m3ASettingsUpdateLock);
+
str = params.get(CameraParameters::KEY_SCENE_MODE);
mode = getLUTvalue_HALtoOMX( str, SceneLUT);
if ( mFirstTimeInit || ((str != NULL) && ( mParameters3A.SceneMode != mode )) ) {
@@ -1512,6 +1514,10 @@ status_t OMXCameraAdapter::apply3Asettings( Gen3A_settings& Gen3A )
unsigned int currSett; // 32 bit
int portIndex;
+ LOG_FUNCTION_NAME;
+
+ Mutex::Autolock lock(m3ASettingsUpdateLock);
+
/*
* Scenes have a priority during the process
* of applying 3A related parameters.
@@ -1637,6 +1643,9 @@ status_t OMXCameraAdapter::apply3Asettings( Gen3A_settings& Gen3A )
mPending3Asettings &= ~currSett;
}
}
+
+ LOG_FUNCTION_NAME_EXIT;
+
return ret;
}
diff --git a/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h b/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h
index 8418ff4..04bc64c 100644
--- a/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h
+++ b/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h
@@ -834,6 +834,7 @@ private:
OMX_VERSIONTYPE mLocalVersionParam;
unsigned int mPending3Asettings;
+ Mutex m3ASettingsUpdateLock;
Gen3A_settings mParameters3A;
OMX_TI_CONFIG_3A_FACE_PRIORITY mFacePriority;