mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Add audio stream and usage for virtual assistant"
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -550,6 +550,7 @@
|
||||
<xs:enumeration value="AUDIO_STREAM_DTMF"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_TTS"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_ACCESSIBILITY"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_ASSISTANT"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_REROUTING"/>
|
||||
<xs:enumeration value="AUDIO_STREAM_PATCH"/>
|
||||
</xs:restriction>
|
||||
|
||||
@@ -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_")
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../../2.0/xml/audio_effects_conf.xsd
|
||||
230
audio/effect/6.0/xml/audio_effects_conf.xsd
Normal file
230
audio/effect/6.0/xml/audio_effects_conf.xsd
Normal file
@@ -0,0 +1,230 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2017 The Android Open Source Project
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://schemas.android.com/audio/audio_effects_conf/v2_0"
|
||||
xmlns:aec="http://schemas.android.com/audio/audio_effects_conf/v2_0"
|
||||
elementFormDefault="qualified">
|
||||
<!-- Simple types -->
|
||||
<xs:simpleType name="versionType">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:enumeration value="2.0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="uuidType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="streamInputType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="mic"/>
|
||||
<xs:enumeration value="voice_uplink"/>
|
||||
<xs:enumeration value="voice_downlink"/>
|
||||
<xs:enumeration value="voice_call"/>
|
||||
<xs:enumeration value="camcorder"/>
|
||||
<xs:enumeration value="voice_recognition"/>
|
||||
<xs:enumeration value="voice_communication"/>
|
||||
<xs:enumeration value="unprocessed"/>
|
||||
<xs:enumeration value="voice_performance"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="streamOutputType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="voice_call"/>
|
||||
<xs:enumeration value="system"/>
|
||||
<xs:enumeration value="ring"/>
|
||||
<xs:enumeration value="music"/>
|
||||
<xs:enumeration value="alarm"/>
|
||||
<xs:enumeration value="notification"/>
|
||||
<xs:enumeration value="bluetooth_sco"/>
|
||||
<xs:enumeration value="enforced_audible"/>
|
||||
<xs:enumeration value="dtmf"/>
|
||||
<xs:enumeration value="tts"/>
|
||||
<xs:enumeration value="assistant"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="relativePathType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[^/].*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- Complex types -->
|
||||
<xs:complexType name="librariesType">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
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":
|
||||
<library name="name" path="lib.so"/>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="library" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="path" type="aec:relativePathType" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="effectImplType">
|
||||
<xs:attribute name="library" type="xs:string" use="required"/>
|
||||
<xs:attribute name="uuid" type="aec:uuidType" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="effectType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="aec:effectImplType">
|
||||
<xs:attribute name="name" type="xs:string" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="effectProxyType">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="aec:effectType">
|
||||
<xs:sequence>
|
||||
<xs:element name="libsw" type="aec:effectImplType"/>
|
||||
<xs:element name="libhw" type="aec:effectImplType"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="effectsType">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
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:
|
||||
<effect name="name" library="lib" uuid="uuuu"/>
|
||||
<effectProxy name="proxied" library="proxy" uuid="xxxx">
|
||||
<libsw library="sw_bundle" uuid="yyyy"/>
|
||||
<libhw library="offload_bundle" uuid="zzzz"/>
|
||||
</effectProxy>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element name="effect" type="aec:effectType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="effectProxy" type="aec:effectProxyType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="streamProcessingType">
|
||||
<xs:sequence>
|
||||
<xs:element name="apply" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="effect" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="streamPreprocessType">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
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:
|
||||
<stream type="voice_communication">
|
||||
<apply effect="effect1"/>
|
||||
<apply effect="effect2"/>
|
||||
</stream>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="aec:streamProcessingType">
|
||||
<xs:attribute name="type" type="aec:streamInputType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="streamPostprocessType">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">
|
||||
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:
|
||||
<stream type="music">
|
||||
<apply effect="effect1"/>
|
||||
</stream>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="aec:streamProcessingType">
|
||||
<xs:attribute name="type" type="aec:streamOutputType" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<!-- Root element -->
|
||||
<xs:element name="audio_effects_conf">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="libraries" type="aec:librariesType"/>
|
||||
<xs:element name="effects" type="aec:effectsType"/>
|
||||
<xs:element name="postprocess" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="stream" type="aec:streamPostprocessType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="preprocess" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="stream" type="aec:streamPreprocessType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="version" type="aec:versionType" use="required"/>
|
||||
</xs:complexType>
|
||||
<!-- Keys and references -->
|
||||
<xs:key name="libraryName">
|
||||
<xs:selector xpath="aec:libraries/aec:library"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:key>
|
||||
<xs:keyref name="libraryNameRef1" refer="aec:libraryName">
|
||||
<xs:selector xpath="aec:effects/aec:effect"/>
|
||||
<xs:field xpath="@library"/>
|
||||
</xs:keyref>
|
||||
<xs:keyref name="libraryNameRef2" refer="aec:libraryName">
|
||||
<xs:selector xpath="aec:effects/aec:effect/aec:libsw"/>
|
||||
<xs:field xpath="@library"/>
|
||||
</xs:keyref>
|
||||
<xs:keyref name="libraryNameRef3" refer="aec:libraryName">
|
||||
<xs:selector xpath="aec:effects/aec:effect/aec:libhw"/>
|
||||
<xs:field xpath="@library"/>
|
||||
</xs:keyref>
|
||||
<xs:key name="effectName">
|
||||
<xs:selector xpath="aec:effects/aec:effect|aec:effects/aec:effectProxy"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:key>
|
||||
<xs:keyref name="effectNamePreRef" refer="aec:effectName">
|
||||
<xs:selector xpath="aec:preprocess/aec:stream/aec:apply"/>
|
||||
<xs:field xpath="@effect"/>
|
||||
</xs:keyref>
|
||||
<xs:keyref name="effectNamePostRef" refer="aec:effectName">
|
||||
<xs:selector xpath="aec:postprocess/aec:stream/aec:apply"/>
|
||||
<xs:field xpath="@effect"/>
|
||||
</xs:keyref>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
24
current.txt
24
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
|
||||
|
||||
Reference in New Issue
Block a user