QCamera2: HAL3: Unmap reprocess input buffers early
am: d36c3de0ef
Change-Id: Ief1a654506a150dfcda9c5ab705ca04b312481ba
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.cpp b/camera/QCamera2/HAL3/QCamera3Channel.cpp
index efbf107..cb31953 100644
--- a/camera/QCamera2/HAL3/QCamera3Channel.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Channel.cpp
@@ -3571,6 +3571,8 @@
*frame = *super_frame;
/* Since reprocessing is done, send the callback to release the input buffer */
+ // Release offline buffers.
+ obj->releaseOfflineMemory(resultFrameNumber);
if (mChannelCB) {
mChannelCB(NULL, NULL, resultFrameNumber, true, mUserData);
}
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.h b/camera/QCamera2/HAL3/QCamera3Channel.h
index 3bf4125..b1edece 100644
--- a/camera/QCamera2/HAL3/QCamera3Channel.h
+++ b/camera/QCamera2/HAL3/QCamera3Channel.h
@@ -198,13 +198,13 @@
int32_t getStreamSize(cam_dimension_t &dim);
QCamera3PostProcessor m_postprocessor; // post processor
+ int32_t releaseOfflineMemory(uint32_t resultFrameNumber);
protected:
bool isWNREnabled() {return m_bWNROn;};
void startPostProc(const reprocess_config_t &reproc_cfg);
void issueChannelCb(buffer_handle_t *resultBuffer,
uint32_t resultFrameNumber);
- int32_t releaseOfflineMemory(uint32_t resultFrameNumber);
QCamera3StreamMem mMemory; //output buffer allocated by fwk
camera3_stream_t *mCamera3Stream;