android: capabilities: Collect absolute max frame durations

While building the list of supported stream configurations also collect
the absolute max frame durations to be used to populate the sensor
maximum frame duration.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Jacopo Mondi 2021-06-30 14:41:24 +02:00
parent 8c2d135300
commit 5d3d666465
2 changed files with 7 additions and 3 deletions

View file

@ -385,6 +385,7 @@ int CameraCapabilities::initialize(std::shared_ptr<Camera> camera,
orientation_ = orientation; orientation_ = orientation;
facing_ = facing; facing_ = facing;
rawStreamAvailable_ = false; rawStreamAvailable_ = false;
maxFrameDuration_ = 0;
/* Acquire the camera and initialize available stream configurations. */ /* Acquire the camera and initialize available stream configurations. */
int ret = camera_->acquire(); int ret = camera_->acquire();
@ -673,6 +674,9 @@ int CameraCapabilities::initializeStreamConfigurations()
}); });
maxJpegSize = std::max(maxJpegSize, res); maxJpegSize = std::max(maxJpegSize, res);
} }
maxFrameDuration_ = std::max(maxFrameDuration_,
maxFrameDuration);
} }
/* /*
@ -1154,9 +1158,8 @@ int CameraCapabilities::initializeStaticMetadata()
staticMetadata_->addEntry(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE, staticMetadata_->addEntry(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE,
timestampSource); timestampSource);
if (maxFrameDurationNsec > 0) staticMetadata_->addEntry(ANDROID_SENSOR_INFO_MAX_FRAME_DURATION,
staticMetadata_->addEntry(ANDROID_SENSOR_INFO_MAX_FRAME_DURATION, maxFrameDuration_);
maxFrameDurationNsec);
/* Statistics static metadata. */ /* Statistics static metadata. */
uint8_t faceDetectMode = ANDROID_STATISTICS_FACE_DETECT_MODE_OFF; uint8_t faceDetectMode = ANDROID_STATISTICS_FACE_DETECT_MODE_OFF;

View file

@ -71,6 +71,7 @@ private:
int facing_; int facing_;
int orientation_; int orientation_;
bool rawStreamAvailable_; bool rawStreamAvailable_;
int64_t maxFrameDuration_;
camera_metadata_enum_android_info_supported_hardware_level hwLevel_; camera_metadata_enum_android_info_supported_hardware_level hwLevel_;
std::set<camera_metadata_enum_android_request_available_capabilities> capabilities_; std::set<camera_metadata_enum_android_request_available_capabilities> capabilities_;