Home | History | Annotate | Download | only in wahoo
      1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      2 <!-- Copyright (C) 2018 The Android Open Source Project
      3 
      4      Licensed under the Apache License, Version 2.0 (the "License");
      5      you may not use this file except in compliance with the License.
      6      You may obtain a copy of the License at
      7 
      8           http://www.apache.org/licenses/LICENSE-2.0
      9 
     10      Unless required by applicable law or agreed to in writing, software
     11      distributed under the License is distributed on an "AS IS" BASIS,
     12      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13      See the License for the specific language governing permissions and
     14      limitations under the License.
     15 -->
     16 
     17 <audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
     18     <globalConfiguration speaker_drc_enabled="true"/>
     19 
     20     <modules>
     21         <module name="primary" halVersion="2.0">
     22             <attachedDevices>
     23                 <item>Speaker</item>
     24                 <item>Speaker Safe</item>
     25                 <item>Earpiece</item>
     26                 <item>Telephony Tx</item>
     27                 <item>Built-In Mic</item>
     28                 <item>Built-In Back Mic</item>
     29                 <item>Telephony Rx</item>
     30             </attachedDevices>
     31             <defaultOutputDevice>Speaker</defaultOutputDevice>
     32             <mixPorts>
     33                 <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST">
     34                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
     35                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
     36                 </mixPort>
     37                 <mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW|AUDIO_OUTPUT_FLAG_FAST">
     38                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
     39                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
     40                 </mixPort>
     41                 <mixPort name="hifi_playback" role="source" />
     42                 <mixPort name="deep_buffer" role="source"
     43                         flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
     44                     <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
     45                              samplingRates="44100,48000"
     46                              channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
     47                 </mixPort>
     48                 <mixPort name="compressed_offload" role="source"
     49                          flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
     50                     <profile name="" format="AUDIO_FORMAT_MP3"
     51                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
     52                              channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
     53                     <profile name="" format="AUDIO_FORMAT_AAC_LC"
     54                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
     55                              channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
     56                     <profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
     57                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
     58                              channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
     59                     <profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
     60                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
     61                              channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
     62                 </mixPort>
     63                 <mixPort name="voice_tx" role="source">
     64                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
     65                              samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
     66                 </mixPort>
     67                 <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
     68                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
     69                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
     70                 </mixPort>
     71                 <mixPort name="voip_rx" role="source"
     72                          flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
     73                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
     74                            samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
     75                 </mixPort>
     76                 <mixPort name="incall_music_uplink" role="source"
     77                         flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
     78                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
     79                              samplingRates="8000,16000,48000"
     80                              channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
     81                 </mixPort>
     82                 <mixPort name="primary input" role="sink">
     83                     <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
     84                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
     85                              channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
     86                 </mixPort>
     87                 <mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
     88                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
     89                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
     90                              channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
     91                 </mixPort>
     92                 <mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
     93                     <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
     94                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
     95                              channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
     96                 </mixPort>
     97                 <mixPort name="hifi_input" role="sink" />
     98                 <mixPort name="voice_rx" role="sink">
     99                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
    100                              samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
    101                 </mixPort>
    102                 <mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
    103                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
    104                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
    105                              channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
    106                 </mixPort>
    107                 <mixPort name="voip_tx" role="sink"
    108                          flags="AUDIO_INPUT_FLAG_VOIP_TX">
    109                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
    110                              samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
    111                 </mixPort>
    112             </mixPorts>
    113             <devicePorts>
    114                 <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
    115                 </devicePort>
    116                 <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
    117                 </devicePort>
    118                 <devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
    119                 </devicePort>
    120                 <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
    121                 </devicePort>
    122                 <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
    123                 </devicePort>
    124                 <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
    125                 </devicePort>
    126                 <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
    127                 </devicePort>
    128                 <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
    129                 </devicePort>
    130                 <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
    131                 </devicePort>
    132                 <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
    133                 </devicePort>
    134                 <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
    135                 </devicePort>
    136                 <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
    137                 </devicePort>
    138                 <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
    139                 </devicePort>
    140                 <!-- TODO: Enable multi-channel recording -->
    141                 <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
    142                 </devicePort>
    143                 <devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
    144                 </devicePort>
    145             </devicePorts>
    146             <routes>
    147                 <route type="mix" sink="Earpiece"
    148                        sources="primary output,raw,deep_buffer,mmap_no_irq_out,voip_rx"/>
    149                 <route type="mix" sink="Speaker"
    150                        sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
    151                 <route type="mix" sink="Speaker Safe"
    152                        sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
    153                 <route type="mix" sink="BT SCO"
    154                        sources="primary output,raw,deep_buffer,voip_rx"/>
    155                 <route type="mix" sink="BT SCO Headset"
    156                        sources="primary output,raw,deep_buffer,voip_rx"/>
    157                 <route type="mix" sink="BT SCO Car Kit"
    158                        sources="primary output,raw,deep_buffer,voip_rx"/>
    159                 <route type="mix" sink="USB Device Out"
    160                        sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
    161                 <route type="mix" sink="USB Headset Out"
    162                        sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
    163                 <route type="mix" sink="Telephony Tx"
    164                        sources="voice_tx,incall_music_uplink"/>
    165                 <route type="mix" sink="primary input"
    166                        sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
    167                 <route type="mix" sink="hotword input"
    168                        sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
    169                 <route type="mix" sink="fast input"
    170                        sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
    171                 <route type="mix" sink="voice_rx"
    172                        sources="Telephony Rx"/>
    173                 <route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
    174                 <route type="mix" sink="mmap_no_irq_in"
    175                        sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
    176                 <route type="mix" sink="voip_tx"
    177                        sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
    178             </routes>
    179         </module>
    180 
    181         <!-- A2DP Input Audio HAL -->
    182         <xi:include href="a2dp_in_audio_policy_configuration.xml"/>
    183 
    184         <!-- Usb Audio HAL -->
    185         <module name="usb" halVersion="2.0">
    186             <mixPorts>
    187                 <mixPort name="usb_accessory output" role="source">
    188                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
    189                              samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
    190                 </mixPort>
    191             </mixPorts>
    192             <devicePorts>
    193                 <devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
    194                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
    195                              samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
    196                 </devicePort>
    197             </devicePorts>
    198             <routes>
    199                 <route type="mix" sink="USB Host Out"
    200                        sources="usb_accessory output"/>
    201             </routes>
    202         </module>
    203 
    204         <!-- Remote Submix Audio HAL -->
    205         <xi:include href="r_submix_audio_policy_configuration.xml"/>
    206 
    207         <!-- Bluetooth Audio HAL -->
    208         <xi:include href="bluetooth_audio_policy_configuration.xml"/>
    209 
    210     </modules>
    211 
    212     <!-- Volume section -->
    213 
    214     <xi:include href="audio_policy_volumes.xml"/>
    215     <xi:include href="default_volume_tables.xml"/>
    216 
    217 </audioPolicyConfiguration>
    218