summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/android/camera_device.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index af4ce301..ca60f513 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -552,8 +552,8 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize()
* \todo Keep this in sync with the actual number of entries.
* Currently: 51 entries, 687 bytes of static metadata
*/
- uint32_t numEntries = 51;
- uint32_t byteSize = 693;
+ uint32_t numEntries = 52;
+ uint32_t byteSize = 694;
/*
* Calculate space occupation in bytes for dynamically built metadata
@@ -781,6 +781,19 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
staticMetadata_->addEntry(ANDROID_STATISTICS_INFO_MAX_FACE_COUNT,
&maxFaceCount, 1);
+ {
+ std::vector<uint8_t> data(2);
+ const auto &infoMap = controlsInfo.find(&controls::draft::LensShadingMapMode);
+ if (infoMap != controlsInfo.end()) {
+ for (const auto &value : infoMap->second.values())
+ data.push_back(value.get<int32_t>());
+ } else {
+ data.push_back(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF);
+ }
+ staticMetadata_->addEntry(ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES,
+ data.data(), data.size());
+ }
+
/* Sync static metadata. */
int32_t maxLatency = ANDROID_SYNC_MAX_LATENCY_UNKNOWN;
staticMetadata_->addEntry(ANDROID_SYNC_MAX_LATENCY, &maxLatency, 1);