Support passing entire effect_param_t as vendor extension
Copy entire effect_param_t into AIDL ParcelableHolder with DefaultExtension
Bug: 271500140
Test: Enable AIDL
Test: atest libAudioHalEffectParamTest
Change-Id: I21829324e820dc68859000d912376a5e1b7d056b
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAec.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAec.cpp
index 92b77d8..f5640b8 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAec.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAec.cpp
@@ -67,7 +67,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(AcousticEchoCanceler, acousticEchoCanceler, vendor,
ext);
RETURN_STATUS_IF_ERROR(statusTFromBinderStatus(mEffect->setParameter(aidlParam)));
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAgc1.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAgc1.cpp
index 1363ba4..03606f4 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAgc1.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAgc1.cpp
@@ -90,7 +90,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
Parameter aidlParam = MAKE_SPECIFIC_PARAMETER(AutomaticGainControlV1,
automaticGainControlV1, vendor, ext);
return statusTFromBinderStatus(mEffect->setParameter(aidlParam));
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAgc2.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAgc2.cpp
index b35a1c6..b9a5b02 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAgc2.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionAgc2.cpp
@@ -68,7 +68,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(AutomaticGainControlV2, automaticGainControlV2,
vendor, ext);
break;
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionBassBoost.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionBassBoost.cpp
index 7c6a5a2..8df56b0 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionBassBoost.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionBassBoost.cpp
@@ -66,7 +66,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(BassBoost, bassBoost, vendor, ext);
break;
}
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionDownmix.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionDownmix.cpp
index b57971c..2b98e21 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionDownmix.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionDownmix.cpp
@@ -60,7 +60,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(Downmix, downmix, vendor, ext);
}
}
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionDynamicsProcessing.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionDynamicsProcessing.cpp
index fe845ab..89f8b83 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionDynamicsProcessing.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionDynamicsProcessing.cpp
@@ -119,7 +119,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam =
MAKE_SPECIFIC_PARAMETER(DynamicsProcessing, dynamicsProcessing, vendor, ext);
break;
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionEnvReverb.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionEnvReverb.cpp
index 754da43..fcade68 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionEnvReverb.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionEnvReverb.cpp
@@ -168,7 +168,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
Parameter aidlParam = MAKE_SPECIFIC_PARAMETER(EnvironmentalReverb,
environmentalReverb, vendor, ext);
RETURN_STATUS_IF_ERROR(statusTFromBinderStatus(mEffect->setParameter(aidlParam)));
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionEq.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionEq.cpp
index fc867c7..ca6ff88 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionEq.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionEq.cpp
@@ -103,7 +103,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(Equalizer, equalizer, vendor, ext);
break;
}
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionHapticGenerator.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionHapticGenerator.cpp
index 73430ba..bdee7b6 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionHapticGenerator.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionHapticGenerator.cpp
@@ -79,7 +79,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(HapticGenerator, hapticGenerator, vendor, ext);
break;
}
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionLoudnessEnhancer.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionLoudnessEnhancer.cpp
index 31eec65..a0526e6 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionLoudnessEnhancer.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionLoudnessEnhancer.cpp
@@ -58,7 +58,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(LoudnessEnhancer, loudnessEnhancer, vendor, ext);
break;
}
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionNoiseSuppression.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionNoiseSuppression.cpp
index 7c34ed7..bf75e4a 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionNoiseSuppression.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionNoiseSuppression.cpp
@@ -63,7 +63,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(NoiseSuppression, noiseSuppression, vendor, ext);
break;
}
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionPresetReverb.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionPresetReverb.cpp
index e936aef..3cac591 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionPresetReverb.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionPresetReverb.cpp
@@ -61,7 +61,7 @@
} else {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(PresetReverb, presetReverb, vendor, ext);
}
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionSpatializer.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionSpatializer.cpp
index eadd6c3..ff0c32b 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionSpatializer.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionSpatializer.cpp
@@ -44,7 +44,7 @@
status_t AidlConversionSpatializer::setParameter(EffectParamReader& param) {
Parameter aidlParam = VALUE_OR_RETURN_STATUS(
- ::aidl::android::legacy2aidl_EffectParameterReader_ParameterExtension(param));
+ ::aidl::android::legacy2aidl_EffectParameterReader_Parameter(param));
return statusTFromBinderStatus(mEffect->setParameter(aidlParam));
}
@@ -64,8 +64,7 @@
RETURN_STATUS_IF_ERROR(statusTFromBinderStatus(mEffect->getParameter(id, &aidlParam)));
// copy the AIDL extension data back to effect_param_t
return VALUE_OR_RETURN_STATUS(
- ::aidl::android::aidl2legacy_ParameterExtension_EffectParameterWriter(aidlParam,
- param));
+ ::aidl::android::aidl2legacy_Parameter_EffectParameterWriter(aidlParam, param));
}
} // namespace effect
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVendorExtension.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVendorExtension.cpp
index 488d5cd..2c29c7d 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVendorExtension.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVendorExtension.cpp
@@ -52,20 +52,19 @@
*/
status_t AidlConversionVendorExtension::setParameter(EffectParamReader& param) {
Parameter aidlParam = VALUE_OR_RETURN_STATUS(
- ::aidl::android::legacy2aidl_EffectParameterReader_ParameterExtension(param));
+ ::aidl::android::legacy2aidl_EffectParameterReader_Parameter(param));
return statusTFromBinderStatus(mEffect->setParameter(aidlParam));
}
status_t AidlConversionVendorExtension::getParameter(EffectParamWriter& param) {
VendorExtension extId = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Param_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
Parameter::Id id = UNION_MAKE(Parameter::Id, vendorEffectTag, extId);
Parameter aidlParam;
RETURN_STATUS_IF_ERROR(statusTFromBinderStatus(mEffect->getParameter(id, &aidlParam)));
// copy the AIDL extension data back to effect_param_t
return VALUE_OR_RETURN_STATUS(
- ::aidl::android::aidl2legacy_ParameterExtension_EffectParameterWriter(aidlParam,
- param));
+ ::aidl::android::aidl2legacy_Parameter_EffectParameterWriter(aidlParam, param));
}
} // namespace effect
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVirtualizer.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVirtualizer.cpp
index c95c3a9..cad0068 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVirtualizer.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVirtualizer.cpp
@@ -77,7 +77,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(Virtualizer, virtualizer, vendor, ext);
break;
}
diff --git a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVisualizer.cpp b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVisualizer.cpp
index b4440ee..18d0d95 100644
--- a/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVisualizer.cpp
+++ b/media/libaudiohal/impl/effectsAidlConversion/AidlConversionVisualizer.cpp
@@ -75,7 +75,7 @@
default: {
// for vendor extension, copy data area to the DefaultExtension, parameter ignored
VendorExtension ext = VALUE_OR_RETURN_STATUS(
- aidl::android::legacy2aidl_EffectParameterReader_Data_VendorExtension(param));
+ aidl::android::legacy2aidl_EffectParameterReader_VendorExtension(param));
aidlParam = MAKE_SPECIFIC_PARAMETER(Visualizer, visualizer, vendor, ext);
break;
}
diff --git a/media/libaudiohal/tests/EffectsFactoryHalInterface_test.cpp b/media/libaudiohal/tests/EffectsFactoryHalInterface_test.cpp
index 63f895f..2854496 100644
--- a/media/libaudiohal/tests/EffectsFactoryHalInterface_test.cpp
+++ b/media/libaudiohal/tests/EffectsFactoryHalInterface_test.cpp
@@ -16,6 +16,7 @@
//#define LOG_NDEBUG 0
#include <algorithm>
+#include <array>
#include <cstddef>
#include <cstdint>
#include <cstring>
@@ -24,8 +25,11 @@
#define LOG_TAG "EffectsFactoryHalInterfaceTest"
#include <aidl/android/media/audio/common/AudioUuid.h>
+#include <gtest/gtest.h>
#include <media/AidlConversionCppNdk.h>
#include <media/audiohal/EffectsFactoryHalInterface.h>
+#include <system/audio_aidl_utils.h>
+#include <system/audio_effect.h>
#include <system/audio_effects/audio_effects_utils.h>
#include <system/audio_effects/effect_aec.h>
#include <system/audio_effects/effect_agc.h>
@@ -36,17 +40,15 @@
#include <system/audio_effects/effect_hapticgenerator.h>
#include <system/audio_effects/effect_loudnessenhancer.h>
#include <system/audio_effects/effect_ns.h>
-#include <system/audio_effect.h>
-
-#include <gtest/gtest.h>
#include <utils/RefBase.h>
#include <vibrator/ExternalVibrationUtils.h>
namespace android {
+using ::aidl::android::media::audio::common::AudioUuid;
+using ::android::audio::utils::toString;
using effect::utils::EffectParamReader;
using effect::utils::EffectParamWriter;
-using ::aidl::android::media::audio::common::AudioUuid;
// EffectsFactoryHalInterface
TEST(libAudioHalTest, createEffectsFactoryHalInterface) {
@@ -195,7 +197,8 @@
static const effect_uuid_t EXTEND_EFFECT_TYPE_UUID = {
0xfa81dbde, 0x588b, 0x11ed, 0x9b6a, {0x02, 0x42, 0xac, 0x12, 0x00, 0x02}};
-
+constexpr std::array<uint8_t, 10> kVendorExtensionData({0xff, 0x5, 0x50, 0xab, 0xcd, 0x00, 0xbd,
+ 0xdb, 0xee, 0xff});
std::vector<EffectParamTestTuple> testPairs = {
std::make_tuple(FX_IID_AEC,
createEffectParamCombination(AEC_PARAM_ECHO_DELAY, 0xff /* echoDelayMs */,
@@ -203,12 +206,9 @@
std::make_tuple(FX_IID_AGC,
createEffectParamCombination(AGC_PARAM_TARGET_LEVEL, 20 /* targetLevel */,
sizeof(int16_t) /* returnValueSize */)),
- std::make_tuple(FX_IID_AGC2, createEffectParamCombination(
- AGC2_PARAM_FIXED_DIGITAL_GAIN, 15 /* digitalGainDb */,
- sizeof(int32_t) /* returnValueSize */)),
std::make_tuple(SL_IID_BASSBOOST,
createEffectParamCombination(BASSBOOST_PARAM_STRENGTH, 20 /* strength */,
- sizeof(int32_t) /* returnValueSize */)),
+ sizeof(int16_t) /* returnValueSize */)),
std::make_tuple(EFFECT_UIID_DOWNMIX,
createEffectParamCombination(DOWNMIX_PARAM_TYPE, DOWNMIX_TYPE_FOLD,
sizeof(int16_t) /* returnValueSize */)),
@@ -217,13 +217,6 @@
std::array<uint32_t, 2>({DP_PARAM_INPUT_GAIN, 0 /* channel */}),
30 /* gainDb */, sizeof(int32_t) /* returnValueSize */)),
std::make_tuple(
- FX_IID_HAPTICGENERATOR,
- createEffectParamCombination(
- HG_PARAM_HAPTIC_INTENSITY,
- std::array<uint32_t, 2>(
- {1, uint32_t(::android::os::HapticScale::HIGH) /* scale */}),
- 0 /* returnValueSize */)),
- std::make_tuple(
FX_IID_LOUDNESS_ENHANCER,
createEffectParamCombination(LOUDNESS_ENHANCER_PARAM_TARGET_GAIN_MB, 5 /* gain */,
sizeof(int32_t) /* returnValueSize */)),
@@ -231,7 +224,8 @@
createEffectParamCombination(NS_PARAM_LEVEL, 1 /* level */,
sizeof(int32_t) /* returnValueSize */)),
std::make_tuple(&EXTEND_EFFECT_TYPE_UUID,
- createEffectParamCombination(1, 0xbead, sizeof(int32_t)))};
+ createEffectParamCombination(8, kVendorExtensionData,
+ sizeof(kVendorExtensionData)))};
class libAudioHalEffectParamTest : public ::testing::TestWithParam<EffectParamTestTuple> {
public:
@@ -255,7 +249,9 @@
}()) {}
void SetUp() override {
- ASSERT_NE(0ul, mDescs.size());
+ if (0ul == mDescs.size()) {
+ GTEST_SKIP() << "Effect type not available on device, skipping";
+ }
for (const auto& desc : mDescs) {
sp<EffectHalInterface> interface = createEffectHal(desc);
ASSERT_NE(nullptr, interface);
@@ -264,9 +260,11 @@
}
void initEffect(const sp<EffectHalInterface>& interface) {
- uint32_t initReply = 0;
- uint32_t initReplySize = sizeof(initReply);
- ASSERT_EQ(OK, interface->command(EFFECT_CMD_INIT, 0, nullptr, &initReplySize, &initReply));
+ uint32_t reply = 0;
+ uint32_t replySize = sizeof(reply);
+ ASSERT_EQ(OK, interface->command(EFFECT_CMD_INIT, 0, nullptr, &replySize, &reply));
+ ASSERT_EQ(OK, interface->command(EFFECT_CMD_SET_CONFIG, sizeof(mEffectConfig),
+ &mEffectConfig, &replySize, &reply));
}
void TearDown() override {
@@ -311,7 +309,7 @@
std::vector<uint8_t> response(mCombination->valueSize);
EXPECT_EQ(OK, parameterGet.readFromValue(response.data(), mCombination->valueSize))
<< " try get valueSize " << mCombination->valueSize << " from "
- << parameterGet.toString();
+ << parameterGet.toString() << " set " << parameterSet->toString();
EXPECT_EQ(response, mExpectedValue);
}
}
@@ -323,6 +321,23 @@
const std::vector<uint8_t> mExpectedValue;
const std::vector<effect_descriptor_t> mDescs;
std::vector<sp<EffectHalInterface>> mHalInterfaces;
+ effect_config_t mEffectConfig = {.inputCfg = {.accessMode = EFFECT_BUFFER_ACCESS_READ,
+ .format = AUDIO_FORMAT_PCM_FLOAT,
+ .bufferProvider.getBuffer = nullptr,
+ .bufferProvider.releaseBuffer = nullptr,
+ .bufferProvider.cookie = nullptr,
+ .mask = EFFECT_CONFIG_ALL,
+ .samplingRate = 48000,
+ .channels = AUDIO_CHANNEL_IN_STEREO},
+
+ .outputCfg = {.accessMode = EFFECT_BUFFER_ACCESS_WRITE,
+ .format = AUDIO_FORMAT_PCM_FLOAT,
+ .bufferProvider.getBuffer = nullptr,
+ .bufferProvider.releaseBuffer = nullptr,
+ .bufferProvider.cookie = nullptr,
+ .mask = EFFECT_CONFIG_ALL,
+ .samplingRate = 48000,
+ .channels = AUDIO_CHANNEL_OUT_STEREO}};
};
TEST_P(libAudioHalEffectParamTest, setAndGetParam) {
@@ -338,7 +353,7 @@
AudioUuid uuid = ::aidl::android::legacy2aidl_audio_uuid_t_AudioUuid(
*std::get<TUPLE_UUID>(info.param))
.value();
- std::string name = "UUID_" + uuid.toString();
+ std::string name = "UUID_" + toString(uuid);
std::replace_if(
name.begin(), name.end(), [](const char c) { return !std::isalnum(c); }, '_');
return name;