diff options
Diffstat (limited to 'services/camera')
| -rw-r--r-- | services/camera/libcameraservice/common/CameraModule.cpp | 9 | ||||
| -rw-r--r-- | services/camera/libcameraservice/device3/Camera3Device.cpp | 6 | 
2 files changed, 14 insertions, 1 deletions
diff --git a/services/camera/libcameraservice/common/CameraModule.cpp b/services/camera/libcameraservice/common/CameraModule.cpp index fcbf958..85d4488 100644 --- a/services/camera/libcameraservice/common/CameraModule.cpp +++ b/services/camera/libcameraservice/common/CameraModule.cpp @@ -132,6 +132,15 @@ void CameraModule::deriveCameraCharacteristicsKeys(                      highSpeedConfig);          }      } + +    // Always add a default for the pre-correction active array if the vendor chooses to omit this +    camera_metadata_entry entry = chars.find(ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE); +    if (entry.count == 0) { +        entry = chars.find(ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE); +        chars.update(ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE, entry.data.i32, +                entry.count); +    } +      return;  } diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index f64a9f0..4b55dad 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -1033,7 +1033,11 @@ status_t Camera3Device::configureStreams(bool isConstrainedHighSpeed) {      Mutex::Autolock il(mInterfaceLock);      Mutex::Autolock l(mLock); -    mIsConstrainedHighSpeedConfiguration = isConstrainedHighSpeed; + +    if (mIsConstrainedHighSpeedConfiguration != isConstrainedHighSpeed) { +        mNeedConfig = true; +        mIsConstrainedHighSpeedConfiguration = isConstrainedHighSpeed; +    }      return configureStreamsLocked();  }  | 
