Split AudioPort/Config between fwk and android.media.audio.common
a.m.a.c adds versions of AudioPort/Config structs which
are similar to Audio HIDL HAL V7. They lack some bits used only
by the framework. These are carried in AudioPortSys/PortConfigSys.
media::AudioPort/Config join the HAL part and the system part
together.
Updated to/from AIDL conversions in libaudiofondation.
Bug: 198812639
Test: atest audiofoundation_parcelable_test
Change-Id: I383cf2b07d9931dbea1ba0d10bb60cdd0b57039c
diff --git a/media/libaudiofoundation/DeviceDescriptorBase.cpp b/media/libaudiofoundation/DeviceDescriptorBase.cpp
index 2e9b005..cf829b5 100644
--- a/media/libaudiofoundation/DeviceDescriptorBase.cpp
+++ b/media/libaudiofoundation/DeviceDescriptorBase.cpp
@@ -166,18 +166,18 @@
status_t DeviceDescriptorBase::writeToParcelable(media::AudioPort* parcelable) const {
AudioPort::writeToParcelable(parcelable);
- AudioPortConfig::writeToParcelable(&parcelable->activeConfig, useInputChannelMask());
- parcelable->id = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_port_handle_t_int32_t(mId));
+ AudioPortConfig::writeToParcelable(&parcelable->hal.activeConfig, useInputChannelMask());
+ parcelable->hal.id = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_port_handle_t_int32_t(mId));
media::audio::common::AudioDevice device = VALUE_OR_RETURN_STATUS(
legacy2aidl_AudioDeviceTypeAddress(mDeviceTypeAddr));
- UNION_SET(parcelable->ext, device, device);
+ UNION_SET(parcelable->hal.ext, device, device);
media::AudioPortDeviceExtSys deviceSys;
deviceSys.encapsulationModes = VALUE_OR_RETURN_STATUS(
legacy2aidl_AudioEncapsulationMode_mask(mEncapsulationModes));
deviceSys.encapsulationMetadataTypes = VALUE_OR_RETURN_STATUS(
legacy2aidl_AudioEncapsulationMetadataType_mask(mEncapsulationMetadataTypes));
- UNION_SET(parcelable->extSys, device, deviceSys);
+ UNION_SET(parcelable->sys.ext, device, deviceSys);
return OK;
}
@@ -188,21 +188,22 @@
}
status_t DeviceDescriptorBase::readFromParcelable(const media::AudioPort& parcelable) {
- if (parcelable.type != media::AudioPortType::DEVICE) {
+ if (parcelable.sys.type != media::AudioPortType::DEVICE) {
return BAD_VALUE;
}
status_t status = AudioPort::readFromParcelable(parcelable)
- ?: AudioPortConfig::readFromParcelable(parcelable.activeConfig, useInputChannelMask());
+ ?: AudioPortConfig::readFromParcelable(
+ parcelable.hal.activeConfig, useInputChannelMask());
if (status != OK) {
return status;
}
media::audio::common::AudioDevice device = VALUE_OR_RETURN_STATUS(
- UNION_GET(parcelable.ext, device));
+ UNION_GET(parcelable.hal.ext, device));
mDeviceTypeAddr = VALUE_OR_RETURN_STATUS(
aidl2legacy_AudioDeviceTypeAddress(device));
media::AudioPortDeviceExtSys deviceSys = VALUE_OR_RETURN_STATUS(
- UNION_GET(parcelable.extSys, device));
+ UNION_GET(parcelable.sys.ext, device));
mEncapsulationModes = VALUE_OR_RETURN_STATUS(
aidl2legacy_AudioEncapsulationMode_mask(deviceSys.encapsulationModes));
mEncapsulationMetadataTypes = VALUE_OR_RETURN_STATUS(