Camera: fix format overriden logic

Original logic was comparing an overridden format int, switch
to use a const original format.

Test: partner device, Pixel 3 CTS
Bug: 136456900
Change-Id: I03d6e190770ee05e40446c417e323f546fdc2689
gugelfrei
Yin-Chia Yeh 5 years ago
parent 9694a99645
commit 9066766c0f

@ -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) {

@ -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 {

@ -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;

Loading…
Cancel
Save