summaryrefslogtreecommitdiffstats
path: root/libcamera
diff options
context:
space:
mode:
Diffstat (limited to 'libcamera')
-rw-r--r--libcamera/SecCameraHWInterface.cpp5
-rw-r--r--libcamera/SecCameraHWInterface.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/libcamera/SecCameraHWInterface.cpp b/libcamera/SecCameraHWInterface.cpp
index 85e0c01..fcd8390 100644
--- a/libcamera/SecCameraHWInterface.cpp
+++ b/libcamera/SecCameraHWInterface.cpp
@@ -515,6 +515,7 @@ int CameraHardwareSec::previewThread()
mDataCb(CAMERA_MSG_PREVIEW_FRAME, buffer, mCallbackCookie);
}
+ Mutex::Autolock lock(mRecordLock);
if (mRecordRunning == true) {
index = mSecCamera->getRecordFrame();
if (index < 0) {
@@ -689,6 +690,8 @@ status_t CameraHardwareSec::startRecording()
{
LOGV("%s :", __func__);
+ Mutex::Autolock lock(mRecordLock);
+
if (mRecordRunning == false) {
if (mSecCamera->startRecord() < 0) {
LOGE("ERR(%s):Fail on mSecCamera->startRecord()", __func__);
@@ -703,6 +706,8 @@ void CameraHardwareSec::stopRecording()
{
LOGV("%s :", __func__);
+ Mutex::Autolock lock(mRecordLock);
+
if (mRecordRunning == true) {
if (mSecCamera->stopRecord() < 0) {
LOGE("ERR(%s):Fail on mSecCamera->stopRecord()", __func__);
diff --git a/libcamera/SecCameraHWInterface.h b/libcamera/SecCameraHWInterface.h
index 150de62..e309ae5 100644
--- a/libcamera/SecCameraHWInterface.h
+++ b/libcamera/SecCameraHWInterface.h
@@ -202,6 +202,7 @@ private:
int32_t mMsgEnabled;
bool mRecordRunning;
+ mutable Mutex mRecordLock;
int mPostViewWidth;
int mPostViewHeight;
int mPostViewSize;