diff options
Diffstat (limited to 'services/camera')
-rw-r--r-- | services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp b/services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp index b388079..5cf69bd 100644 --- a/services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp +++ b/services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp @@ -78,8 +78,12 @@ ZslProcessor3::ZslProcessor3( ALOGV("%s: Initialize buffer queue and frame list depth based on max pipeline depth (%d)", __FUNCTION__, pipelineMaxDepth); - mBufferQueueDepth = pipelineMaxDepth + 1; - mFrameListDepth = pipelineMaxDepth + 1; + // Need to keep buffer queue longer than metadata queue because sometimes buffer arrives + // earlier than metadata which causes the buffer corresponding to oldest metadata being + // removed. + mFrameListDepth = pipelineMaxDepth; + mBufferQueueDepth = mFrameListDepth + 1; + mZslQueue.insertAt(0, mBufferQueueDepth); mFrameList.insertAt(0, mFrameListDepth); |