From 3d5188bd6abe55898f10a0edf3c05aff8aa2ef67 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Fri, 16 Dec 2011 15:30:36 -0800 Subject: audio effects: rename configure command Renamed audio effect library interface command for audio format configuration from EFFECT_CMD_CONFIGURE to EFFECT_CMD_SET_CONFIG. This makes the naming more consistent with other exixsting commands and allow adding a new command to get the configuration (EFFECT_CMD_GET_CONFIG). Same change for reverse channel configuration renamed from EFFECT_CMD_CONFIGURE_REVERSE to EFFECT_CMD_SET_CONFIG_REVERSE. Implemented EFFECT_CMD_GET_CONFIG in exisitng effect libraries. Change-Id: Ia7b1c620f13797fe5aceb3b0b4acbacce09fb067 --- media/libeffects/testlibs/EffectEqualizer.cpp | 43 ++++++++++++++++++----- media/libeffects/testlibs/EffectReverb.c | 50 +++++++++++++++++++++------ media/libeffects/testlibs/EffectReverb.h | 3 +- 3 files changed, 75 insertions(+), 21 deletions(-) (limited to 'media/libeffects/testlibs') diff --git a/media/libeffects/testlibs/EffectEqualizer.cpp b/media/libeffects/testlibs/EffectEqualizer.cpp index 79a296c..52fbf79 100644 --- a/media/libeffects/testlibs/EffectEqualizer.cpp +++ b/media/libeffects/testlibs/EffectEqualizer.cpp @@ -114,7 +114,7 @@ struct EqualizerContext { //--- local function prototypes int Equalizer_init(EqualizerContext *pContext); -int Equalizer_configure(EqualizerContext *pContext, effect_config_t *pConfig); +int Equalizer_setConfig(EqualizerContext *pContext, effect_config_t *pConfig); int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t *pValueSize, void *pValue); int Equalizer_setParameter(AudioEqualizer * pEqualizer, int32_t *pParam, void *pValue); @@ -224,7 +224,7 @@ extern "C" int EffectGetDescriptor(effect_uuid_t *uuid, } //---------------------------------------------------------------------------- -// Equalizer_configure() +// Equalizer_setConfig() //---------------------------------------------------------------------------- // Purpose: Set input and output audio configuration. // @@ -237,9 +237,9 @@ extern "C" int EffectGetDescriptor(effect_uuid_t *uuid, // //---------------------------------------------------------------------------- -int Equalizer_configure(EqualizerContext *pContext, effect_config_t *pConfig) +int Equalizer_setConfig(EqualizerContext *pContext, effect_config_t *pConfig) { - ALOGV("Equalizer_configure start"); + ALOGV("Equalizer_setConfig start"); CHECK_ARG(pContext != NULL); CHECK_ARG(pConfig != NULL); @@ -272,7 +272,26 @@ int Equalizer_configure(EqualizerContext *pContext, effect_config_t *pConfig) pConfig->outputCfg.accessMode); return 0; -} // end Equalizer_configure +} // end Equalizer_setConfig + +//---------------------------------------------------------------------------- +// Equalizer_getConfig() +//---------------------------------------------------------------------------- +// Purpose: Get input and output audio configuration. +// +// Inputs: +// pContext: effect engine context +// pConfig: pointer to effect_config_t structure holding input and output +// configuration parameters +// +// Outputs: +// +//---------------------------------------------------------------------------- + +void Equalizer_getConfig(EqualizerContext *pContext, effect_config_t *pConfig) +{ + memcpy(pConfig, &pContext->config, sizeof(effect_config_t)); +} // end Equalizer_getConfig //---------------------------------------------------------------------------- @@ -332,7 +351,7 @@ int Equalizer_init(EqualizerContext *pContext) pContext->pEqualizer->enable(true); - Equalizer_configure(pContext, &pContext->config); + Equalizer_setConfig(pContext, &pContext->config); return 0; } // end Equalizer_init @@ -643,16 +662,22 @@ extern "C" int Equalizer_command(effect_handle_t self, uint32_t cmdCode, uint32_ } *(int *) pReplyData = Equalizer_init(pContext); break; - case EFFECT_CMD_CONFIGURE: + case EFFECT_CMD_SET_CONFIG: if (pCmdData == NULL || cmdSize != sizeof(effect_config_t) || pReplyData == NULL || *replySize != sizeof(int)) { return -EINVAL; } - *(int *) pReplyData = Equalizer_configure(pContext, + *(int *) pReplyData = Equalizer_setConfig(pContext, (effect_config_t *) pCmdData); break; + case EFFECT_CMD_GET_CONFIG: + if (pReplyData == NULL || *replySize != sizeof(effect_config_t)) { + return -EINVAL; + } + Equalizer_getConfig(pContext, (effect_config_t *) pCmdData); + break; case EFFECT_CMD_RESET: - Equalizer_configure(pContext, &pContext->config); + Equalizer_setConfig(pContext, &pContext->config); break; case EFFECT_CMD_GET_PARAM: { if (pCmdData == NULL || cmdSize < (int)(sizeof(effect_param_t) + sizeof(int32_t)) || diff --git a/media/libeffects/testlibs/EffectReverb.c b/media/libeffects/testlibs/EffectReverb.c index 1da8d32..419a41c 100644 --- a/media/libeffects/testlibs/EffectReverb.c +++ b/media/libeffects/testlibs/EffectReverb.c @@ -318,14 +318,20 @@ static int Reverb_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSi pRvbModule->context.mState = REVERB_STATE_INITIALIZED; } break; - case EFFECT_CMD_CONFIGURE: + case EFFECT_CMD_SET_CONFIG: if (pCmdData == NULL || cmdSize != sizeof(effect_config_t) || pReplyData == NULL || *replySize != sizeof(int)) { return -EINVAL; } - *(int *) pReplyData = Reverb_Configure(pRvbModule, + *(int *) pReplyData = Reverb_setConfig(pRvbModule, (effect_config_t *)pCmdData, false); break; + case EFFECT_CMD_GET_CONFIG: + if (pReplyData == NULL || *replySize != sizeof(effect_config_t)) { + return -EINVAL; + } + Reverb_getConfig(pRvbModule, (effect_config_t *) pCmdData); + break; case EFFECT_CMD_RESET: Reverb_Reset(pReverb, false); break; @@ -492,7 +498,7 @@ int Reverb_Init(reverb_module_t *pRvbModule, int aux, int preset) { pRvbModule->config.outputCfg.accessMode = EFFECT_BUFFER_ACCESS_ACCUMULATE; pRvbModule->config.outputCfg.mask = EFFECT_CONFIG_ALL; - ret = Reverb_Configure(pRvbModule, &pRvbModule->config, true); + ret = Reverb_setConfig(pRvbModule, &pRvbModule->config, true); if (ret < 0) { ALOGV("Reverb_Init error %d on module %p", ret, pRvbModule); } @@ -501,7 +507,7 @@ int Reverb_Init(reverb_module_t *pRvbModule, int aux, int preset) { } /*---------------------------------------------------------------------------- - * Reverb_Init() + * Reverb_setConfig() *---------------------------------------------------------------------------- * Purpose: * Set input and output audio configuration. @@ -518,7 +524,7 @@ int Reverb_Init(reverb_module_t *pRvbModule, int aux, int preset) { *---------------------------------------------------------------------------- */ -int Reverb_Configure(reverb_module_t *pRvbModule, effect_config_t *pConfig, +int Reverb_setConfig(reverb_module_t *pRvbModule, effect_config_t *pConfig, bool init) { reverb_object_t *pReverb = &pRvbModule->context; int bufferSizeInSamples; @@ -531,12 +537,12 @@ int Reverb_Configure(reverb_module_t *pRvbModule, effect_config_t *pConfig, || pConfig->outputCfg.channels != OUTPUT_CHANNELS || pConfig->inputCfg.format != AUDIO_FORMAT_PCM_16_BIT || pConfig->outputCfg.format != AUDIO_FORMAT_PCM_16_BIT) { - ALOGV("Reverb_Configure invalid config"); + ALOGV("Reverb_setConfig invalid config"); return -EINVAL; } if ((pReverb->m_Aux && (pConfig->inputCfg.channels != AUDIO_CHANNEL_OUT_MONO)) || (!pReverb->m_Aux && (pConfig->inputCfg.channels != AUDIO_CHANNEL_OUT_STEREO))) { - ALOGV("Reverb_Configure invalid config"); + ALOGV("Reverb_setConfig invalid config"); return -EINVAL; } @@ -576,7 +582,7 @@ int Reverb_Configure(reverb_module_t *pRvbModule, effect_config_t *pConfig, pReverb->m_nCosWT_5KHz = 25997; break; default: - ALOGV("Reverb_Configure invalid sampling rate %d", pReverb->m_nSamplingRate); + ALOGV("Reverb_setConfig invalid sampling rate %d", pReverb->m_nSamplingRate); return -EINVAL; } @@ -620,6 +626,28 @@ int Reverb_Configure(reverb_module_t *pRvbModule, effect_config_t *pConfig, } /*---------------------------------------------------------------------------- + * Reverb_getConfig() + *---------------------------------------------------------------------------- + * Purpose: + * Get input and output audio configuration. + * + * Inputs: + * pRvbModule - pointer to reverb effect module + * pConfig - pointer to effect_config_t structure containing input + * and output audio parameters configuration + * Outputs: + * + * Side Effects: + * + *---------------------------------------------------------------------------- + */ + +void Reverb_getConfig(reverb_module_t *pRvbModule, effect_config_t *pConfig) +{ + memcpy(pConfig, &pRvbModule->config, sizeof(effect_config_t)); +} + +/*---------------------------------------------------------------------------- * Reverb_Reset() *---------------------------------------------------------------------------- * Purpose: @@ -844,7 +872,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, if (param == REVERB_PARAM_ROOM_HF_LEVEL) { break; } - pValue32 = &pProperties->decayTime; + pValue32 = (int32_t *)&pProperties->decayTime; /* FALL THROUGH */ case REVERB_PARAM_DECAY_TIME: @@ -916,7 +944,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, if (param == REVERB_PARAM_REFLECTIONS_LEVEL) { break; } - pValue32 = &pProperties->reflectionsDelay; + pValue32 = (int32_t *)&pProperties->reflectionsDelay; /* FALL THROUGH */ case REVERB_PARAM_REFLECTIONS_DELAY: @@ -940,7 +968,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, if (param == REVERB_PARAM_REVERB_LEVEL) { break; } - pValue32 = &pProperties->reverbDelay; + pValue32 = (int32_t *)&pProperties->reverbDelay; /* FALL THROUGH */ case REVERB_PARAM_REVERB_DELAY: diff --git a/media/libeffects/testlibs/EffectReverb.h b/media/libeffects/testlibs/EffectReverb.h index 8e2cc31..5137074 100644 --- a/media/libeffects/testlibs/EffectReverb.h +++ b/media/libeffects/testlibs/EffectReverb.h @@ -329,7 +329,8 @@ static int Reverb_GetDescriptor(effect_handle_t self, */ int Reverb_Init(reverb_module_t *pRvbModule, int aux, int preset); -int Reverb_Configure(reverb_module_t *pRvbModule, effect_config_t *pConfig, bool init); +int Reverb_setConfig(reverb_module_t *pRvbModule, effect_config_t *pConfig, bool init); +void Reverb_getConfig(reverb_module_t *pRvbModule, effect_config_t *pConfig); void Reverb_Reset(reverb_object_t *pReverb, bool init); int Reverb_setParameter (reverb_object_t *pReverb, int32_t param, size_t size, void *pValue); -- cgit v1.1