From 4c4f3cd1534bd8b7f4b7eea00e0ca23ea8ca3698 Mon Sep 17 00:00:00 2001 From: Shunkai Yao Date: Tue, 28 Feb 2023 01:50:40 +0000 Subject: [PATCH] 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 --- audio/aidl/default/EffectFactory.cpp | 2 ++ audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/audio/aidl/default/EffectFactory.cpp b/audio/aidl/default/EffectFactory.cpp index 638fa7fbb8..2e1bb12a43 100644 --- a/audio/aidl/default/EffectFactory.cpp +++ b/audio/aidl/default/EffectFactory.cpp @@ -76,6 +76,8 @@ ndk::ScopedAStatus Factory::queryEffects(const std::optional& 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)); } } diff --git a/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp b/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp index 947d30ed8d..72ec3f9743 100644 --- a/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp +++ b/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp @@ -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)); }