From 9f9fe929112186f19dd9478043cd34853fa94451 Mon Sep 17 00:00:00 2001 From: Shunkai Yao Date: Mon, 4 Mar 2024 21:23:04 +0000 Subject: [PATCH] Effect Aidl: skipping reopen test for unsupported audio hal Bug: 327678656 Bug: 328009824 Test: atest VtsHalAudioEffectTargetTest Change-Id: I25a27c780253f84f771148b5c30be57f35dbf39c --- audio/aidl/vts/EffectFactoryHelper.h | 11 +++++++++++ audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/audio/aidl/vts/EffectFactoryHelper.h b/audio/aidl/vts/EffectFactoryHelper.h index 7100431dc5..cc29f5e2af 100644 --- a/audio/aidl/vts/EffectFactoryHelper.h +++ b/audio/aidl/vts/EffectFactoryHelper.h @@ -23,6 +23,7 @@ #include #include +#include #include "AudioHalBinderServiceUtil.h" #include "TestUtils.h" @@ -74,6 +75,16 @@ class EffectFactoryHelper { return result; } + static int getHalVersion(const std::shared_ptr& factory) { + int version = 0; + return (factory && factory->getInterfaceVersion(&version).isOk()) ? version : 0; + } + + static bool isReopenSupported(const std::shared_ptr& factory) { + return EffectFactoryHelper::getHalVersion(factory) >= + aidl::android::hardware::audio::effect::kReopenSupportedVersion; + } + private: std::shared_ptr mEffectFactory; std::string mServiceName; diff --git a/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp b/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp index 547982523e..4693f102cb 100644 --- a/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp +++ b/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp @@ -42,6 +42,7 @@ using aidl::android::hardware::audio::effect::Descriptor; using aidl::android::hardware::audio::effect::Flags; using aidl::android::hardware::audio::effect::IEffect; using aidl::android::hardware::audio::effect::IFactory; +using aidl::android::hardware::audio::effect::kReopenSupportedVersion; using aidl::android::hardware::audio::effect::Parameter; using aidl::android::hardware::audio::effect::State; using aidl::android::media::audio::common::AudioDeviceDescription; @@ -613,6 +614,10 @@ TEST_P(AudioEffectTest, SetAndGetParameterVolume) { * verify reopen sequence. */ TEST_P(AudioEffectDataPathTest, SetCommonParameterAndReopen) { + if (!EffectFactoryHelper::isReopenSupported(mFactory)) { + GTEST_SKIP() << "Skipping test as effect does not support reopen"; + } + ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor)); Parameter::Common common = EffectHelper::createParamCommon( @@ -732,6 +737,10 @@ TEST_P(AudioEffectDataPathTest, ConsumeDataAfterRestart) { // Send data to effects and expect it to be consumed after effect reopen (IO AudioConfig change). // Effects exposing bypass flags or operating in offload mode will be skipped. TEST_P(AudioEffectDataPathTest, ConsumeDataAfterReopen) { + if (!EffectFactoryHelper::isReopenSupported(mFactory)) { + GTEST_SKIP() << "Skipping test as effect does not support reopen"; + } + ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor)); Parameter::Common common = EffectHelper::createParamCommon(