From 09e665e61cf72f986f8ef529b35f971ad899351c Mon Sep 17 00:00:00 2001 From: Baekgyeong Kim Date: Tue, 19 Nov 2019 16:08:11 +0900 Subject: [PATCH] Add audio stream and usage for virtual assistant New stream type: AUDIO_STREAM_ASSISTANT This is intended to be used by a virtual assistant like Google Assistant, Bixby, etc. The audio stream has own volume alias and the volume does not change by volume changes of other streams. Bug: 123745215 Test: make Change-Id: I3696d8fba32070954cc6a330574af8507fea7a74 Merged-In: I3696d8fba32070954cc6a330574af8507fea7a74 --- audio/6.0/config/api/current.txt | 1 + .../6.0/config/audio_policy_configuration.xsd | 1 + audio/common/6.0/types.hal | 1 + audio/effect/6.0/xml/api/current.txt | 1 + audio/effect/6.0/xml/audio_effects_conf.xsd | 231 +++++++++++++++++- current.txt | 24 ++ 6 files changed, 258 insertions(+), 1 deletion(-) mode change 120000 => 100644 audio/effect/6.0/xml/audio_effects_conf.xsd diff --git a/audio/6.0/config/api/current.txt b/audio/6.0/config/api/current.txt index 431bc90561..fa1e613746 100644 --- a/audio/6.0/config/api/current.txt +++ b/audio/6.0/config/api/current.txt @@ -359,6 +359,7 @@ package audio.policy.configuration.V6_0 { method public String getRawName(); enum_constant public static final audio.policy.configuration.V6_0.Stream AUDIO_STREAM_ACCESSIBILITY; enum_constant public static final audio.policy.configuration.V6_0.Stream AUDIO_STREAM_ALARM; + enum_constant public static final audio.policy.configuration.V6_0.Stream AUDIO_STREAM_ASSISTANT; enum_constant public static final audio.policy.configuration.V6_0.Stream AUDIO_STREAM_BLUETOOTH_SCO; enum_constant public static final audio.policy.configuration.V6_0.Stream AUDIO_STREAM_DTMF; enum_constant public static final audio.policy.configuration.V6_0.Stream AUDIO_STREAM_ENFORCED_AUDIBLE; diff --git a/audio/6.0/config/audio_policy_configuration.xsd b/audio/6.0/config/audio_policy_configuration.xsd index d0f80ea4b9..b5d978c6a7 100644 --- a/audio/6.0/config/audio_policy_configuration.xsd +++ b/audio/6.0/config/audio_policy_configuration.xsd @@ -550,6 +550,7 @@ + diff --git a/audio/common/6.0/types.hal b/audio/common/6.0/types.hal index 132f86dc4e..c76f678ac1 100644 --- a/audio/common/6.0/types.hal +++ b/audio/common/6.0/types.hal @@ -106,6 +106,7 @@ enum AudioStreamType : int32_t { TTS = 9, // Transmitted Through Speaker. Plays over speaker // only, silent on other devices ACCESSIBILITY = 10, // For accessibility talk back prompts + ASSISTANT = 11, // For virtual assistant service }; @export(name="audio_source_t", value_prefix="AUDIO_SOURCE_") diff --git a/audio/effect/6.0/xml/api/current.txt b/audio/effect/6.0/xml/api/current.txt index 2021639630..2dfcb9b348 100644 --- a/audio/effect/6.0/xml/api/current.txt +++ b/audio/effect/6.0/xml/api/current.txt @@ -82,6 +82,7 @@ package audio.effects.V6_0 { public enum StreamOutputType { method public String getRawName(); enum_constant public static final audio.effects.V6_0.StreamOutputType alarm; + enum_constant public static final audio.effects.V6_0.StreamOutputType assistant; enum_constant public static final audio.effects.V6_0.StreamOutputType bluetooth_sco; enum_constant public static final audio.effects.V6_0.StreamOutputType dtmf; enum_constant public static final audio.effects.V6_0.StreamOutputType enforced_audible; diff --git a/audio/effect/6.0/xml/audio_effects_conf.xsd b/audio/effect/6.0/xml/audio_effects_conf.xsd deleted file mode 120000 index 9d85fa7c68..0000000000 --- a/audio/effect/6.0/xml/audio_effects_conf.xsd +++ /dev/null @@ -1 +0,0 @@ -../../2.0/xml/audio_effects_conf.xsd \ No newline at end of file diff --git a/audio/effect/6.0/xml/audio_effects_conf.xsd b/audio/effect/6.0/xml/audio_effects_conf.xsd new file mode 100644 index 0000000000..a7ff20bb1c --- /dev/null +++ b/audio/effect/6.0/xml/audio_effects_conf.xsd @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of effect libraries to load. Each library element must have "name" and + "path" attributes. The latter is giving the path of the library .so file + relative to the standard effect folders: /(vendor|odm|system)/lib(64)?/soundfx/ + Example for a library in "/vendor/lib/soundfx/lib.so": + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of effects to load. Each effect element must contain "name", + "library", and "uuid" attrs. The value of the "library" attr must + correspond to the name of a "library" element. The name of the effect + element is indicative, only the value of the "uuid" element designates + the effect for the audio framework. The uuid is the implementation + specific UUID as specified by the effect vendor. This is not the generic + effect type UUID. + For effect proxy implementations, SW and HW implemetations of the effect + can be specified. + Example: + + + + + + + + + + + + + + + + + + + + + + + + + Audio preprocessing configuration. The processing configuration consists + of a list of elements each describing processing settings for a given + input stream. Valid input stream types are listed in "streamInputType". + Each stream element contains a list of "apply" elements. The value of the + "effect" attr must correspond to the name of an "effect" element. + Example: + + + + + + + + + + + + + + + + Audio postprocessing configuration. The processing configuration consists + of a list of elements each describing processing settings for a given + output stream. Valid output stream types are listed in "streamOutputType". + Each stream element contains a list of "apply" elements. The value of the + "effect" attr must correspond to the name of an "effect" element. + Example: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/current.txt b/current.txt index 66a2e39c7b..1c459f75a6 100644 --- a/current.txt +++ b/current.txt @@ -584,6 +584,30 @@ a785a57447a81e9c130eef6904c3a5c256076c6a04588c40620ebd6fa2660d77 android.hardwar fd65298e1e09e0e3c781ab18305920d757dbe55a3b459ce17814ec5cf6dfee99 android.hardware.wifi@1.0::IWifiP2pIface # HALs released in Android R +e966a3437d6a98d9d9e14e9d672088771716031900c0deb55a0946c751a03a44 android.hardware.audio@6.0::types +2736c59abaccacac407ebe80c5e48d446edf015051d05632fb679ba471779e6e android.hardware.audio@6.0::IDevice +2402876cbc23c0de3690a665eca84fd3857d1808dba5cad25ce272f81ecef8c9 android.hardware.audio@6.0::IDevicesFactory +bca5379d5065e2e08b6ad7308ffc8a71a972fc0698bec678ea32eea786d01cb5 android.hardware.audio@6.0::IPrimaryDevice +7318b521ea12fdd4b6e3f381085c71784c810d1ec7a8d701ec2250f3f86712e4 android.hardware.audio@6.0::IStream +2df5d5866b37776f25079c0e54b54350a2abe4e025a59c9e02a7d3abe8ca00e8 android.hardware.audio@6.0::IStreamIn +78e4138cc8307c11fc777c3bd376e581ba4ba48196b05ca1d7cdfa515c87b48a android.hardware.audio@6.0::IStreamOut +997fdaad7a9d17ee7e01feb7031a753e2365e72ad30b11d950e9183fabdf3844 android.hardware.audio@6.0::IStreamOutCallback +996a930734d2875471d49972ab0117071831f5e6504e1b63a9664c9634da7687 android.hardware.audio.common@6.0::types +817930d58412d662cb45e641c50cb62c727e4a3e3ffe7029a53cad9677b97d58 android.hardware.audio.effect@6.0::types +525bec6b44f1103869c269a128d51b8dccd73af5340ba863c8886c68357c7faf android.hardware.audio.effect@6.0::IAcousticEchoCancelerEffect +8d76bbe3719d051a8e9a1dcf9244f37f5b0a491feb249fa48391edf7cb4f3131 android.hardware.audio.effect@6.0::IAutomaticGainControlEffect +461b1114cb35d89f87e5694e0792ba53c112a7fa9a14d9b95188cf9c4764be23 android.hardware.audio.effect@6.0::IBassBoostEffect +8bc597d166e07e9eba633267fc2872c4c53d13d3f0025b778c98e13324a165de android.hardware.audio.effect@6.0::IDownmixEffect +9ee022c81e79da6051fde0836c1c1c4d5414e0c9a6cccc0ce17a90346ceb1391 android.hardware.audio.effect@6.0::IEffect +75c99a70577d543359910a0b378bcbf5a0d6076712e58e6864cd8803f76c8684 android.hardware.audio.effect@6.0::IEffectBufferProviderCallback +5910bdd600fc6501a67233a9a3f4f21dda86af08c05497322712600131d1fa8f android.hardware.audio.effect@6.0::IEffectsFactory +dd377f404a8e71f6191d295e10067db629b0f0c28e594af906f2bea5d87fe2cc android.hardware.audio.effect@6.0::IEnvironmentalReverbEffect +455e085e136767302ec34d02b51a085c310e79bf500b76dda7c96a7f3637f11a android.hardware.audio.effect@6.0::IEqualizerEffect +24b5e107a0cbd2b322f764a4d5f7fb8b5d8c337a060b9a4a26b9af050c57b5d0 android.hardware.audio.effect@6.0::ILoudnessEnhancerEffect +4aae0a13f53a8ce20fad372de2d1d864a0bae194b0f1b1d2c090367af8615af2 android.hardware.audio.effect@6.0::INoiseSuppressionEffect +5237c42d3913ef569f07bec802568084b615155d05a7951e75085da54856508c android.hardware.audio.effect@6.0::IPresetReverbEffect +282193799d60bff27a84c65a36218c1e7d8f582f5828e2e059383d1b90aa56bd android.hardware.audio.effect@6.0::IVirtualizerEffect +0868e00f7c5ee16723bda1a8f57099763d04100ae7126a1c2d3a9a87c844a7e8 android.hardware.audio.effect@6.0::IVisualizerEffect 79e115c8f8970b8b914bafc66df5425e065fda4dcda97222966ef12451d2a1cc android.hardware.bluetooth@1.1::IBluetoothHci 40ab2c6866c18d32baf6e49e3053949e79601f56963a791e93e68b9ee18f718d android.hardware.bluetooth@1.1::IBluetoothHciCallbacks 07d0a252b2d8fa35887908a996ba395cf392968395fc30afab791f46e0c22a52 android.hardware.boot@1.1::IBootControl