# # Template audio policy configuration file # # Global configuration section: # - before audio HAL version 3.0: # lists input and output devices always present on the device # as well as the output device selected by default. # Devices are designated by a string that corresponds to the enum in audio.h # # global_configuration { # attached_output_devices AUDIO_DEVICE_OUT_SPEAKER # default_output_device AUDIO_DEVICE_OUT_SPEAKER # attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX # } # # - after and including audio HAL 3.0 the global_configuration section is included in each # hardware module section. # it also includes the audio HAL version of this hw module: # global_configuration { # ... # audio_hal_version # audio HAL version in e.g. 3.0 # } # other attributes (attached devices, default device) have to be included in the # global_configuration section of each hardware module # audio hardware module section: contains descriptors for all audio hw modules present on the # device. Each hw module node is named after the corresponding hw module library base name. # For instance, "primary" corresponds to audio.primary..so. # The "primary" module is mandatory and must include at least one output with # AUDIO_OUTPUT_FLAG_PRIMARY flag. # Each module descriptor contains one or more output profile descriptors and zero or more # input profile descriptors. Each profile lists all the parameters supported by a given output # or input stream category. # The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding # to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n". # # For audio HAL version posterior to 3.0 the following sections or sub sections can be present in # a hw module section: # - A "global_configuration" section: see above # - Optionally a "devices" section: # This section contains descriptors for audio devices with attributes like an address or a # gain controller. The syntax for the devices section and device descriptor is as follows: # devices { # { # : any string without space # type # e.g. AUDIO_DEVICE_OUT_SPEAKER # address
# optional: device address, char string less than 64 in length # } # } # - one or more "gains" sections can be present in a device descriptor section. # If present, they describe the capabilities of gain controllers attached to this input or # output device. e.g. : # { # : any string without space # type # e.g. AUDIO_DEVICE_OUT_SPEAKER # address
# optional: device address, char string less than 64 in length # gains { # { # mode # e.g. AUDIO_GAIN_MODE_CHANNELS # channel_mask # needed if mode AUDIO_GAIN_MODE_CHANNELS # min_value_mB # max_value_mB # default_value_mB # step_value_mB # min_ramp_ms # needed if mode AUDIO_GAIN_MODE_RAMP # max_ramp_ms # needed if mode AUDIO_GAIN_MODE_RAMP # } # } # } # - when a device descriptor is present, output and input profiles can refer to this device by # its name in their "devices" section instead of specifying a device type. e.g. : # outputs { # primary { # sampling_rates 44100 # channel_masks AUDIO_CHANNEL_OUT_STEREO # formats AUDIO_FORMAT_PCM_16_BIT # devices # flags AUDIO_OUTPUT_FLAG_PRIMARY # } # } # sample audio_policy.conf file below audio_hw_modules { primary { global_configuration { attached_output_devices AUDIO_DEVICE_OUT_SPEAKER default_output_device AUDIO_DEVICE_OUT_SPEAKER attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC audio_hal_version 3.0 } devices { speaker { type AUDIO_DEVICE_OUT_SPEAKER gains { gain_1 { mode AUDIO_GAIN_MODE_JOINT min_value_mB -8400 max_value_mB 4000 default_value_mB 0 step_value_mB 100 } } } } outputs { primary { sampling_rates 48000 channel_masks AUDIO_CHANNEL_OUT_STEREO formats AUDIO_FORMAT_PCM_16_BIT devices speaker flags AUDIO_OUTPUT_FLAG_PRIMARY } } inputs { primary { sampling_rates 8000|16000 channel_masks AUDIO_CHANNEL_IN_MONO formats AUDIO_FORMAT_PCM_16_BIT devices AUDIO_DEVICE_IN_BUILTIN_MIC } } } r_submix { global_configuration { attached_input_devices AUDIO_DEVICE_IN_REMOTE_SUBMIX audio_hal_version 2.0 } outputs { submix { sampling_rates 48000 channel_masks AUDIO_CHANNEL_OUT_STEREO formats AUDIO_FORMAT_PCM_16_BIT devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX } } inputs { submix { sampling_rates 48000 channel_masks AUDIO_CHANNEL_IN_STEREO formats AUDIO_FORMAT_PCM_16_BIT devices AUDIO_DEVICE_IN_REMOTE_SUBMIX } } } }