diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/5.0/config/audio_policy_configuration.xsd | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/audio/5.0/config/audio_policy_configuration.xsd b/audio/5.0/config/audio_policy_configuration.xsd index 311b9c1a83..b0927b25d4 100644 --- a/audio/5.0/config/audio_policy_configuration.xsd +++ b/audio/5.0/config/audio_policy_configuration.xsd @@ -281,6 +281,19 @@ <xs:enumeration value="AUDIO_DEVICE_IN_STUB"/> </xs:restriction> </xs:simpleType> + <xs:simpleType name="vendorExtension"> + <!-- Vendor extension names must be prefixed by "VX_" to distinguish them from AOSP values. + Vendor are encouraged to namespace their module names to avoid conflicts. + Example for an hypothetical Google virtual reality device: + <devicePort tagName="VR" type="VX_GOOGLE_VR" role="sink"> + --> + <xs:restriction base="xs:string"> + <xs:pattern value="VX_[_a-zA-Z0-9]+"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="extendableAudioDevice"> + <xs:union memberTypes="audioDevice vendorExtension"/> + </xs:simpleType> <!-- Enum values of audio_format_t in audio.h TODO: generate from hidl to avoid manual sync. --> <xs:simpleType name="audioFormat"> @@ -353,6 +366,9 @@ <xs:enumeration value="AUDIO_FORMAT_AAC_ADTS_XHE"/> </xs:restriction> </xs:simpleType> + <xs:simpleType name="extendableAudioFormat"> + <xs:union memberTypes="audioFormat vendorExtension"/> + </xs:simpleType> <!-- Enum values of audio::common::4_0::AudioUsage TODO: generate from HIDL to avoid manual sync. --> <xs:simpleType name="audioUsage"> @@ -395,7 +411,7 @@ </xs:simpleType> <xs:complexType name="profile"> <xs:attribute name="name" type="xs:token" use="optional"/> - <xs:attribute name="format" type="audioFormat" use="optional"/> + <xs:attribute name="format" type="extendableAudioFormat" use="optional"/> <xs:attribute name="samplingRates" type="samplingRates" use="optional"/> <xs:attribute name="channelMasks" type="channelMask" use="optional"/> </xs:complexType> @@ -432,7 +448,7 @@ <xs:element name="gains" type="gains" minOccurs="0"/> </xs:sequence> <xs:attribute name="tagName" type="xs:token" use="required"/> - <xs:attribute name="type" type="audioDevice" use="required"/> + <xs:attribute name="type" type="extendableAudioDevice" use="required"/> <xs:attribute name="role" type="role" use="required"/> <xs:attribute name="address" type="xs:string" use="optional" default=""/> <!-- Note that XSD 1.0 can not check that a type only has one default. --> |