mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:23:37 +00:00
Merge "audio: Fix parsing of I/O flags from XML config" into main am: 1a7cdeef2b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2850161 Change-Id: Iee1503da181f831393f2cdc1cec992341385e3f7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -205,24 +205,28 @@ ConversionResult<AudioProfile> convertAudioProfileToAidl(const ap_xsd::Profile&
|
||||
ConversionResult<AudioIoFlags> convertIoFlagsToAidl(
|
||||
const std::vector<ap_xsd::AudioInOutFlag>& 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<int>(legacyFlag);
|
||||
legacyFlagMask |= static_cast<int>(legacyFlag);
|
||||
}
|
||||
}
|
||||
return AudioIoFlags::make<AudioIoFlags::Tag::input>(flagMask);
|
||||
return AudioIoFlags::make<AudioIoFlags::Tag::input>(
|
||||
VALUE_OR_FATAL(legacy2aidl_audio_input_flags_t_int32_t_mask(
|
||||
static_cast<audio_input_flags_t>(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<int>(legacyFlag);
|
||||
legacyFlagMask |= static_cast<int>(legacyFlag);
|
||||
}
|
||||
}
|
||||
return AudioIoFlags::make<AudioIoFlags::Tag::output>(flagMask);
|
||||
return AudioIoFlags::make<AudioIoFlags::Tag::output>(
|
||||
VALUE_OR_FATAL(legacy2aidl_audio_output_flags_t_int32_t_mask(
|
||||
static_cast<audio_output_flags_t>(legacyFlagMask))));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user