QCamera2: HAL3: More verbose log message for buffer loss
Print out stream size, format, and last frame number for buffer loss.
Bug: 28427118
Change-Id: I5568d1a38a54243f094a679d80872a4c9d1b6523
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index fe08065..e4f45db 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -299,6 +299,7 @@
CDBG("%s: Raw dump from Camera HAL enabled", __func__);
mPendingBuffersMap.num_buffers = 0;
+ mPendingBuffersMap.last_frame_number = -1;
}
/*===========================================================================
@@ -362,6 +363,13 @@
memset(mParameters, 0, sizeof(parm_buffer_t));
// Check if there is still pending buffer not yet returned.
if (hasPendingBuffers) {
+ for (auto& pendingBuffer : mPendingBuffersMap.mPendingBufferList) {
+ ALOGE("%s: Buffer not yet returned for stream. Frame number %d, format 0x%x, width %d, height %d",
+ __func__, pendingBuffer.frame_number, pendingBuffer.stream->format, pendingBuffer.stream->width,
+ pendingBuffer.stream->height);
+ }
+ ALOGE("%s: Last requested frame number is %d", __func__, mPendingBuffersMap.last_frame_number);
+
uint8_t restart = TRUE;
AddSetParmEntryToBatch(mParameters, CAM_INTF_META_DAEMON_RESTART,
sizeof(restart), &restart);
@@ -2448,6 +2456,7 @@
CDBG("%s: mPendingBuffersMap.num_buffers = %d",
__func__, mPendingBuffersMap.num_buffers);
+ mPendingBuffersMap.last_frame_number = frameNumber;
mPendingRequestsList.push_back(pendingRequest);
if(mFlush) {
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.h b/camera/QCamera2/HAL3/QCamera3HWI.h
index d59be92..5c3ba41 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.h
+++ b/camera/QCamera2/HAL3/QCamera3HWI.h
@@ -305,6 +305,8 @@
uint32_t num_buffers;
// List of pending buffers
List<PendingBufferInfo> mPendingBufferList;
+ // Last frame number requested
+ uint32_t last_frame_number;
} PendingBuffersMap;
typedef struct {