mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Camera: Remove code for feature_combination_query
Flag: EXEMPT removing feature_combination_query Test: Build Bug: 365555185 Change-Id: I8529de60cebca5ba7c701581f49b9ea26a5676df
This commit is contained in:
@@ -288,77 +288,70 @@ TEST_P(CameraAidlTest, getCameraCharacteristics) {
|
||||
}
|
||||
|
||||
TEST_P(CameraAidlTest, getSessionCharacteristics) {
|
||||
if (flags::feature_combination_query()) {
|
||||
std::vector<std::string> cameraDeviceNames = getCameraDeviceNames(mProvider);
|
||||
std::vector<std::string> cameraDeviceNames = getCameraDeviceNames(mProvider);
|
||||
|
||||
for (const auto& name : cameraDeviceNames) {
|
||||
std::shared_ptr<ICameraDevice> device;
|
||||
ALOGI("getSessionCharacteristics: Testing camera device %s", name.c_str());
|
||||
ndk::ScopedAStatus ret = mProvider->getCameraDeviceInterface(name, &device);
|
||||
ALOGI("getCameraDeviceInterface returns: %d:%d", ret.getExceptionCode(),
|
||||
ret.getServiceSpecificError());
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
ASSERT_NE(device, nullptr);
|
||||
for (const auto& name : cameraDeviceNames) {
|
||||
std::shared_ptr<ICameraDevice> device;
|
||||
ALOGI("getSessionCharacteristics: Testing camera device %s", name.c_str());
|
||||
ndk::ScopedAStatus ret = mProvider->getCameraDeviceInterface(name, &device);
|
||||
ALOGI("getCameraDeviceInterface returns: %d:%d", ret.getExceptionCode(),
|
||||
ret.getServiceSpecificError());
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
ASSERT_NE(device, nullptr);
|
||||
|
||||
int32_t interfaceVersion = -1;
|
||||
ret = device->getInterfaceVersion(&interfaceVersion);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
bool supportSessionCharacteristics =
|
||||
(interfaceVersion >= CAMERA_DEVICE_API_MINOR_VERSION_3);
|
||||
if (!supportSessionCharacteristics) {
|
||||
continue;
|
||||
}
|
||||
|
||||
CameraMetadata meta;
|
||||
openEmptyDeviceSession(name, mProvider, &mSession /*out*/, &meta /*out*/,
|
||||
&device /*out*/);
|
||||
|
||||
std::vector<AvailableStream> outputStreams;
|
||||
camera_metadata_t* staticMeta =
|
||||
reinterpret_cast<camera_metadata_t*>(meta.metadata.data());
|
||||
outputStreams.clear();
|
||||
ASSERT_EQ(Status::OK, getAvailableOutputStreams(staticMeta, outputStreams));
|
||||
ASSERT_NE(0u, outputStreams.size());
|
||||
|
||||
AvailableStream sampleStream = outputStreams[0];
|
||||
|
||||
int32_t streamId = 0;
|
||||
Stream stream = {streamId,
|
||||
StreamType::OUTPUT,
|
||||
sampleStream.width,
|
||||
sampleStream.height,
|
||||
static_cast<PixelFormat>(sampleStream.format),
|
||||
static_cast<aidl::android::hardware::graphics::common::BufferUsage>(
|
||||
GRALLOC1_CONSUMER_USAGE_VIDEO_ENCODER),
|
||||
Dataspace::UNKNOWN,
|
||||
StreamRotation::ROTATION_0,
|
||||
std::string(),
|
||||
/*bufferSize*/ 0,
|
||||
/*groupId*/ -1,
|
||||
{SensorPixelMode::ANDROID_SENSOR_PIXEL_MODE_DEFAULT},
|
||||
RequestAvailableDynamicRangeProfilesMap::
|
||||
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD};
|
||||
|
||||
std::vector<Stream> streams = {stream};
|
||||
StreamConfiguration config;
|
||||
createStreamConfiguration(streams, StreamConfigurationMode::NORMAL_MODE, &config);
|
||||
|
||||
CameraMetadata camera_chars;
|
||||
ret = device->getCameraCharacteristics(&camera_chars);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
|
||||
CameraMetadata session_chars;
|
||||
ret = device->getSessionCharacteristics(config, &session_chars);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
verifySessionCharacteristics(session_chars, camera_chars);
|
||||
|
||||
ret = mSession->close();
|
||||
mSession = nullptr;
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
int32_t interfaceVersion = -1;
|
||||
ret = device->getInterfaceVersion(&interfaceVersion);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
bool supportSessionCharacteristics =
|
||||
(interfaceVersion >= CAMERA_DEVICE_API_MINOR_VERSION_3);
|
||||
if (!supportSessionCharacteristics) {
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
ALOGI("getSessionCharacteristics: Test skipped.\n");
|
||||
GTEST_SKIP();
|
||||
|
||||
CameraMetadata meta;
|
||||
openEmptyDeviceSession(name, mProvider, &mSession /*out*/, &meta /*out*/, &device /*out*/);
|
||||
|
||||
std::vector<AvailableStream> outputStreams;
|
||||
camera_metadata_t* staticMeta = reinterpret_cast<camera_metadata_t*>(meta.metadata.data());
|
||||
outputStreams.clear();
|
||||
ASSERT_EQ(Status::OK, getAvailableOutputStreams(staticMeta, outputStreams));
|
||||
ASSERT_NE(0u, outputStreams.size());
|
||||
|
||||
AvailableStream sampleStream = outputStreams[0];
|
||||
|
||||
int32_t streamId = 0;
|
||||
Stream stream = {streamId,
|
||||
StreamType::OUTPUT,
|
||||
sampleStream.width,
|
||||
sampleStream.height,
|
||||
static_cast<PixelFormat>(sampleStream.format),
|
||||
static_cast<aidl::android::hardware::graphics::common::BufferUsage>(
|
||||
GRALLOC1_CONSUMER_USAGE_VIDEO_ENCODER),
|
||||
Dataspace::UNKNOWN,
|
||||
StreamRotation::ROTATION_0,
|
||||
std::string(),
|
||||
/*bufferSize*/ 0,
|
||||
/*groupId*/ -1,
|
||||
{SensorPixelMode::ANDROID_SENSOR_PIXEL_MODE_DEFAULT},
|
||||
RequestAvailableDynamicRangeProfilesMap::
|
||||
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD};
|
||||
|
||||
std::vector<Stream> streams = {stream};
|
||||
StreamConfiguration config;
|
||||
createStreamConfiguration(streams, StreamConfigurationMode::NORMAL_MODE, &config);
|
||||
|
||||
CameraMetadata camera_chars;
|
||||
ret = device->getCameraCharacteristics(&camera_chars);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
|
||||
CameraMetadata session_chars;
|
||||
ret = device->getSessionCharacteristics(config, &session_chars);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
verifySessionCharacteristics(session_chars, camera_chars);
|
||||
|
||||
ret = mSession->close();
|
||||
mSession = nullptr;
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -615,19 +608,17 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) {
|
||||
ASSERT_EQ(0u, rawMetadata.metadata.size());
|
||||
}
|
||||
|
||||
if (flags::feature_combination_query()) {
|
||||
if (supportFeatureCombinationQuery) {
|
||||
CameraMetadata rawMetadata2;
|
||||
ndk::ScopedAStatus ret2 =
|
||||
device->constructDefaultRequestSettings(reqTemplate, &rawMetadata2);
|
||||
if (supportFeatureCombinationQuery) {
|
||||
CameraMetadata rawMetadata2;
|
||||
ndk::ScopedAStatus ret2 =
|
||||
device->constructDefaultRequestSettings(reqTemplate, &rawMetadata2);
|
||||
|
||||
ASSERT_EQ(ret.isOk(), ret2.isOk());
|
||||
ASSERT_EQ(ret.getStatus(), ret2.getStatus());
|
||||
ASSERT_EQ(ret.isOk(), ret2.isOk());
|
||||
ASSERT_EQ(ret.getStatus(), ret2.getStatus());
|
||||
|
||||
ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size());
|
||||
if (ret2.isOk()) {
|
||||
validateDefaultRequestMetadata(reqTemplate, rawMetadata2);
|
||||
}
|
||||
ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size());
|
||||
if (ret2.isOk()) {
|
||||
validateDefaultRequestMetadata(reqTemplate, rawMetadata2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1920,28 +1920,22 @@ void CameraAidlTest::verifyStreamCombination(const std::shared_ptr<ICameraDevice
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
ASSERT_EQ(expectedStatus, streamCombinationSupported);
|
||||
|
||||
if (flags::feature_combination_query()) {
|
||||
int32_t interfaceVersion;
|
||||
ret = device->getInterfaceVersion(&interfaceVersion);
|
||||
int32_t interfaceVersion;
|
||||
ret = device->getInterfaceVersion(&interfaceVersion);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
bool supportFeatureCombinationQuery =
|
||||
(interfaceVersion >= CAMERA_DEVICE_API_MINOR_VERSION_3);
|
||||
if (supportFeatureCombinationQuery) {
|
||||
ret = device->isStreamCombinationWithSettingsSupported(config,
|
||||
&streamCombinationSupported);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
bool supportFeatureCombinationQuery =
|
||||
(interfaceVersion >= CAMERA_DEVICE_API_MINOR_VERSION_3);
|
||||
if (supportFeatureCombinationQuery) {
|
||||
ret = device->isStreamCombinationWithSettingsSupported(config,
|
||||
&streamCombinationSupported);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
ASSERT_EQ(expectedStatus, streamCombinationSupported);
|
||||
}
|
||||
ASSERT_EQ(expectedStatus, streamCombinationSupported);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CameraAidlTest::verifySessionCharacteristics(const CameraMetadata& session_chars,
|
||||
const CameraMetadata& camera_chars) {
|
||||
if (!flags::feature_combination_query()) {
|
||||
return;
|
||||
}
|
||||
|
||||
const camera_metadata_t* session_metadata =
|
||||
reinterpret_cast<const camera_metadata_t*>(session_chars.metadata.data());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user