diff --git a/audio/aidl/default/XsdcConversion.cpp b/audio/aidl/default/XsdcConversion.cpp index 9e303471cd..172094911c 100644 --- a/audio/aidl/default/XsdcConversion.cpp +++ b/audio/aidl/default/XsdcConversion.cpp @@ -205,24 +205,28 @@ ConversionResult convertAudioProfileToAidl(const ap_xsd::Profile& ConversionResult convertIoFlagsToAidl( const std::vector& flags, const ap_xsd::Role role, bool flagsForMixPort) { - int flagMask = 0; + int legacyFlagMask = 0; if ((role == ap_xsd::Role::sink && flagsForMixPort) || (role == ap_xsd::Role::source && !flagsForMixPort)) { for (const ap_xsd::AudioInOutFlag& flag : flags) { audio_input_flags_t legacyFlag; if (::android::InputFlagConverter::fromString(ap_xsd::toString(flag), legacyFlag)) { - flagMask |= static_cast(legacyFlag); + legacyFlagMask |= static_cast(legacyFlag); } } - return AudioIoFlags::make(flagMask); + return AudioIoFlags::make( + VALUE_OR_FATAL(legacy2aidl_audio_input_flags_t_int32_t_mask( + static_cast(legacyFlagMask)))); } else { for (const ap_xsd::AudioInOutFlag& flag : flags) { audio_output_flags_t legacyFlag; if (::android::OutputFlagConverter::fromString(ap_xsd::toString(flag), legacyFlag)) { - flagMask |= static_cast(legacyFlag); + legacyFlagMask |= static_cast(legacyFlag); } } - return AudioIoFlags::make(flagMask); + return AudioIoFlags::make( + VALUE_OR_FATAL(legacy2aidl_audio_output_flags_t_int32_t_mask( + static_cast(legacyFlagMask)))); } }