1<?xml version="1.0" encoding="UTF-8"?>
2<Subsystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3           xmlns:xi="http://www.w3.org/2001/XInclude"
4           xsi:noNamespaceSchemaLocation="Schemas/Subsystem.xsd"
5           Name="policy" Type="Policy">
6
7    <ComponentLibrary>
8        <!--#################### GLOBAL COMPONENTS BEGIN ####################-->
9        <!-- Common Types defintion -->
10        <xi:include href="PolicySubsystem-CommonTypes.xml"/>
11
12        <!--#################### GLOBAL COMPONENTS END ####################-->
13
14        <!--#################### STREAM BEGIN ####################-->
15
16        <ComponentType Name="Streams" Description="associated to audio_stream_type_t definition">
17            <Component Name="voice_call" Type="Stream" Mapping="Name:AUDIO_STREAM_VOICE_CALL"/>
18            <Component Name="system" Type="Stream" Mapping="Name:AUDIO_STREAM_SYSTEM"/>
19            <Component Name="ring" Type="Stream" Mapping="Name:AUDIO_STREAM_RING"/>
20            <Component Name="music" Type="Stream" Mapping="Name:AUDIO_STREAM_MUSIC"/>
21            <Component Name="alarm" Type="Stream" Mapping="Name:AUDIO_STREAM_ALARM"/>
22            <Component Name="notification" Type="Stream" Mapping="Name:AUDIO_STREAM_NOTIFICATION"/>
23            <Component Name="bluetooth_sco" Type="Stream" Mapping="Name:AUDIO_STREAM_BLUETOOTH_SCO"/>
24            <Component Name="enforced_audible" Type="Stream" Mapping="Name:AUDIO_STREAM_ENFORCED_AUDIBLE"
25                       Description="Sounds that cannot be muted by user and must be routed to speaker"/>
26            <Component Name="dtmf" Type="Stream" Mapping="Name:AUDIO_STREAM_DTMF"/>
27            <Component Name="tts" Type="Stream" Mapping="Name:AUDIO_STREAM_TTS"
28                             Description="Transmitted Through Speaker. Plays over speaker only, silent on other devices"/>
29            <Component Name="accessibility" Type="Stream" Mapping="Name:AUDIO_STREAM_ACCESSIBILITY"
30                             Description="For accessibility talk back prompts"/>
31            <Component Name="assistant" Type="Stream" Mapping="Name:AUDIO_STREAM_ASSISTANT"
32                             Description="used by a virtual assistant like Google Assistant, Bixby, etc."/>
33            <Component Name="rerouting" Type="Stream" Mapping="Name:AUDIO_STREAM_REROUTING"
34                             Description="For dynamic policy output mixes"/>
35            <Component Name="patch" Type="Stream" Mapping="Name:AUDIO_STREAM_PATCH"
36                             Description="For internal audio flinger tracks. Fixed volume"/>
37        </ComponentType>
38
39        <!--#################### STREAM END ####################-->
40
41        <!--#################### INPUT SOURCE BEGIN ####################-->
42
43        <ComponentType Name="InputSources" Description="associated to audio_source_t definition,
44                             identifier mapping must match the value of the enum">
45            <Component Name="default" Type="InputSource" Mapping="Name:AUDIO_SOURCE_DEFAULT"/>
46            <Component Name="mic" Type="InputSource" Mapping="Name:AUDIO_SOURCE_MIC"/>
47            <Component Name="voice_uplink" Type="InputSource"
48                                           Mapping="Name:AUDIO_SOURCE_VOICE_UPLINK"/>
49            <Component Name="voice_downlink" Type="InputSource"
50                                             Mapping="Name:AUDIO_SOURCE_VOICE_DOWNLINK"/>
51            <Component Name="voice_call" Type="InputSource"
52                                         Mapping="Name:AUDIO_SOURCE_VOICE_CALL"/>
53            <Component Name="camcorder" Type="InputSource" Mapping="Name:AUDIO_SOURCE_CAMCORDER"/>
54            <Component Name="voice_recognition" Type="InputSource"
55                                                Mapping="Name:AUDIO_SOURCE_VOICE_RECOGNITION"/>
56            <Component Name="voice_communication" Type="InputSource"
57                                                  Mapping="Name:AUDIO_SOURCE_VOICE_COMMUNICATION"/>
58            <Component Name="remote_submix" Type="InputSource"
59                                            Mapping="Name:AUDIO_SOURCE_REMOTE_SUBMIX"/>
60            <Component Name="unprocessed" Type="InputSource"
61                                            Mapping="Name:AUDIO_SOURCE_UNPROCESSED"/>
62            <Component Name="fm_tuner" Type="InputSource" Mapping="Name:AUDIO_SOURCE_FM_TUNER"/>
63            <Component Name="hotword" Type="InputSource" Mapping="Name:AUDIO_SOURCE_HOTWORD"/>
64        </ComponentType>
65
66        <!--#################### INPUT SOURCE END ####################-->
67
68    </ComponentLibrary>
69
70    <InstanceDefinition>
71        <Component Name="streams" Type="Streams"/>
72        <Component Name="input_sources" Type="InputSources"/>
73    </InstanceDefinition>
74</Subsystem>
75