summaryrefslogtreecommitdiffstats
path: root/camera/ProCamera.cpp
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2013-03-27 11:07:06 -0700
committerIgor Murashkin <iam@google.com>2013-03-27 11:23:54 -0700
commit65d7986ceac6e35426749ac7e05bbd2a38949db4 (patch)
tree41fe024c821e0cbcf8763f6525066c7fd3eb398e /camera/ProCamera.cpp
parenta97d15e2e2f0b317a345d3a6f02df80b8988b1f6 (diff)
downloadframeworks_av-65d7986ceac6e35426749ac7e05bbd2a38949db4.zip
frameworks_av-65d7986ceac6e35426749ac7e05bbd2a38949db4.tar.gz
frameworks_av-65d7986ceac6e35426749ac7e05bbd2a38949db4.tar.bz2
ProCamera: Fix memory leak in consumeFrameMetadata
Bug: 8402301 Change-Id: I975990185f45bb8552712271b9ac457af08a170c
Diffstat (limited to 'camera/ProCamera.cpp')
-rw-r--r--camera/ProCamera.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/camera/ProCamera.cpp b/camera/ProCamera.cpp
index 396b009..fec5461 100644
--- a/camera/ProCamera.cpp
+++ b/camera/ProCamera.cpp
@@ -103,7 +103,7 @@ void ProCamera::onResultReceived(int32_t frameId, camera_metadata* result) {
{
Mutex::Autolock al(mWaitMutex);
mMetadataReady = true;
- mLatestMetadata = tmp;
+ mLatestMetadata = tmp; // make copy
mWaitCondition.broadcast();
}
@@ -312,8 +312,6 @@ void ProCamera::onFrameAvailable(int streamId) {
sp<ProCameraListener> listener = mListener;
StreamInfo& stream = getStreamInfo(streamId);
- CpuConsumer::LockedBuffer buf;
-
if (listener.get() != NULL) {
listener->onFrameAvailable(streamId, stream.cpuConsumer);
}
@@ -421,7 +419,7 @@ CameraMetadata ProCamera::consumeFrameMetadata() {
// Destructive: Subsequent calls return empty metadatas
CameraMetadata tmp = mLatestMetadata;
- mLatestMetadata.release();
+ mLatestMetadata.clear();
return tmp;
}