summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/camera2/CallbackProcessor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/camera/libcameraservice/camera2/CallbackProcessor.cpp')
-rw-r--r--services/camera/libcameraservice/camera2/CallbackProcessor.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/camera2/CallbackProcessor.cpp b/services/camera/libcameraservice/camera2/CallbackProcessor.cpp
index bccb18e..ca917f2 100644
--- a/services/camera/libcameraservice/camera2/CallbackProcessor.cpp
+++ b/services/camera/libcameraservice/camera2/CallbackProcessor.cpp
@@ -39,6 +39,7 @@ CallbackProcessor::CallbackProcessor(wp<Camera2Client> client):
CallbackProcessor::~CallbackProcessor() {
ALOGV("%s: Exit", __FUNCTION__);
+ deleteStream();
}
void CallbackProcessor::onFrameAvailable() {
@@ -126,6 +127,11 @@ status_t CallbackProcessor::deleteStream() {
sp<Camera2Device> device = client->getCameraDevice();
device->deleteStream(mCallbackStreamId);
+
+ mCallbackHeap.clear();
+ mCallbackWindow.clear();
+ mCallbackConsumer.clear();
+
mCallbackStreamId = NO_STREAM;
}
return OK;