1# 2# Template audio policy configuration file 3# 4 5# Global configuration section: 6# - before audio HAL version 3.0: 7# lists input and output devices always present on the device 8# as well as the output device selected by default. 9# Devices are designated by a string that corresponds to the enum in audio.h 10# 11# global_configuration { 12# attached_output_devices AUDIO_DEVICE_OUT_SPEAKER 13# default_output_device AUDIO_DEVICE_OUT_SPEAKER 14# attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX 15# } 16# 17# - after and including audio HAL 3.0 the global_configuration section is included in each 18# hardware module section. 19# it also includes the audio HAL version of this hw module: 20# global_configuration { 21# ... 22# audio_hal_version <major.minor> # audio HAL version in e.g. 3.0 23# } 24# other attributes (attached devices, default device) have to be included in the 25# global_configuration section of each hardware module 26 27 28# audio hardware module section: contains descriptors for all audio hw modules present on the 29# device. Each hw module node is named after the corresponding hw module library base name. 30# For instance, "primary" corresponds to audio.primary.<device>.so. 31# The "primary" module is mandatory and must include at least one output with 32# AUDIO_OUTPUT_FLAG_PRIMARY flag. 33# Each module descriptor contains one or more output profile descriptors and zero or more 34# input profile descriptors. Each profile lists all the parameters supported by a given output 35# or input stream category. 36# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding 37# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n". 38# 39# For audio HAL version posterior to 3.0 the following sections or sub sections can be present in 40# a hw module section: 41# - A "global_configuration" section: see above 42# - Optionally a "devices" section: 43# This section contains descriptors for audio devices with attributes like an address or a 44# gain controller. The syntax for the devices section and device descriptor is as follows: 45# devices { 46# <device name> { # <device name>: any string without space 47# type <device type> # <device type> e.g. AUDIO_DEVICE_OUT_SPEAKER 48# address <address> # optional: device address, char string less than 64 in length 49# } 50# } 51# - one or more "gains" sections can be present in a device descriptor section. 52# If present, they describe the capabilities of gain controllers attached to this input or 53# output device. e.g. : 54# <device name> { # <device name>: any string without space 55# type <device type> # <device type> e.g. AUDIO_DEVICE_OUT_SPEAKER 56# address <address> # optional: device address, char string less than 64 in length 57# gains { 58# <gain name> { 59# mode <gain modes supported> # e.g. AUDIO_GAIN_MODE_CHANNELS 60# channel_mask <controlled channels> # needed if mode AUDIO_GAIN_MODE_CHANNELS 61# min_value_mB <min value in millibel> 62# max_value_mB <max value in millibel> 63# default_value_mB <default value in millibel> 64# step_value_mB <step value in millibel> 65# min_ramp_ms <min duration in ms> # needed if mode AUDIO_GAIN_MODE_RAMP 66# max_ramp_ms <max duration ms> # needed if mode AUDIO_GAIN_MODE_RAMP 67# } 68# } 69# } 70# - when a device descriptor is present, output and input profiles can refer to this device by 71# its name in their "devices" section instead of specifying a device type. e.g. : 72# outputs { 73# primary { 74# sampling_rates 44100 75# channel_masks AUDIO_CHANNEL_OUT_STEREO 76# formats AUDIO_FORMAT_PCM_16_BIT 77# devices <device name> 78# flags AUDIO_OUTPUT_FLAG_PRIMARY 79# } 80# } 81# sample audio_policy.conf file below 82 83audio_hw_modules { 84 primary { 85 global_configuration { 86 attached_output_devices AUDIO_DEVICE_OUT_SPEAKER 87 default_output_device AUDIO_DEVICE_OUT_SPEAKER 88 attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC 89 audio_hal_version 3.0 90 } 91 devices { 92 speaker { 93 type AUDIO_DEVICE_OUT_SPEAKER 94 gains { 95 gain_1 { 96 mode AUDIO_GAIN_MODE_JOINT 97 min_value_mB -8400 98 max_value_mB 4000 99 default_value_mB 0 100 step_value_mB 100 101 } 102 } 103 } 104 } 105 outputs { 106 primary { 107 sampling_rates 48000 108 channel_masks AUDIO_CHANNEL_OUT_STEREO 109 formats AUDIO_FORMAT_PCM_16_BIT 110 devices speaker 111 flags AUDIO_OUTPUT_FLAG_PRIMARY 112 } 113 } 114 inputs { 115 primary { 116 sampling_rates 8000|16000 117 channel_masks AUDIO_CHANNEL_IN_MONO 118 formats AUDIO_FORMAT_PCM_16_BIT 119 devices AUDIO_DEVICE_IN_BUILTIN_MIC 120 } 121 } 122 } 123 r_submix { 124 global_configuration { 125 attached_input_devices AUDIO_DEVICE_IN_REMOTE_SUBMIX 126 audio_hal_version 2.0 127 } 128 outputs { 129 submix { 130 sampling_rates 48000 131 channel_masks AUDIO_CHANNEL_OUT_STEREO 132 formats AUDIO_FORMAT_PCM_16_BIT 133 devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX 134 } 135 } 136 inputs { 137 submix { 138 sampling_rates 48000 139 channel_masks AUDIO_CHANNEL_IN_STEREO 140 formats AUDIO_FORMAT_PCM_16_BIT 141 devices AUDIO_DEVICE_IN_REMOTE_SUBMIX 142 } 143 } 144 } 145} 146