Loading include/media/AudioEffect.h +4 −4 Original line number Diff line number Diff line Loading @@ -188,7 +188,7 @@ public: * sessionID: audio session this effect is associated to. If 0, the effect will be global to * the output mix. If not 0, the effect will be applied to all players * (AudioTrack or MediaPLayer) within the same audio session. * output: HAL audio output stream to which this effect must be attached. Leave at 0 for * io: HAL audio output or input stream to which this effect must be attached. Leave at 0 for * automatic output selection by AudioFlinger. */ Loading @@ -198,7 +198,7 @@ public: effect_callback_t cbf = 0, void* user = 0, int sessionId = 0, audio_io_handle_t output = 0 audio_io_handle_t io = 0 ); /* Constructor. Loading @@ -210,7 +210,7 @@ public: effect_callback_t cbf = 0, void* user = 0, int sessionId = 0, audio_io_handle_t output = 0 audio_io_handle_t io = 0 ); /* Terminates the AudioEffect and unregisters it from AudioFlinger. Loading @@ -232,7 +232,7 @@ public: effect_callback_t cbf = 0, void* user = 0, int sessionId = 0, audio_io_handle_t output = 0 audio_io_handle_t io = 0 ); /* Result of constructing the AudioEffect. This must be checked Loading include/media/AudioSystem.h +3 −2 Original line number Diff line number Diff line Loading @@ -160,7 +160,8 @@ public: uint32_t samplingRate = 0, uint32_t format = AUDIO_FORMAT_DEFAULT, uint32_t channels = AUDIO_CHANNEL_IN_MONO, audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0); audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0, int sessionId = 0); static status_t startInput(audio_io_handle_t input); static status_t stopInput(audio_io_handle_t input); static void releaseInput(audio_io_handle_t input); Loading @@ -175,7 +176,7 @@ public: static audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc); static status_t registerEffect(effect_descriptor_t *desc, audio_io_handle_t output, audio_io_handle_t io, uint32_t strategy, int session, int id); Loading include/media/IAudioPolicyService.h +3 −2 Original line number Diff line number Diff line Loading @@ -65,7 +65,8 @@ public: uint32_t samplingRate = 0, uint32_t format = AUDIO_FORMAT_DEFAULT, uint32_t channels = 0, audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0) = 0; audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0, int audioSession = 0) = 0; virtual status_t startInput(audio_io_handle_t input) = 0; virtual status_t stopInput(audio_io_handle_t input) = 0; virtual void releaseInput(audio_io_handle_t input) = 0; Loading @@ -78,7 +79,7 @@ public: virtual uint32_t getDevicesForStream(audio_stream_type_t stream) = 0; virtual audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc) = 0; virtual status_t registerEffect(effect_descriptor_t *desc, audio_io_handle_t output, audio_io_handle_t io, uint32_t strategy, int session, int id) = 0; Loading media/libeffects/data/audio_effects.conf +69 −0 Original line number Diff line number Diff line # 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 Loading @@ -10,6 +15,9 @@ libraries { visualizer { path /system/lib/soundfx/libvisualizer.so } pre_processing { path /system/lib/soundfx/libaudiopreprocessing.so } } # list of effects to load. Each effect element must contain a "library" and a "uuid" element. Loading @@ -17,6 +25,16 @@ libraries { # "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 { bassboost { library bundle Loading Loading @@ -54,4 +72,55 @@ effects { library visualizer uuid d069d9e0-8329-11df-9168-0002a5d5c51b } 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 # media/libeffects/factory/Android.mk +3 −0 Original line number Diff line number Diff line Loading @@ -14,4 +14,7 @@ LOCAL_MODULE:= libeffects LOCAL_SHARED_LIBRARIES += libdl LOCAL_C_INCLUDES := \ system/media/audio_effects/include include $(BUILD_SHARED_LIBRARY) Loading
include/media/AudioEffect.h +4 −4 Original line number Diff line number Diff line Loading @@ -188,7 +188,7 @@ public: * sessionID: audio session this effect is associated to. If 0, the effect will be global to * the output mix. If not 0, the effect will be applied to all players * (AudioTrack or MediaPLayer) within the same audio session. * output: HAL audio output stream to which this effect must be attached. Leave at 0 for * io: HAL audio output or input stream to which this effect must be attached. Leave at 0 for * automatic output selection by AudioFlinger. */ Loading @@ -198,7 +198,7 @@ public: effect_callback_t cbf = 0, void* user = 0, int sessionId = 0, audio_io_handle_t output = 0 audio_io_handle_t io = 0 ); /* Constructor. Loading @@ -210,7 +210,7 @@ public: effect_callback_t cbf = 0, void* user = 0, int sessionId = 0, audio_io_handle_t output = 0 audio_io_handle_t io = 0 ); /* Terminates the AudioEffect and unregisters it from AudioFlinger. Loading @@ -232,7 +232,7 @@ public: effect_callback_t cbf = 0, void* user = 0, int sessionId = 0, audio_io_handle_t output = 0 audio_io_handle_t io = 0 ); /* Result of constructing the AudioEffect. This must be checked Loading
include/media/AudioSystem.h +3 −2 Original line number Diff line number Diff line Loading @@ -160,7 +160,8 @@ public: uint32_t samplingRate = 0, uint32_t format = AUDIO_FORMAT_DEFAULT, uint32_t channels = AUDIO_CHANNEL_IN_MONO, audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0); audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0, int sessionId = 0); static status_t startInput(audio_io_handle_t input); static status_t stopInput(audio_io_handle_t input); static void releaseInput(audio_io_handle_t input); Loading @@ -175,7 +176,7 @@ public: static audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc); static status_t registerEffect(effect_descriptor_t *desc, audio_io_handle_t output, audio_io_handle_t io, uint32_t strategy, int session, int id); Loading
include/media/IAudioPolicyService.h +3 −2 Original line number Diff line number Diff line Loading @@ -65,7 +65,8 @@ public: uint32_t samplingRate = 0, uint32_t format = AUDIO_FORMAT_DEFAULT, uint32_t channels = 0, audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0) = 0; audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0, int audioSession = 0) = 0; virtual status_t startInput(audio_io_handle_t input) = 0; virtual status_t stopInput(audio_io_handle_t input) = 0; virtual void releaseInput(audio_io_handle_t input) = 0; Loading @@ -78,7 +79,7 @@ public: virtual uint32_t getDevicesForStream(audio_stream_type_t stream) = 0; virtual audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc) = 0; virtual status_t registerEffect(effect_descriptor_t *desc, audio_io_handle_t output, audio_io_handle_t io, uint32_t strategy, int session, int id) = 0; Loading
media/libeffects/data/audio_effects.conf +69 −0 Original line number Diff line number Diff line # 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 Loading @@ -10,6 +15,9 @@ libraries { visualizer { path /system/lib/soundfx/libvisualizer.so } pre_processing { path /system/lib/soundfx/libaudiopreprocessing.so } } # list of effects to load. Each effect element must contain a "library" and a "uuid" element. Loading @@ -17,6 +25,16 @@ libraries { # "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 { bassboost { library bundle Loading Loading @@ -54,4 +72,55 @@ effects { library visualizer uuid d069d9e0-8329-11df-9168-0002a5d5c51b } 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 #
media/libeffects/factory/Android.mk +3 −0 Original line number Diff line number Diff line Loading @@ -14,4 +14,7 @@ LOCAL_MODULE:= libeffects LOCAL_SHARED_LIBRARIES += libdl LOCAL_C_INCLUDES := \ system/media/audio_effects/include include $(BUILD_SHARED_LIBRARY)