#
# 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 <major.minor> # 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.<device>.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 {
# <device name> { # <device name>: any string without space
# type <device type> # <device type> e.g. AUDIO_DEVICE_OUT_SPEAKER
# address <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. :
# <device name> { # <device name>: any string without space
# type <device type> # <device type> e.g. AUDIO_DEVICE_OUT_SPEAKER
# address <address> # optional: device address, char string less than 64 in length
# gains {
# <gain name> {
# mode <gain modes supported> # e.g. AUDIO_GAIN_MODE_CHANNELS
# channel_mask <controlled channels> # needed if mode AUDIO_GAIN_MODE_CHANNELS
# min_value_mB <min value in millibel>
# max_value_mB <max value in millibel>
# default_value_mB <default value in millibel>
# step_value_mB <step value in millibel>
# min_ramp_ms <min duration in ms> # needed if mode AUDIO_GAIN_MODE_RAMP
# max_ramp_ms <max duration 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 <device name>
# 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
}
}
}
}