1# List of effect libraries to load. Each library element must contain a "path" element 2# giving the full path of the library .so file. 3# libraries { 4# <lib name> { 5# path <lib path> 6# } 7# } 8libraries { 9 bundle { 10 path /system/lib/soundfx/libbundlewrapper.so 11 } 12 reverb { 13 path /system/lib/soundfx/libreverbwrapper.so 14 } 15 visualizer_sw { 16 path /system/lib/soundfx/libvisualizer.so 17 } 18 visualizer_hw { 19 path /system/lib/soundfx/libqcomvisualizer.so 20 } 21 downmix { 22 path /system/lib/soundfx/libdownmix.so 23 } 24 proxy { 25 path /system/lib/soundfx/libeffectproxy.so 26 } 27 offload_bundle { 28 path /system/lib/soundfx/libqcompostprocbundle.so 29 } 30 qcom_pre_processing { 31 path /system/lib/soundfx/libqcomvoiceprocessing.so 32 } 33 loudness_enhancer { 34 path /system/lib/soundfx/libldnhncr.so 35 } 36 volume_listener { 37 path /system/lib/soundfx/libvolumelistener.so 38 } 39} 40 41# Default pre-processing library. Add to audio_effect.conf "libraries" section if 42# audio HAL implements support for default software audio pre-processing effects 43# 44# pre_processing { 45# path /system/lib/soundfx/libaudiopreprocessing.so 46# } 47 48# list of effects to load. Each effect element must contain a "library" and a "uuid" element. 49# The value of the "library" element must correspond to the name of one library element in the 50# "libraries" element. 51# The name of the effect element is indicative, only the value of the "uuid" element 52# designates the effect. 53# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the 54# generic effect type UUID. 55# effects { 56# <fx name> { 57# library <lib name> 58# uuid <effect uuid> 59# } 60# ... 61# } 62 63effects { 64 65# additions for the proxy implementation 66# Proxy implementation 67 #effectname { 68 #library proxy 69 #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 70 71 # SW implemetation of the effect. Added as a node under the proxy to 72 # indicate this as a sub effect. 73 #libsw { 74 #library libSW 75 #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy 76 #} End of SW effect 77 78 # HW implementation of the effect. Added as a node under the proxy to 79 # indicate this as a sub effect. 80 #libhw { 81 #library libHW 82 #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz 83 #}End of HW effect 84 #} End of effect proxy 85 86 bassboost { 87 library proxy 88 uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b 89 90 libsw { 91 library bundle 92 uuid 8631f300-72e2-11df-b57e-0002a5d5c51b 93 } 94 95 libhw { 96 library offload_bundle 97 uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b 98 } 99 } 100 virtualizer { 101 library proxy 102 uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b 103 104 libsw { 105 library bundle 106 uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b 107 } 108 109 libhw { 110 library offload_bundle 111 uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b 112 } 113 } 114 equalizer { 115 library proxy 116 uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b 117 118 libsw { 119 library bundle 120 uuid ce772f20-847d-11df-bb17-0002a5d5c51b 121 } 122 123 libhw { 124 library offload_bundle 125 uuid a0dac280-401c-11e3-9379-0002a5d5c51b 126 } 127 } 128 volume { 129 library bundle 130 uuid 119341a0-8469-11df-81f9-0002a5d5c51b 131 } 132 reverb_env_aux { 133 library proxy 134 uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b 135 136 libsw { 137 library reverb 138 uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b 139 } 140 141 libhw { 142 library offload_bundle 143 uuid 79a18026-18fd-4185-8233-0002a5d5c51b 144 } 145 } 146 reverb_env_ins { 147 library proxy 148 uuid b707403a-a1c1-4291-9573-0002a5d5c51b 149 150 libsw { 151 library reverb 152 uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b 153 } 154 155 libhw { 156 library offload_bundle 157 uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b 158 } 159 } 160 reverb_pre_aux { 161 library proxy 162 uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b 163 164 libsw { 165 library reverb 166 uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b 167 } 168 169 libhw { 170 library offload_bundle 171 uuid 6987be09-b142-4b41-9056-0002a5d5c51b 172 } 173 } 174 reverb_pre_ins { 175 library proxy 176 uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b 177 178 libsw { 179 library reverb 180 uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b 181 } 182 183 libhw { 184 library offload_bundle 185 uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b 186 } 187 } 188 visualizer { 189 library proxy 190 uuid ec7178ec-e5e1-4432-a3f4-4657e6795210 191 192 libsw { 193 library visualizer_sw 194 uuid d069d9e0-8329-11df-9168-0002a5d5c51b 195 } 196 197 libhw { 198 library visualizer_hw 199 uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b 200 } 201 } 202 downmix { 203 library downmix 204 uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f 205 } 206 loudness_enhancer { 207 library loudness_enhancer 208 uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c 209 } 210 aec { 211 library qcom_pre_processing 212 uuid d2f1b180-4a8c-11e5-9883-0002a5d5c51b 213 } 214 ns { 215 library qcom_pre_processing 216 uuid 30890b40-4a8d-11e5-b3ee-0002a5d5c51b 217 } 218 music_helper { 219 library volume_listener 220 uuid 08b8b058-0590-11e5-ac71-0025b32654a0 221 } 222 ring_helper { 223 library volume_listener 224 uuid 0956df94-0590-11e5-bdbe-0025b32654a0 225 } 226 alarm_helper { 227 library volume_listener 228 uuid 09f303e2-0590-11e5-8fdb-0025b32654a0 229 } 230 # voice_helper is called when stream type is voice_call in VoIP usecase 231 voice_helper { 232 library volume_listener 233 uuid 0ace5c08-0590-11e5-ae9e-0025b32654a0 234 } 235 notification_helper { 236 library volume_listener 237 uuid 0b776dde-0590-11e5-81ba-0025b32654a0 238 } 239} 240 241pre_processing { 242 voice_communication { 243 aec { 244 } 245 ns { 246 } 247 } 248} 249 250# additional effect from vendor 251# UUID generated using version 1 252 253output_session_processing { 254 music { 255 music_helper { 256 } 257 } 258 ring { 259 ring_helper { 260 } 261 } 262 alarm { 263 alarm_helper { 264 } 265 } 266 # stream type voice_call is used for VoIP call 267 voice_call { 268 voice_helper { 269 } 270 } 271 notification { 272 notification_helper { 273 } 274 } 275} 276 277# Default pre-processing effects. Add to audio_effect.conf "effects" section if 278# audio HAL implements support for them. 279# 280# agc { 281# library pre_processing 282# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b 283# } 284# aec { 285# library pre_processing 286# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b 287# } 288# ns { 289# library pre_processing 290# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b 291# } 292 293# Audio preprocessor configurations. 294# The pre processor configuration consists in a list of elements each describing 295# pre processor settings for a given input source. Valid input source names are: 296# "mic", "camcorder", "voice_recognition", "voice_communication" 297# Each input source element contains a list of effects elements. The name of the effect 298# element must be the name of one of the effects in the "effects" list of the file. 299# Each effect element may optionally contain a list of parameters and their 300# default value to apply when the pre processor effect is created. 301# A parameter is defined by a "param" element and a "value" element. Each of these elements 302# consists in one or more elements specifying a type followed by a value. 303# The types defined are: "int", "short", "float", "bool" and "string" 304# When both "param" and "value" are a single int, a simple form is allowed where just 305# the param and value pair is present in the parameter description 306# pre_processing { 307# <input source name> { 308# <fx name> { 309# <param 1 name> { 310# param { 311# int|short|float|bool|string <value> 312# [ int|short|float|bool|string <value> ] 313# ... 314# } 315# value { 316# int|short|float|bool|string <value> 317# [ int|short|float|bool|string <value> ] 318# ... 319# } 320# } 321# <param 2 name > {<param> <value>} 322# ... 323# } 324# ... 325# } 326# ... 327# } 328 329# 330# TODO: add default audio pre processor configurations after debug and tuning phase 331# 332