[libcamera-devel,v2,4/4] android: camera_device: Add ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS

Message ID 20200724090744.508110-5-niklas.soderlund@ragnatech.se
State Accepted
Commit a2a6f95bffcff24869f24d94b94247ebc05f448c
Headers show
Series
  • android: camera_device: Improve on format related tags
Related show

Commit Message

Niklas Söderlund July 24, 2020, 9:07 a.m. UTC
Define the ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS to zero to inform users
the HAL does not support any reprocessing.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
---
* Changes since v1
- Change size of tag from uint8_t to uint32_t and update byteSize
  accordingly.
---
 src/android/camera_device.cpp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Patch

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index d9fdaf44b2803399..b49d6681e5a52d32 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -370,8 +370,8 @@  std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize()
 	 * \todo Keep this in sync with the actual number of entries.
 	 * Currently: 50 entries, 647 bytes of static metadata
 	 */
-	uint32_t numEntries = 49;
-	uint32_t byteSize = 647;
+	uint32_t numEntries = 50;
+	uint32_t byteSize = 651;
 
 	/*
 	 * Calculate space occupation in bytes for dynamically built metadata
@@ -699,6 +699,11 @@  const camera_metadata_t *CameraDevice::getStaticMetadata()
 	staticMetadata_->addEntry(ANDROID_REQUEST_PIPELINE_MAX_DEPTH,
 				  &maxPipelineDepth, 1);
 
+	/* LIMITED does not support reprocessing. */
+	uint32_t maxNumInputStreams = 0;
+	staticMetadata_->addEntry(ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,
+				  &maxNumInputStreams, 1);
+
 	std::vector<uint8_t> availableCapabilities = {
 		ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE,
 	};
@@ -752,6 +757,7 @@  const camera_metadata_t *CameraDevice::getStaticMetadata()
 		ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,
 		ANDROID_REQUEST_PARTIAL_RESULT_COUNT,
 		ANDROID_REQUEST_PIPELINE_MAX_DEPTH,
+		ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,
 		ANDROID_REQUEST_AVAILABLE_CAPABILITIES,
 	};
 	staticMetadata_->addEntry(ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS,