diff options
author | Eric Laurent <elaurent@google.com> | 2014-06-06 14:56:52 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2014-06-06 16:03:28 -0700 |
commit | eb108a4622825688b02d7afc981014d149913cd8 (patch) | |
tree | 73249a1268ee3228dffce25aa8eb15caabdc96c6 /services/audiopolicy/audio_policy.conf | |
parent | 270facca297275a4889d1cc49ec4d2768ed38bb7 (diff) | |
download | frameworks_av-eb108a4622825688b02d7afc981014d149913cd8.zip frameworks_av-eb108a4622825688b02d7afc981014d149913cd8.tar.gz frameworks_av-eb108a4622825688b02d7afc981014d149913cd8.tar.bz2 |
audio policy: added audio HAL version in audio_policy.conf
Each hardware module section in audio_policy.conf indicates
the audio HAL version it implements.
Also added a template audio_policy.conf file with examples
of device and gain descriptors added for audio HAL version3.0.
Bug: 14815883.
Change-Id: Id219d121f81f687363f6c18f2d1684b2448dcdf4
Diffstat (limited to 'services/audiopolicy/audio_policy.conf')
-rw-r--r-- | services/audiopolicy/audio_policy.conf | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/services/audiopolicy/audio_policy.conf b/services/audiopolicy/audio_policy.conf new file mode 100644 index 0000000..9b83fef --- /dev/null +++ b/services/audiopolicy/audio_policy.conf @@ -0,0 +1,145 @@ +# +# 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 + } + } + } +} |