HAL3: enable jpeg debug dump
BUG=28377449
Change-Id: I43d099065620cb42791247f98ed2f72a053966c7
diff --git a/QCamera2/HAL3/QCamera3Channel.cpp b/QCamera2/HAL3/QCamera3Channel.cpp
index d6f4fab..365b1da 100644
--- a/QCamera2/HAL3/QCamera3Channel.cpp
+++ b/QCamera2/HAL3/QCamera3Channel.cpp
@@ -3074,6 +3074,28 @@
char *jpeg_eof = &jpeg_buf[jpeg_eof_offset];
memcpy(jpeg_eof, &jpegHeader, sizeof(jpegHeader));
obj->mMemory.cleanInvalidateCache(bufIdx);
+ bool jpegDump = false;
+ char prop[PROPERTY_VALUE_MAX];
+ property_get("persist.camera.jpeg.dump", prop, "0");
+ jpegDump = atoi(prop);
+ if (jpegDump) {
+ char buf[FILENAME_MAX];
+ snprintf(buf, sizeof(buf), QCAMERA_DUMP_FRM_LOCATION"halDump_%d.jpeg",
+ obj->mMemory.getFrameNumber(bufIdx));
+ int file_fd = open(buf, O_RDWR | O_CREAT, 0777);
+ ssize_t written_len = 0;
+ if (file_fd >= 0) {
+ fchmod(file_fd, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+ written_len += write(file_fd, jpeg_buf,
+ (size_t)maxJpegSize);
+ LOGI("written number of bytes %ld attempted: %ld\n", written_len,
+ maxJpegSize);
+ close(file_fd);
+ } else {
+ LOGE("failed to open file to dump image");
+ }
+
+ }
} else {
LOGE("JPEG buffer not found and index: %d",
bufIdx);