1e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent# List of effect libraries to load. Each library element must contain a "path" element 2e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent# giving the full path of the library .so file. 37c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# libraries { 47c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# <lib name> { 57c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# path <lib path> 67c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 77c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 8e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurentlibraries { 92eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana# This is a proxy library that will be an abstraction for 102eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana# the HW and SW effects 112eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana 122eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #proxy { 13faca05e96744dfaa2f352e3dbb29eead4e55cfa0jpadmana #path /system/lib/soundfx/libeffectproxy.so 142eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #} 152eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana 162eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana# This is the SW implementation library of the effect 172eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #libSW { 182eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #path /system/lib/soundfx/libswwrapper.so 192eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #} 202eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana 212eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana# This is the HW implementation library for the effect 222eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #libHW { 232eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #path /system/lib/soundfx/libhwwrapper.so 242eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #} 252eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana 26e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent bundle { 27e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent path /system/lib/soundfx/libbundlewrapper.so 28e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 29e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent reverb { 30e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent path /system/lib/soundfx/libreverbwrapper.so 31e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 32e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent visualizer { 33e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent path /system/lib/soundfx/libvisualizer.so 34e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 357d5b26230a179cd7bcc01f6578cd80d8c15a92a5Jean-Michel Trivi downmix { 367d5b26230a179cd7bcc01f6578cd80d8c15a92a5Jean-Michel Trivi path /system/lib/soundfx/libdownmix.so 377d5b26230a179cd7bcc01f6578cd80d8c15a92a5Jean-Michel Trivi } 386cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3cJean-Michel Trivi loudness_enhancer { 396cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3cJean-Michel Trivi path /system/lib/soundfx/libldnhncr.so 406cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3cJean-Michel Trivi } 41e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent} 42e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent 43199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# Default pre-processing library. Add to audio_effect.conf "libraries" section if 44199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# audio HAL implements support for default software audio pre-processing effects 45199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# 46199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# pre_processing { 47199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# path /system/lib/soundfx/libaudiopreprocessing.so 48199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# } 49199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent 50e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent# list of effects to load. Each effect element must contain a "library" and a "uuid" element. 51e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent# The value of the "library" element must correspond to the name of one library element in the 52e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent# "libraries" element. 53e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent# The name of the effect element is indicative, only the value of the "uuid" element 54e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent# designates the effect. 557c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the 567c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# generic effect type UUID. 577c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# effects { 587c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# <fx name> { 597c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# library <lib name> 607c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# uuid <effect uuid> 617c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 627c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# ... 637c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 647c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent 65e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurenteffects { 662eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana 672eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana# additions for the proxy implementation 682eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana# Proxy implementation 692eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #effectname { 702eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #library proxy 712eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 722eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana 732eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana # SW implemetation of the effect. Added as a node under the proxy to 742eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana # indicate this as a sub effect. 752eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #libsw { 762eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #library libSW 772eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy 782eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #} End of SW effect 792eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana 802eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana # HW implementation of the effect. Added as a node under the proxy to 812eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana # indicate this as a sub effect. 822eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #libhw { 832eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #library libHW 842eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz 852eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #}End of HW effect 862eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana #} End of effect proxy 872eab94f7dfd41a65e13aca379a1aed97447f8884jpadmana 88e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent bassboost { 89e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library bundle 90e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent uuid 8631f300-72e2-11df-b57e-0002a5d5c51b 91e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 92e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent virtualizer { 93e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library bundle 94e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b 95e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 96e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent equalizer { 97e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library bundle 98e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent uuid ce772f20-847d-11df-bb17-0002a5d5c51b 99e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 100e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent volume { 101e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library bundle 102e7c795f3300814aa3f26ceb845f29695383c7edcJean-Michel Trivi uuid 119341a0-8469-11df-81f9-0002a5d5c51b 103e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 104e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent reverb_env_aux { 105e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library reverb 106e7c795f3300814aa3f26ceb845f29695383c7edcJean-Michel Trivi uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b 107e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 108e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent reverb_env_ins { 109e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library reverb 110e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b 111e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 112e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent reverb_pre_aux { 113e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library reverb 114e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b 115e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 116e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent reverb_pre_ins { 117e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library reverb 118e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b 119e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 120e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent visualizer { 121e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent library visualizer 122e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent uuid d069d9e0-8329-11df-9168-0002a5d5c51b 123e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent } 1247d5b26230a179cd7bcc01f6578cd80d8c15a92a5Jean-Michel Trivi downmix { 1257d5b26230a179cd7bcc01f6578cd80d8c15a92a5Jean-Michel Trivi library downmix 1267d5b26230a179cd7bcc01f6578cd80d8c15a92a5Jean-Michel Trivi uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f 1277d5b26230a179cd7bcc01f6578cd80d8c15a92a5Jean-Michel Trivi } 1286cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3cJean-Michel Trivi loudness_enhancer { 1296cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3cJean-Michel Trivi library loudness_enhancer 1306cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3cJean-Michel Trivi uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c 1316cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3cJean-Michel Trivi } 132e1315cf0b63b4c14a77046519e6b01f6f60d74b0Eric Laurent} 133199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent 134199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# Default pre-processing effects. Add to audio_effect.conf "effects" section if 135199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# audio HAL implements support for them. 136199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# 137199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# agc { 138199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# library pre_processing 139199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b 140199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# } 141199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# aec { 142199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# library pre_processing 143199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b 144199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# } 145199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# ns { 146199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# library pre_processing 147199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b 148199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent# } 149199862ef95e4d768fbf2cc5518fe43e9ed5aa5a2Eric Laurent 1507c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# Audio preprocessor configurations. 1517c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# The pre processor configuration consists in a list of elements each describing 1527c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# pre processor settings for a given input source. Valid input source names are: 1537c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# "mic", "camcorder", "voice_recognition", "voice_communication" 1547c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# Each input source element contains a list of effects elements. The name of the effect 1557c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# element must be the name of one of the effects in the "effects" list of the file. 1567c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# Each effect element may optionally contain a list of parameters and their 1577c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# default value to apply when the pre processor effect is created. 1587c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# A parameter is defined by a "param" element and a "value" element. Each of these elements 1597c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# consists in one or more elements specifying a type followed by a value. 1607c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# The types defined are: "int", "short", "float", "bool" and "string" 1617c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# When both "param" and "value" are a single int, a simple form is allowed where just 1627c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# the param and value pair is present in the parameter description 1637c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# pre_processing { 1647c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# <input source name> { 1657c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# <fx name> { 1667c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# <param 1 name> { 1677c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# param { 1687c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# int|short|float|bool|string <value> 1697c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# [ int|short|float|bool|string <value> ] 1707c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# ... 1717c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 1727c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# value { 1737c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# int|short|float|bool|string <value> 1747c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# [ int|short|float|bool|string <value> ] 1757c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# ... 1767c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 1777c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 1787c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# <param 2 name > {<param> <value>} 1797c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# ... 1807c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 1817c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# ... 1827c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 1837c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# ... 1847c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# } 1857c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent 1867c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# 1877c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# TODO: add default audio pre processor configurations after debug and tuning phase 1887c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent# 189