am f5e6f164: Camera: Call cancel_buffers on min undequeued buffers
* commit 'f5e6f16486b1d1f657f3d143fae49b71c176f608':
Camera: Call cancel_buffers on min undequeued buffers
diff --git a/camera/QCameraHWI_Preview.cpp b/camera/QCameraHWI_Preview.cpp
index 302afac..cc85c3d 100644
--- a/camera/QCameraHWI_Preview.cpp
+++ b/camera/QCameraHWI_Preview.cpp
@@ -232,6 +232,13 @@
mHalCamCtrl->mPreviewMemory.private_buffer_handle[cnt]->offset);
}
+ //Cancel min_undequeued_buffer buffers back to the window
+ for (int i = 0; i < numMinUndequeuedBufs; i ++) {
+ if( mHalCamCtrl->mPreviewMemory.local_flag[i] != BUFFER_NOT_OWNED) {
+ err = mPreviewWindow->cancel_buffer(mPreviewWindow, mHalCamCtrl->mPreviewMemory.buffer_handle[i]);
+ }
+ mHalCamCtrl->mPreviewMemory.local_flag[i] = BUFFER_NOT_OWNED;
+ }
memset(&mHalCamCtrl->mMetadata, 0, sizeof(mHalCamCtrl->mMetadata));
memset(mHalCamCtrl->mFace, 0, sizeof(mHalCamCtrl->mFace));
@@ -920,8 +927,8 @@
}
} else {
ALOGE("%s: buffer to be enqueued is not locked", __FUNCTION__);
- //mHalCamCtrl->mPreviewMemoryLock.unlock();
- //return -EINVAL;
+ mHalCamCtrl->mPreviewMemoryLock.unlock();
+ return -EINVAL;
}
#ifdef USE_ION