From e1315cf0b63b4c14a77046519e6b01f6f60d74b0 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Tue, 17 May 2011 19:16:02 -0700 Subject: New effect library API Moved and renamed media/EffectApi.h to hardware/audio_effect.h Modified the effect library API to expose a library info structure containing an interface functions table. Also removed enums for audio channels, audio format and devices from effect API and use values from system/audio.h instead. Modified effects factory to support new library interface format and load libraries and efffects listed in audio_effects.conf file. The file audio_effects.conf is first loaded from /vendor/etc and then from /system/etc/audio_effects.conf if not found. Modified existing effect libraries to implement the new library interface. Change-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9 --- media/libeffects/factory/EffectsFactory.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'media/libeffects/factory/EffectsFactory.h') diff --git a/media/libeffects/factory/EffectsFactory.h b/media/libeffects/factory/EffectsFactory.h index 8f543ca..fcc0dba 100644 --- a/media/libeffects/factory/EffectsFactory.h +++ b/media/libeffects/factory/EffectsFactory.h @@ -22,29 +22,35 @@ #include #include - #if __cplusplus 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; struct list_elem_s *next; } list_elem_t; typedef struct lib_entry_s { - char path[PATH_MAX]; + audio_effect_library_t *desc; + char *name; + char *path; void *handle; - int id; - effect_CreateEffect_t createFx; - effect_ReleaseEffect_t releaseFx; list_elem_t *effects; //list of effect_descriptor_t pthread_mutex_t lock; } lib_entry_t; typedef struct effect_entry_s { struct effect_interface_s *itfe; - effect_interface_t subItfe; + effect_handle_t subItfe; lib_entry_t *lib; } effect_entry_t; -- cgit v1.1