mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:23:37 +00:00
vts: getParameters only if parameters are supported
1) Validate specific parameters before open call, send only if parameters are supported. 2) GetParameters only if parameters are in range. Bug: 288510312 Test: run vts VtsHalNSTargetTest, VtsHalAECTargetTest (cherry picked from https://android-review.googlesource.com/q/commit:b985903e16929a7378c6c8ff6281e6748164ce51) Merged-In: Idb20d819b3eb8a4ba56b4d50311c1aa7659f3616 Change-Id: Idb20d819b3eb8a4ba56b4d50311c1aa7659f3616
This commit is contained in:
committed by
Cherrypicker Worker
parent
750c778f60
commit
dfd1d0632e
@@ -51,7 +51,7 @@ class AECParamTest : public ::testing::TestWithParam<AECParamTestParam>, public
|
||||
ASSERT_NE(nullptr, mFactory);
|
||||
ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor));
|
||||
|
||||
Parameter::Specific specific = getDefaultParamSpecific();
|
||||
auto specific = getDefaultParamSpecific();
|
||||
Parameter::Common common = EffectHelper::createParamCommon(
|
||||
0 /* session */, 1 /* ioHandle */, 44100 /* iSampleRate */, 44100 /* oSampleRate */,
|
||||
kInputFrameCount /* iFrameCount */, kOutputFrameCount /* oFrameCount */);
|
||||
@@ -65,8 +65,13 @@ class AECParamTest : public ::testing::TestWithParam<AECParamTestParam>, public
|
||||
ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect));
|
||||
}
|
||||
|
||||
Parameter::Specific getDefaultParamSpecific() {
|
||||
AcousticEchoCanceler aec = AcousticEchoCanceler::make<AcousticEchoCanceler::echoDelayUs>(0);
|
||||
std::optional<Parameter::Specific> getDefaultParamSpecific() {
|
||||
auto aec = AcousticEchoCanceler::make<AcousticEchoCanceler::echoDelayUs>(0);
|
||||
if (!isParameterValid<AcousticEchoCanceler, Range::acousticEchoCanceler>(aec,
|
||||
mDescriptor)) {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
Parameter::Specific specific =
|
||||
Parameter::Specific::make<Parameter::Specific::acousticEchoCanceler>(aec);
|
||||
return specific;
|
||||
|
||||
@@ -48,7 +48,7 @@ class NSParamTest : public ::testing::TestWithParam<NSParamTestParam>, public Ef
|
||||
ASSERT_NE(nullptr, mFactory);
|
||||
ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor));
|
||||
|
||||
Parameter::Specific specific = getDefaultParamSpecific();
|
||||
std::optional<Parameter::Specific> specific = getDefaultParamSpecific();
|
||||
Parameter::Common common = EffectHelper::createParamCommon(
|
||||
0 /* session */, 1 /* ioHandle */, 44100 /* iSampleRate */, 44100 /* oSampleRate */,
|
||||
kInputFrameCount /* iFrameCount */, kOutputFrameCount /* oFrameCount */);
|
||||
@@ -62,9 +62,13 @@ class NSParamTest : public ::testing::TestWithParam<NSParamTestParam>, public Ef
|
||||
ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect));
|
||||
}
|
||||
|
||||
Parameter::Specific getDefaultParamSpecific() {
|
||||
std::optional<Parameter::Specific> getDefaultParamSpecific() {
|
||||
NoiseSuppression ns =
|
||||
NoiseSuppression::make<NoiseSuppression::level>(NoiseSuppression::Level::MEDIUM);
|
||||
if (!isParameterValid<NoiseSuppression, Range::noiseSuppression>(ns, mDescriptor)) {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
Parameter::Specific specific =
|
||||
Parameter::Specific::make<Parameter::Specific::noiseSuppression>(ns);
|
||||
return specific;
|
||||
@@ -85,7 +89,9 @@ class NSParamTest : public ::testing::TestWithParam<NSParamTestParam>, public Ef
|
||||
// validate parameter
|
||||
Descriptor desc;
|
||||
ASSERT_STATUS(EX_NONE, mEffect->getDescriptor(&desc));
|
||||
const binder_exception_t expected = EX_NONE;
|
||||
const bool valid =
|
||||
isParameterValid<NoiseSuppression, Range::noiseSuppression>(ns, desc);
|
||||
const binder_exception_t expected = valid ? EX_NONE : EX_ILLEGAL_ARGUMENT;
|
||||
|
||||
// set parameter
|
||||
Parameter expectParam;
|
||||
|
||||
Reference in New Issue
Block a user