Camera: Fix a wrong erase call for app segment buffer
Also make sure the pending frame number is also removed in the error
case.
Test: vendor testing
Bug: 159197773
Change-Id: I3f9ba90d0b9335e99283bbafbd635d3eaebf2275
diff --git a/services/camera/libcameraservice/api2/HeicCompositeStream.cpp b/services/camera/libcameraservice/api2/HeicCompositeStream.cpp
index 1a0881f..a63f402 100644
--- a/services/camera/libcameraservice/api2/HeicCompositeStream.cpp
+++ b/services/camera/libcameraservice/api2/HeicCompositeStream.cpp
@@ -620,7 +620,8 @@
if (mPendingInputFrames.find(mAppSegmentFrameNumbers.front()) == mPendingInputFrames.end()) {
ALOGE("%s: mPendingInputFrames doesn't contain frameNumber %" PRId64, __FUNCTION__,
mAppSegmentFrameNumbers.front());
- mInputYuvBuffers.erase(it);
+ mInputAppSegmentBuffers.erase(it);
+ mAppSegmentFrameNumbers.pop();
continue;
}
@@ -664,6 +665,7 @@
ALOGE("%s: mPendingInputFrames doesn't contain frameNumber %" PRId64, __FUNCTION__,
mMainImageFrameNumbers.front());
mInputYuvBuffers.erase(it);
+ mMainImageFrameNumbers.pop();
continue;
}