Camera: Add getSessionCharacteristics API
Test: Build
Bug: 303645857
Change-Id: I251f244f8e24bd4c874f54f7c8c7215a4c3a50b3
diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp
index fbb5e1b..1ba3de4 100644
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
@@ -442,6 +442,23 @@
return OK;
}
+status_t CameraProviderManager::getSessionCharacteristics(const std::string& id,
+ const SessionConfiguration &configuration, bool overrideForPerfClass,
+ metadataGetter getMetadata,
+ CameraMetadata* sessionCharacteristics /*out*/) const {
+ if (!flags::feature_combination_query()) {
+ return INVALID_OPERATION;
+ }
+ std::lock_guard<std::mutex> lock(mInterfaceMutex);
+ auto deviceInfo = findDeviceInfoLocked(id);
+ if (deviceInfo == nullptr) {
+ return NAME_NOT_FOUND;
+ }
+
+ return deviceInfo->getSessionCharacteristics(configuration,
+ overrideForPerfClass, getMetadata, sessionCharacteristics);
+}
+
status_t CameraProviderManager::getCameraIdIPCTransport(const std::string &id,
IPCTransport *providerTransport) const {
std::lock_guard<std::mutex> lock(mInterfaceMutex);