QCamera2: HAL3: Min duration fix
Shouldn't set a min duration for RAW streams if no RAW streams exist.
Bug: 62033553
Change-Id: Ic748f76c75410f0e7434e9db397dde39b4f7601c
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index 9003437..04ad42f 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -3146,6 +3146,11 @@
void QCamera3HardwareInterface::deriveMinFrameDuration()
{
int32_t maxJpegDim, maxProcessedDim, maxRawDim;
+ bool hasRaw = false;
+
+ mMinRawFrameDuration = 0;
+ mMinJpegFrameDuration = 0;
+ mMinProcessedFrameDuration = 0;
maxJpegDim = 0;
maxProcessedDim = 0;
@@ -3166,6 +3171,7 @@
} else if ((*it)->stream->format == HAL_PIXEL_FORMAT_RAW_OPAQUE ||
(*it)->stream->format == HAL_PIXEL_FORMAT_RAW10 ||
(*it)->stream->format == HAL_PIXEL_FORMAT_RAW16) {
+ hasRaw = true;
if (dimension > maxRawDim)
maxRawDim = dimension;
} else {
@@ -3181,7 +3187,7 @@
if (maxJpegDim > maxProcessedDim)
maxProcessedDim = maxJpegDim;
//Find the smallest raw dimension that is greater or equal to jpeg dimension
- if (maxProcessedDim > maxRawDim) {
+ if (hasRaw && maxProcessedDim > maxRawDim) {
maxRawDim = INT32_MAX;
for (size_t i = 0; i < count; i++) {