Fix DSPManager

Change-Id: I93e8db2bc85f2c74821535fdd220c17ab734b42c
diff --git a/config/common.mk b/config/common.mk
index 48cf334..b2f265f 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -29,6 +29,10 @@
     vendor/slim/prebuilt/common/bin/compcache:system/bin/compcache \
     vendor/slim/prebuilt/common/bin/handle_compcache:system/bin/handle_compcache
 
+# Audio Config for DSPManager
+PRODUCT_COPY_FILES += \
+    vendor/slim/prebuilt/common/vendor/etc/audio_effects.conf:system/vendor/etc/audio_effects.conf
+
 # Bring in media files
 PRODUCT_COPY_FILES +=  \
     vendor/slim/prebuilt/common/media/audio/alarms/Alarm_Classic.ogg:system/media/audio/alarms/Alarm_Classic.ogg \
diff --git a/prebuilt/common/vendor/etc/audio_effects.conf b/prebuilt/common/vendor/etc/audio_effects.conf
new file mode 100644
index 0000000..0399b0a
--- /dev/null
+++ b/prebuilt/common/vendor/etc/audio_effects.conf
@@ -0,0 +1,146 @@
+# List of effect libraries to load. Each library element must contain a "path" element
+# giving the full path of the library .so file.
+#    libraries {
+#        <lib name> {
+#          path <lib path>
+#        }
+#    }
+libraries {
+  bundle {
+    path /system/lib/soundfx/libbundlewrapper.so
+  }
+  cm {
+    path /system/lib/soundfx/libcyanogen-dsp.so
+  }
+  reverb {
+    path /system/lib/soundfx/libreverbwrapper.so
+  }
+  visualizer {
+    path /system/lib/soundfx/libvisualizer.so
+  }
+  pre_processing {
+    path /system/lib/soundfx/libaudiopreprocessing.so
+  }
+  downmix {
+    path /system/lib/soundfx/libdownmix.so
+  }
+}
+
+# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
+# The value of the "library" element must correspond to the name of one library element in the
+# "libraries" element.
+# The name of the effect element is indicative, only the value of the "uuid" element
+# designates the effect.
+# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
+# generic effect type UUID.
+#    effects {
+#        <fx name> {
+#            library <lib name>
+#            uuid <effect uuid>
+#        }
+#        ...
+#    }
+
+effects {
+  compression {
+    library cm
+    uuid f27317f4-c984-4de6-9a90-545759495bf2
+  }
+  bassboost {
+#    library bundle
+#    uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
+    library cm
+    uuid 42b5cbf5-4dd8-4e79-a5fb-cceb2cb54e13
+  }
+  virtualizer {
+#    library bundle
+#    uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b
+    library cm
+    uuid 7c6cc5f8-6f34-4449-a282-bed84f1a5b5a
+  }
+  equalizer {
+#    library bundle
+#    uuid ce772f20-847d-11df-bb17-0002a5d5c51b
+    library cm
+    uuid 58bc9000-0d7f-462e-90d2-035eddd8b434
+  }
+  volume {
+    library bundle
+    uuid 119341a0-8469-11df-81f9-0002a5d5c51b
+  }
+  reverb_env_aux {
+    library reverb
+    uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
+  }
+  reverb_env_ins {
+    library reverb
+    uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b
+  }
+  reverb_pre_aux {
+    library reverb
+    uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b
+  }
+  reverb_pre_ins {
+    library reverb
+    uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b
+  }
+  visualizer {
+    library visualizer
+    uuid d069d9e0-8329-11df-9168-0002a5d5c51b
+  }
+  downmix {
+    library downmix
+    uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
+  }
+  agc {
+    library pre_processing
+    uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
+  }
+  aec {
+    library pre_processing
+    uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
+  }
+  ns {
+    library pre_processing
+    uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
+  }
+}
+# Audio preprocessor configurations.
+# The pre processor configuration consists in a list of elements each describing
+# pre processor settings for a given input source. Valid input source names are:
+# "mic", "camcorder", "voice_recognition", "voice_communication"
+# Each input source element contains a list of effects elements. The name of the effect
+# element must be the name of one of the effects in the "effects" list of the file.
+# Each effect element may optionally contain a list of parameters and their
+# default value to apply when the pre processor effect is created.
+# A parameter is defined by a "param" element and a "value" element. Each of these elements
+# consists in one or more elements specifying a type followed by a value.
+# The types defined are: "int", "short", "float", "bool" and "string"
+# When both "param" and "value" are a single int, a simple form is allowed where just
+# the param and value pair is present in the parameter description
+#    pre_processing {
+#        <input source name> {
+#            <fx name> {
+#                <param 1 name> {
+#                    param {
+#                        int|short|float|bool|string <value>
+#                        [ int|short|float|bool|string <value> ]
+#                        ...
+#                    }
+#                    value {
+#                        int|short|float|bool|string <value>
+#                        [ int|short|float|bool|string <value> ]
+#                        ...
+#                    }
+#                }
+#                <param 2 name > {<param> <value>}
+#                ...
+#            }
+#            ...
+#        }
+#        ...
+#    }
+
+#
+# TODO: add default audio pre processor configurations after debug and tuning phase
+#