OSDN Git Service

aaudio: use weak pointer to prevent UAF
[android-x86/frameworks-av.git] / services / audiopolicy / audio_policy.conf
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
83 audio_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 }