mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
AIDL effect: Effect factory add EffectProxy information in proxy
Effect factory have the knowledge of all effect configurations, in the default implementation, this configuration defined in audio_effects_config.xml. Bug: 261129656 Test: Enable AIDL, atest CtsMediaAudioTestCases: android.media.audio.cts.BassBoostTest Test: atest VtsHalAudioEffectTargetTest Change-Id: Ie9bd4070acdca53c4236bae533957b8fde6e9183
This commit is contained in:
@@ -76,6 +76,8 @@ ndk::ScopedAStatus Factory::queryEffects(const std::optional<AudioUuid>& in_type
|
||||
RETURN_IF(!libInterface || !libInterface->queryEffectFunc, EX_NULL_POINTER,
|
||||
"dlNullQueryEffectFunc");
|
||||
RETURN_IF_BINDER_EXCEPTION(libInterface->queryEffectFunc(&id.uuid, &desc));
|
||||
// update proxy UUID with information from config xml
|
||||
desc.common.id.proxy = id.proxy;
|
||||
_aidl_return->emplace_back(std::move(desc));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,10 @@ TEST_P(AudioEffectTest, GetDescritorBeforeOpen) {
|
||||
Descriptor desc;
|
||||
ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor));
|
||||
ASSERT_NO_FATAL_FAILURE(getDescriptor(mEffect, desc));
|
||||
EXPECT_EQ(mDescriptor.common, desc.common);
|
||||
EXPECT_EQ(mDescriptor.common.id.type, desc.common.id.type);
|
||||
EXPECT_EQ(mDescriptor.common.id.uuid, desc.common.id.uuid);
|
||||
EXPECT_EQ(mDescriptor.common.name, desc.common.name);
|
||||
EXPECT_EQ(mDescriptor.common.implementor, desc.common.implementor);
|
||||
// Effect implementation Must fill in implementor and name
|
||||
EXPECT_NE("", desc.common.name);
|
||||
EXPECT_NE("", desc.common.implementor);
|
||||
@@ -177,7 +180,11 @@ TEST_P(AudioEffectTest, DescriptorExistAndUnique) {
|
||||
|
||||
ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor));
|
||||
ASSERT_NO_FATAL_FAILURE(getDescriptor(mEffect, desc));
|
||||
EXPECT_EQ(1ul, idSet.count(desc.common.id));
|
||||
int uuidCount = std::count_if(idSet.begin(), idSet.end(), [&](const auto& id) {
|
||||
return id.uuid == desc.common.id.uuid && id.type == desc.common.id.type;
|
||||
});
|
||||
|
||||
EXPECT_EQ(1, uuidCount);
|
||||
ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user