diff options
author | Eric Laurent <elaurent@google.com> | 2011-06-17 21:29:58 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2011-07-18 09:42:57 -0700 |
commit | 7c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745 (patch) | |
tree | eb67cd14e679d97a9b866a0410d8e582f4639274 /media/libeffects/factory | |
parent | 67a124dcac0578aed94aebf451675a5f4c8a1e4e (diff) | |
download | frameworks_av-7c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745.zip frameworks_av-7c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745.tar.gz frameworks_av-7c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745.tar.bz2 |
Audio framework: support for audio pre processing
Audio effect framework is extended to suport effects on
output and input audio path.
AudioFlinger: Support for audio effects and effect chains is
moved from PlaybackThread class to ThreadBase class so that
RecordThread can manage effects.
Effects of type pre processing are allowed on record thread
only. When a pre processing is enabled, the effect interface handle is
passed down to the input stream so that the audio HAL can call the
process function. The record thread loop calls the effect chain process
function that will only manage the effect state and commands and skip the
process function.
AudioRecord: The audio session is allocated before calling getInput() into
audio policy serice so that the session is known before the input theead is
created and pre processings can be created on the correct session.
AudioPolicyService: default pre processing for a given input source are
loaded from audio_effects.conf file.
When an input is created, corresponding effects are created and enabled.
Change-Id: Id17119e0979b4dcf189b5c7957fec30dc3478790
Diffstat (limited to 'media/libeffects/factory')
-rw-r--r-- | media/libeffects/factory/Android.mk | 3 | ||||
-rw-r--r-- | media/libeffects/factory/EffectsFactory.c | 1 | ||||
-rw-r--r-- | media/libeffects/factory/EffectsFactory.h | 7 |
3 files changed, 4 insertions, 7 deletions
diff --git a/media/libeffects/factory/Android.mk b/media/libeffects/factory/Android.mk index 26265ae..2f2b974 100644 --- a/media/libeffects/factory/Android.mk +++ b/media/libeffects/factory/Android.mk @@ -14,4 +14,7 @@ LOCAL_MODULE:= libeffects LOCAL_SHARED_LIBRARIES += libdl +LOCAL_C_INCLUDES := \ + system/media/audio_effects/include + include $(BUILD_SHARED_LIBRARY) diff --git a/media/libeffects/factory/EffectsFactory.c b/media/libeffects/factory/EffectsFactory.c index a9689bc..d333510 100644 --- a/media/libeffects/factory/EffectsFactory.c +++ b/media/libeffects/factory/EffectsFactory.c @@ -24,6 +24,7 @@ #include <cutils/misc.h> #include <cutils/config_utils.h> +#include <audio_effects/audio_effects_conf.h> static list_elem_t *gEffectList; // list of effect_entry_t: all currently created effects static list_elem_t *gLibraryList; // list of lib_entry_t: all currently loaded libraries diff --git a/media/libeffects/factory/EffectsFactory.h b/media/libeffects/factory/EffectsFactory.h index fcc0dba..c1d4319 100644 --- a/media/libeffects/factory/EffectsFactory.h +++ b/media/libeffects/factory/EffectsFactory.h @@ -26,13 +26,6 @@ extern "C" { #endif -#define AUDIO_EFFECT_DEFAULT_CONFIG_FILE "/system/etc/audio_effects.conf" -#define AUDIO_EFFECT_VENDOR_CONFIG_FILE "/vendor/etc/audio_effects.conf" -#define EFFECTS_TAG "effects" -#define LIBRARIES_TAG "libraries" -#define PATH_TAG "path" -#define LIBRARY_TAG "library" -#define UUID_TAG "uuid" typedef struct list_elem_s { void *object; |