Merge "Camera: Allow non-session parameters in SessionConfiguration" into main
This commit is contained in:
commit
84bc4a190d
3 changed files with 19 additions and 12 deletions
|
@ -365,16 +365,20 @@ interface ICameraDevice {
|
|||
* isStreamCombinationWithSettingsSupported:
|
||||
*
|
||||
* This is the same as isStreamCombinationSupported with below exceptions:
|
||||
*
|
||||
* 1. The input StreamConfiguration parameter may contain session parameters
|
||||
* supported by this camera device. When checking if the particular StreamConfiguration
|
||||
* is supported, the camera HAL must take the session parameters into consideration.
|
||||
* as well as additional CaptureRequest keys. See the comment
|
||||
* sections below on what additional capture request keys are passed in
|
||||
* StreamConfiguration::sessionParameters for each interface version. When checking if
|
||||
* the particular StreamConfiguration is supported, the camera HAL must take all
|
||||
* the keys in sessionParameters into consideration.
|
||||
*
|
||||
* 2. For version 3 of this interface, the camera compliance test will verify that
|
||||
* isStreamCombinationWithSettingsSupported behaves properly for all combinations of
|
||||
* below features. This function must return true for all supported combinations,
|
||||
* and return false for non-supported feature combinations. The list of features
|
||||
* required may grow in future versions.
|
||||
* required may grow in future versions. The additional metadata entries in
|
||||
* StreamConfiguration::sessionParameters are {CONTROL_AE_TARGET_FPS_RANGE,
|
||||
* CONTROL_VIDEO_STABILIZATION_MODE}.
|
||||
*
|
||||
* - Stream Combinations (a subset of LEGACY device mandatory stream combinations):
|
||||
* {
|
||||
|
@ -429,7 +433,7 @@ interface ICameraDevice {
|
|||
* 4032 x 3024, the camera compliance test will verify both
|
||||
* {PRIV, 1920 x 1440, JPEG, 4032 x 3024} and {PRIV, 2560 x 1440, JPEG, 4032 x 2268}.
|
||||
*
|
||||
* @param streams The StreamConfiguration to be tested, with optional session parameters.
|
||||
* @param streams The StreamConfiguration to be tested, with optional CaptureRequest parameters.
|
||||
*
|
||||
* @return true in case the stream combination is supported, false otherwise.
|
||||
*
|
||||
|
|
|
@ -59,6 +59,14 @@ parcelable StreamConfiguration {
|
|||
* pipeline updates. The field is optional, clients can choose to ignore it and avoid
|
||||
* including any initial settings. If parameters are present, then hal must examine
|
||||
* their values and configure the internal camera pipeline accordingly.
|
||||
*
|
||||
* A null pointer is equivalent to a valid CameraMetadata object with zero entries.
|
||||
*
|
||||
* For a StreamConfiguration passed to ICameraDevice.isStreamCombinationWithSettingsSupported
|
||||
* or ICameraDevice.getSessionCharacteristics, this variable may also contain keys
|
||||
* that are not session parameters, but are used to specify certain features for a
|
||||
* session. For example, CONTROL_VIDEO_STABILIZATION_MODE may be included even if it's not a
|
||||
* session parameter.
|
||||
*/
|
||||
CameraMetadata sessionParams;
|
||||
|
||||
|
|
|
@ -1912,13 +1912,8 @@ void CameraAidlTest::verifyStreamCombination(const std::shared_ptr<ICameraDevice
|
|||
if (supportFeatureCombinationQuery) {
|
||||
ret = device->isStreamCombinationWithSettingsSupported(config,
|
||||
&streamCombinationSupported);
|
||||
// TODO: Do not allow OPERATION_NOT_SUPPORTED once HAL
|
||||
// implementation is in place.
|
||||
ASSERT_TRUE(ret.isOk() || static_cast<Status>(ret.getServiceSpecificError()) ==
|
||||
Status::OPERATION_NOT_SUPPORTED);
|
||||
if (ret.isOk()) {
|
||||
ASSERT_EQ(expectedStatus, streamCombinationSupported);
|
||||
}
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
ASSERT_EQ(expectedStatus, streamCombinationSupported);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue