Use 'audio_port_config' in DeviceHalInterface::add/removeDeviceEffect
Previously, `audio_port_handle_t` was used to specify the device
port. However, these port handles are allocated by the framework
and are not known to the HAL a priori. The current scenario
assumes that the framework first creates an audio patch, thus
passes a complete `audio_port_config` to the HAL prior to adding
an effect. However, this assumption isn't stated anywhere in
the legacy interface definition.
To make things more flexible, make the framework to pass
`audio_port_config` when it adds/removes a device effect.
This also makes unnecessary to pass the hw module ID as it is
contained within the port config. The legacy HAL interface
is left intact.
Bug: 205884982
Test: m
Change-Id: Ie9410637ad092bff22b2c0fe1c92e516a1f24ee0
diff --git a/media/libaudiohal/impl/DeviceHalHidl.h b/media/libaudiohal/impl/DeviceHalHidl.h
index 17acd2f..e82f20a 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.h
+++ b/media/libaudiohal/impl/DeviceHalHidl.h
@@ -105,8 +105,10 @@
// List microphones
status_t getMicrophones(std::vector<audio_microphone_characteristic_t>* microphones) override;
- status_t addDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
- status_t removeDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
+ status_t addDeviceEffect(
+ const struct audio_port_config *device, sp<EffectHalInterface> effect) override;
+ status_t removeDeviceEffect(
+ const struct audio_port_config *device, sp<EffectHalInterface> effect) override;
status_t getMmapPolicyInfos(
media::audio::common::AudioMMapPolicyType policyType __unused,