From f8ed37158bd4125611f53144ebc5e150ed2e41dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Gaffie?= Date: Tue, 7 Jan 2020 17:38:41 +0100 Subject: [PATCH] [AudioEffect V6] Add Device Effects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL updates the schemas of Audio Effect Configuration to support device effects. Bug: 136294538 Test: build Change-Id: I5bd72e9e5a6889000b91c78a25e46f6b26744c20 Signed-off-by: François Gaffie --- audio/effect/6.0/xml/api/current.txt | 69 +++++++++++++++ audio/effect/6.0/xml/audio_effects_conf.xsd | 93 +++++++++++++++++++++ 2 files changed, 162 insertions(+) diff --git a/audio/effect/6.0/xml/api/current.txt b/audio/effect/6.0/xml/api/current.txt index 2dfcb9b348..c9c59b6998 100644 --- a/audio/effect/6.0/xml/api/current.txt +++ b/audio/effect/6.0/xml/api/current.txt @@ -3,11 +3,13 @@ package audio.effects.V6_0 { public class AudioEffectsConf { ctor public AudioEffectsConf(); + method public audio.effects.V6_0.AudioEffectsConf.DeviceEffects getDeviceEffects(); method public audio.effects.V6_0.EffectsType getEffects(); method public audio.effects.V6_0.LibrariesType getLibraries(); method public audio.effects.V6_0.AudioEffectsConf.Postprocess getPostprocess(); method public audio.effects.V6_0.AudioEffectsConf.Preprocess getPreprocess(); method public audio.effects.V6_0.VersionType getVersion(); + method public void setDeviceEffects(audio.effects.V6_0.AudioEffectsConf.DeviceEffects); method public void setEffects(audio.effects.V6_0.EffectsType); method public void setLibraries(audio.effects.V6_0.LibrariesType); method public void setPostprocess(audio.effects.V6_0.AudioEffectsConf.Postprocess); @@ -15,6 +17,11 @@ package audio.effects.V6_0 { method public void setVersion(audio.effects.V6_0.VersionType); } + public static class AudioEffectsConf.DeviceEffects { + ctor public AudioEffectsConf.DeviceEffects(); + method public java.util.List getDevicePort(); + } + public static class AudioEffectsConf.Postprocess { ctor public AudioEffectsConf.Postprocess(); method public java.util.List getStream(); @@ -25,6 +32,68 @@ package audio.effects.V6_0 { method public java.util.List getStream(); } + public class DeviceProcessType extends audio.effects.V6_0.StreamProcessingType { + ctor public DeviceProcessType(); + } + + public enum DeviceType { + method public String getRawName(); + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_AUX_DIGITAL; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BACK_MIC; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BLUETOOTH_A2DP; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BLUETOOTH_BLE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BUILTIN_MIC; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BUS; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_COMMUNICATION; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_ECHO_REFERENCE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_FM_TUNER; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_HDMI; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_HDMI_ARC; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_IP; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_LINE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_LOOPBACK; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_PROXY; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_REMOTE_SUBMIX; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_SPDIF; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_TELEPHONY_RX; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_TV_TUNER; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_USB_ACCESSORY; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_USB_DEVICE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_USB_HEADSET; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_VOICE_CALL; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_WIRED_HEADSET; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_AUX_DIGITAL; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_AUX_LINE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_A2DP; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_SCO; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BUS; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_EARPIECE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_ECHO_CANCELLER; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_FM; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_HDMI; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_HDMI_ARC; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_HEARING_AID; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_IP; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_LINE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_PROXY; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_REMOTE_SUBMIX; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_SPDIF; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_SPEAKER; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_SPEAKER_SAFE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_TELEPHONY_TX; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_USB_ACCESSORY; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_USB_DEVICE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_USB_HEADSET; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_WIRED_HEADPHONE; + enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_WIRED_HEADSET; + } + public class EffectImplType { ctor public EffectImplType(); method public String getLibrary(); diff --git a/audio/effect/6.0/xml/audio_effects_conf.xsd b/audio/effect/6.0/xml/audio_effects_conf.xsd index a7ff20bb1c..89387bc1b1 100644 --- a/audio/effect/6.0/xml/audio_effects_conf.xsd +++ b/audio/effect/6.0/xml/audio_effects_conf.xsd @@ -58,6 +58,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -174,6 +233,33 @@ + + + + Audio Device Effects configuration. The processing configuration consists + of a list of effects to be automatically added on a device Port when involved in an audio + patch. + Valid device type are listed in "deviceType" and shall be aligned. + Each stream element contains a list of "apply" elements. The value of the + "effect" attr must correspond to the name of an "effect" element. + Note that if the device is involved in a hardware patch, the effect must be hardware + accelerated. + Example: + + + + + + + + + + + + + + + @@ -194,6 +280,13 @@ + + + + + + +