diff --git a/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl b/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl index 01009ad788..da3d5dfdcb 100644 --- a/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl +++ b/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl @@ -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. * diff --git a/camera/device/aidl/android/hardware/camera/device/StreamConfiguration.aidl b/camera/device/aidl/android/hardware/camera/device/StreamConfiguration.aidl index 197d9af588..0f5bad932a 100644 --- a/camera/device/aidl/android/hardware/camera/device/StreamConfiguration.aidl +++ b/camera/device/aidl/android/hardware/camera/device/StreamConfiguration.aidl @@ -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; diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index 2cf098eb4f..4fc01bf519 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -1912,13 +1912,8 @@ void CameraAidlTest::verifyStreamCombination(const std::shared_ptrisStreamCombinationWithSettingsSupported(config, &streamCombinationSupported); - // TODO: Do not allow OPERATION_NOT_SUPPORTED once HAL - // implementation is in place. - ASSERT_TRUE(ret.isOk() || static_cast(ret.getServiceSpecificError()) == - Status::OPERATION_NOT_SUPPORTED); - if (ret.isOk()) { - ASSERT_EQ(expectedStatus, streamCombinationSupported); - } + ASSERT_TRUE(ret.isOk()); + ASSERT_EQ(expectedStatus, streamCombinationSupported); } } }