camera: maintain autolock invariant
b/7090644
Fix lock invariant for mStopCallbackLock expected by Mutex::Autolock.
Change-Id: Ifc4e77dea7d7deb5bbdfe544379dd40ded680831
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/camera/QCameraHWI_Preview.cpp b/camera/QCameraHWI_Preview.cpp
index 866f1f7..b83f2eb 100644
--- a/camera/QCameraHWI_Preview.cpp
+++ b/camera/QCameraHWI_Preview.cpp
@@ -1015,6 +1015,7 @@
pcb(msgType, data, 0, metadata, mHalCamCtrl->mCallbackCookie);
if (previewMem)
previewMem->release(previewMem);
+ mStopCallbackLock.lock();
}
ALOGV("end of cb");
} else {
@@ -1035,6 +1036,7 @@
rcb(timeStamp, CAMERA_MSG_VIDEO_FRAME,
mHalCamCtrl->mRecordingMemory.metadata_memory[frame->def.idx],
0, mHalCamCtrl->mCallbackCookie);
+ mStopCallbackLock.lock();
}else
flagwait = 0;
}
@@ -1044,6 +1046,7 @@
rcb(timeStamp, CAMERA_MSG_VIDEO_FRAME,
mHalCamCtrl->mPreviewMemory.camera_memory[frame->def.idx],
0, mHalCamCtrl->mCallbackCookie);
+ mStopCallbackLock.lock();
}
if(flagwait){
@@ -1167,6 +1170,7 @@
pcb(msgType, data, 0, metadata, mHalCamCtrl->mCallbackCookie);
if (previewMem)
previewMem->release(previewMem);
+ mStopCallbackLock.lock();
}
if(MM_CAMERA_OK != cam_evt_buf_done(mCameraId, &mNotifyBuffer[frame->def.idx])) {