diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index 9771f9ee29..a8e80fa560 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -4364,7 +4364,7 @@ status_t Camera3Device::HalInterface::configureStreams(const camera_metadata_t * int overrideFormat = mapToFrameworkFormat(src.v3_2.overrideFormat); android_dataspace overrideDataSpace = mapToFrameworkDataspace(src.overrideDataSpace); - if (dst->format != HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) { + if (dstStream->getOriginalFormat() != HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) { dstStream->setFormatOverride(false); dstStream->setDataSpaceOverride(false); if (dst->format != overrideFormat) { diff --git a/services/camera/libcameraservice/device3/Camera3Stream.cpp b/services/camera/libcameraservice/device3/Camera3Stream.cpp index 2df084b7bd..fd9b4b0409 100644 --- a/services/camera/libcameraservice/device3/Camera3Stream.cpp +++ b/services/camera/libcameraservice/device3/Camera3Stream.cpp @@ -68,7 +68,7 @@ Camera3Stream::Camera3Stream(int id, mLastMaxCount(Camera3StreamInterface::ALLOCATE_PIPELINE_MAX), mBufferLimitLatency(kBufferLimitLatencyBinSize), mFormatOverridden(false), - mOriginalFormat(-1), + mOriginalFormat(format), mDataSpaceOverridden(false), mOriginalDataSpace(HAL_DATASPACE_UNKNOWN), mPhysicalCameraId(physicalCameraId), @@ -125,9 +125,6 @@ void Camera3Stream::setUsage(uint64_t usage) { void Camera3Stream::setFormatOverride(bool formatOverridden) { mFormatOverridden = formatOverridden; - if (formatOverridden && mOriginalFormat == -1) { - mOriginalFormat = camera3_stream::format; - } } bool Camera3Stream::isFormatOverridden() const { diff --git a/services/camera/libcameraservice/device3/Camera3Stream.h b/services/camera/libcameraservice/device3/Camera3Stream.h index 533318faa6..67afd0fd85 100644 --- a/services/camera/libcameraservice/device3/Camera3Stream.h +++ b/services/camera/libcameraservice/device3/Camera3Stream.h @@ -582,9 +582,9 @@ class Camera3Stream : static const int32_t kBufferLimitLatencyBinSize = 33; //in ms CameraLatencyHistogram mBufferLimitLatency; - //Keep track of original format in case it gets overridden + //Keep track of original format when the stream is created in case it gets overridden bool mFormatOverridden; - int mOriginalFormat; + const int mOriginalFormat; //Keep track of original dataSpace in case it gets overridden bool mDataSpaceOverridden;