diff options
Diffstat (limited to 'media/libeffects/testlibs')
-rw-r--r-- | media/libeffects/testlibs/AudioEqualizer.cpp | 26 | ||||
-rw-r--r-- | media/libeffects/testlibs/EffectEqualizer.cpp | 97 | ||||
-rw-r--r-- | media/libeffects/testlibs/EffectReverb.c | 166 | ||||
-rw-r--r-- | media/libeffects/testlibs/EffectReverb.h | 3 |
4 files changed, 173 insertions, 119 deletions
diff --git a/media/libeffects/testlibs/AudioEqualizer.cpp b/media/libeffects/testlibs/AudioEqualizer.cpp index 44c9476..4f3a308 100644 --- a/media/libeffects/testlibs/AudioEqualizer.cpp +++ b/media/libeffects/testlibs/AudioEqualizer.cpp @@ -39,7 +39,7 @@ AudioEqualizer * AudioEqualizer::CreateInstance(void * pMem, int nBands, int nChannels, int sampleRate, const PresetConfig * presets, int nPresets) { - LOGV("AudioEqualizer::CreateInstance(pMem=%p, nBands=%d, nChannels=%d, " + ALOGV("AudioEqualizer::CreateInstance(pMem=%p, nBands=%d, nChannels=%d, " "sampleRate=%d, nPresets=%d)", pMem, nBands, nChannels, sampleRate, nPresets); assert(nBands >= 2); @@ -56,7 +56,7 @@ AudioEqualizer * AudioEqualizer::CreateInstance(void * pMem, int nBands, } void AudioEqualizer::configure(int nChannels, int sampleRate) { - LOGV("AudioEqualizer::configure(nChannels=%d, sampleRate=%d)", nChannels, + ALOGV("AudioEqualizer::configure(nChannels=%d, sampleRate=%d)", nChannels, sampleRate); mpLowShelf->configure(nChannels, sampleRate); for (int i = 0; i < mNumPeaking; ++i) { @@ -66,7 +66,7 @@ void AudioEqualizer::configure(int nChannels, int sampleRate) { } void AudioEqualizer::clear() { - LOGV("AudioEqualizer::clear()"); + ALOGV("AudioEqualizer::clear()"); mpLowShelf->clear(); for (int i = 0; i < mNumPeaking; ++i) { mpPeakingFilters[i].clear(); @@ -75,14 +75,14 @@ void AudioEqualizer::clear() { } void AudioEqualizer::free() { - LOGV("AudioEqualizer::free()"); + ALOGV("AudioEqualizer::free()"); if (mpMem != NULL) { ::free(mpMem); } } void AudioEqualizer::reset() { - LOGV("AudioEqualizer::reset()"); + ALOGV("AudioEqualizer::reset()"); const int32_t bottom = Effects_log2(kMinFreq); const int32_t top = Effects_log2(mSampleRate * 500); const int32_t jump = (top - bottom) / (mNumPeaking + 2); @@ -103,7 +103,7 @@ void AudioEqualizer::reset() { } void AudioEqualizer::setGain(int band, int32_t millibel) { - LOGV("AudioEqualizer::setGain(band=%d, millibel=%d)", band, millibel); + ALOGV("AudioEqualizer::setGain(band=%d, millibel=%d)", band, millibel); assert(band >= 0 && band < mNumPeaking + 2); if (band == 0) { mpLowShelf->setGain(millibel); @@ -116,7 +116,7 @@ void AudioEqualizer::setGain(int band, int32_t millibel) { } void AudioEqualizer::setFrequency(int band, uint32_t millihertz) { - LOGV("AudioEqualizer::setFrequency(band=%d, millihertz=%d)", band, + ALOGV("AudioEqualizer::setFrequency(band=%d, millihertz=%d)", band, millihertz); assert(band >= 0 && band < mNumPeaking + 2); if (band == 0) { @@ -130,7 +130,7 @@ void AudioEqualizer::setFrequency(int band, uint32_t millihertz) { } void AudioEqualizer::setBandwidth(int band, uint32_t cents) { - LOGV("AudioEqualizer::setBandwidth(band=%d, cents=%d)", band, cents); + ALOGV("AudioEqualizer::setBandwidth(band=%d, cents=%d)", band, cents); assert(band >= 0 && band < mNumPeaking + 2); if (band > 0 && band < mNumPeaking + 1) { mpPeakingFilters[band - 1].setBandwidth(cents); @@ -201,7 +201,7 @@ int AudioEqualizer::getPreset() const { } void AudioEqualizer::setPreset(int preset) { - LOGV("AudioEqualizer::setPreset(preset=%d)", preset); + ALOGV("AudioEqualizer::setPreset(preset=%d)", preset); assert(preset < mNumPresets && preset >= 0); const PresetConfig &presetCfg = mpPresets[preset]; for (int band = 0; band < (mNumPeaking + 2); ++band) { @@ -214,7 +214,7 @@ void AudioEqualizer::setPreset(int preset) { } void AudioEqualizer::commit(bool immediate) { - LOGV("AudioEqualizer::commit(immediate=%d)", immediate); + ALOGV("AudioEqualizer::commit(immediate=%d)", immediate); mpLowShelf->commit(immediate); for (int i = 0; i < mNumPeaking; ++i) { mpPeakingFilters[i].commit(immediate); @@ -225,7 +225,7 @@ void AudioEqualizer::commit(bool immediate) { void AudioEqualizer::process(const audio_sample_t * pIn, audio_sample_t * pOut, int frameCount) { -// LOGV("AudioEqualizer::process(frameCount=%d)", frameCount); +// ALOGV("AudioEqualizer::process(frameCount=%d)", frameCount); mpLowShelf->process(pIn, pOut, frameCount); for (int i = 0; i < mNumPeaking; ++i) { mpPeakingFilters[i].process(pIn, pOut, frameCount); @@ -234,7 +234,7 @@ void AudioEqualizer::process(const audio_sample_t * pIn, } void AudioEqualizer::enable(bool immediate) { - LOGV("AudioEqualizer::enable(immediate=%d)", immediate); + ALOGV("AudioEqualizer::enable(immediate=%d)", immediate); mpLowShelf->enable(immediate); for (int i = 0; i < mNumPeaking; ++i) { mpPeakingFilters[i].enable(immediate); @@ -243,7 +243,7 @@ void AudioEqualizer::enable(bool immediate) { } void AudioEqualizer::disable(bool immediate) { - LOGV("AudioEqualizer::disable(immediate=%d)", immediate); + ALOGV("AudioEqualizer::disable(immediate=%d)", immediate); mpLowShelf->disable(immediate); for (int i = 0; i < mNumPeaking; ++i) { mpPeakingFilters[i].disable(immediate); diff --git a/media/libeffects/testlibs/EffectEqualizer.cpp b/media/libeffects/testlibs/EffectEqualizer.cpp index b22ebec..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); @@ -147,7 +147,7 @@ extern "C" int EffectCreate(effect_uuid_t *uuid, int ret; int i; - LOGV("EffectLibCreateEffect start"); + ALOGV("EffectLibCreateEffect start"); if (pHandle == NULL || uuid == NULL) { return -EINVAL; @@ -173,7 +173,7 @@ extern "C" int EffectCreate(effect_uuid_t *uuid, *pHandle = (effect_handle_t)pContext; pContext->state = EQUALIZER_STATE_INITIALIZED; - LOGV("EffectLibCreateEffect %p, size %d", + ALOGV("EffectLibCreateEffect %p, size %d", pContext, AudioEqualizer::GetInstanceSize(kNumBands)+sizeof(EqualizerContext)); return 0; @@ -183,7 +183,7 @@ extern "C" int EffectCreate(effect_uuid_t *uuid, extern "C" int EffectRelease(effect_handle_t handle) { EqualizerContext * pContext = (EqualizerContext *)handle; - LOGV("EffectLibReleaseEffect %p", handle); + ALOGV("EffectLibReleaseEffect %p", handle); if (pContext == NULL) { return -EINVAL; } @@ -199,7 +199,7 @@ extern "C" int EffectGetDescriptor(effect_uuid_t *uuid, effect_descriptor_t *pDescriptor) { if (pDescriptor == NULL || uuid == NULL){ - LOGV("EffectGetDescriptor() called with NULL pointer"); + ALOGV("EffectGetDescriptor() called with NULL pointer"); return -EINVAL; } @@ -218,13 +218,13 @@ extern "C" int EffectGetDescriptor(effect_uuid_t *uuid, #define CHECK_ARG(cond) { \ if (!(cond)) { \ - LOGV("Invalid argument: "#cond); \ + ALOGV("Invalid argument: "#cond); \ return -EINVAL; \ } \ } //---------------------------------------------------------------------------- -// 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) { - LOGV("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 //---------------------------------------------------------------------------- @@ -292,7 +311,7 @@ int Equalizer_init(EqualizerContext *pContext) { int status; - LOGV("Equalizer_init start"); + ALOGV("Equalizer_init start"); CHECK_ARG(pContext != NULL); @@ -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 @@ -416,13 +435,13 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t switch (param) { case EQ_PARAM_NUM_BANDS: *(uint16_t *)pValue = (uint16_t)kNumBands; - LOGV("Equalizer_getParameter() EQ_PARAM_NUM_BANDS %d", *(int16_t *)pValue); + ALOGV("Equalizer_getParameter() EQ_PARAM_NUM_BANDS %d", *(int16_t *)pValue); break; case EQ_PARAM_LEVEL_RANGE: *(int16_t *)pValue = -9600; *((int16_t *)pValue + 1) = 4800; - LOGV("Equalizer_getParameter() EQ_PARAM_LEVEL_RANGE min %d, max %d", + ALOGV("Equalizer_getParameter() EQ_PARAM_LEVEL_RANGE min %d, max %d", *(int32_t *)pValue, *((int32_t *)pValue + 1)); break; @@ -433,7 +452,7 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t break; } *(int16_t *)pValue = (int16_t)pEqualizer->getGain(param2); - LOGV("Equalizer_getParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", + ALOGV("Equalizer_getParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", param2, *(int32_t *)pValue); break; @@ -444,7 +463,7 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t break; } *(int32_t *)pValue = pEqualizer->getFrequency(param2); - LOGV("Equalizer_getParameter() EQ_PARAM_CENTER_FREQ band %d, frequency %d", + ALOGV("Equalizer_getParameter() EQ_PARAM_CENTER_FREQ band %d, frequency %d", param2, *(int32_t *)pValue); break; @@ -455,25 +474,25 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t break; } pEqualizer->getBandRange(param2, *(uint32_t *)pValue, *((uint32_t *)pValue + 1)); - LOGV("Equalizer_getParameter() EQ_PARAM_BAND_FREQ_RANGE band %d, min %d, max %d", + ALOGV("Equalizer_getParameter() EQ_PARAM_BAND_FREQ_RANGE band %d, min %d, max %d", param2, *(int32_t *)pValue, *((int32_t *)pValue + 1)); break; case EQ_PARAM_GET_BAND: param2 = *pParam; *(uint16_t *)pValue = (uint16_t)pEqualizer->getMostRelevantBand(param2); - LOGV("Equalizer_getParameter() EQ_PARAM_GET_BAND frequency %d, band %d", + ALOGV("Equalizer_getParameter() EQ_PARAM_GET_BAND frequency %d, band %d", param2, *(int32_t *)pValue); break; case EQ_PARAM_CUR_PRESET: *(uint16_t *)pValue = (uint16_t)pEqualizer->getPreset(); - LOGV("Equalizer_getParameter() EQ_PARAM_CUR_PRESET %d", *(int32_t *)pValue); + ALOGV("Equalizer_getParameter() EQ_PARAM_CUR_PRESET %d", *(int32_t *)pValue); break; case EQ_PARAM_GET_NUM_OF_PRESETS: *(uint16_t *)pValue = (uint16_t)pEqualizer->getNumPresets(); - LOGV("Equalizer_getParameter() EQ_PARAM_GET_NUM_OF_PRESETS %d", *(int16_t *)pValue); + ALOGV("Equalizer_getParameter() EQ_PARAM_GET_NUM_OF_PRESETS %d", *(int16_t *)pValue); break; case EQ_PARAM_GET_PRESET_NAME: @@ -486,13 +505,13 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t strncpy(name, pEqualizer->getPresetName(param2), *pValueSize - 1); name[*pValueSize - 1] = 0; *pValueSize = strlen(name) + 1; - LOGV("Equalizer_getParameter() EQ_PARAM_GET_PRESET_NAME preset %d, name %s len %d", + ALOGV("Equalizer_getParameter() EQ_PARAM_GET_PRESET_NAME preset %d, name %s len %d", param2, gEqualizerPresets[param2].name, *pValueSize); break; case EQ_PARAM_PROPERTIES: { int16_t *p = (int16_t *)pValue; - LOGV("Equalizer_getParameter() EQ_PARAM_PROPERTIES"); + ALOGV("Equalizer_getParameter() EQ_PARAM_PROPERTIES"); p[0] = (int16_t)pEqualizer->getPreset(); p[1] = (int16_t)kNumBands; for (int i = 0; i < kNumBands; i++) { @@ -501,7 +520,7 @@ int Equalizer_getParameter(AudioEqualizer * pEqualizer, int32_t *pParam, size_t } break; default: - LOGV("Equalizer_getParameter() invalid param %d", param); + ALOGV("Equalizer_getParameter() invalid param %d", param); status = -EINVAL; break; } @@ -541,7 +560,7 @@ int Equalizer_setParameter (AudioEqualizer * pEqualizer, int32_t *pParam, void * case EQ_PARAM_CUR_PRESET: preset = (int32_t)(*(uint16_t *)pValue); - LOGV("setParameter() EQ_PARAM_CUR_PRESET %d", preset); + ALOGV("setParameter() EQ_PARAM_CUR_PRESET %d", preset); if (preset < 0 || preset >= pEqualizer->getNumPresets()) { status = -EINVAL; break; @@ -552,7 +571,7 @@ int Equalizer_setParameter (AudioEqualizer * pEqualizer, int32_t *pParam, void * case EQ_PARAM_BAND_LEVEL: band = *pParam; level = (int32_t)(*(int16_t *)pValue); - LOGV("setParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", band, level); + ALOGV("setParameter() EQ_PARAM_BAND_LEVEL band %d, level %d", band, level); if (band >= kNumBands) { status = -EINVAL; break; @@ -561,7 +580,7 @@ int Equalizer_setParameter (AudioEqualizer * pEqualizer, int32_t *pParam, void * pEqualizer->commit(true); break; case EQ_PARAM_PROPERTIES: { - LOGV("setParameter() EQ_PARAM_PROPERTIES"); + ALOGV("setParameter() EQ_PARAM_PROPERTIES"); int16_t *p = (int16_t *)pValue; if ((int)p[0] >= pEqualizer->getNumPresets()) { status = -EINVAL; @@ -581,7 +600,7 @@ int Equalizer_setParameter (AudioEqualizer * pEqualizer, int32_t *pParam, void * pEqualizer->commit(true); } break; default: - LOGV("setParameter() invalid param %d", param); + ALOGV("setParameter() invalid param %d", param); status = -EINVAL; break; } @@ -634,7 +653,7 @@ extern "C" int Equalizer_command(effect_handle_t self, uint32_t cmdCode, uint32_ android::AudioEqualizer * pEqualizer = pContext->pEqualizer; - LOGV("Equalizer_command command %d cmdSize %d",cmdCode, cmdSize); + ALOGV("Equalizer_command command %d cmdSize %d",cmdCode, cmdSize); switch (cmdCode) { case EFFECT_CMD_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)) || @@ -666,14 +691,14 @@ extern "C" int Equalizer_command(effect_handle_t self, uint32_t cmdCode, uint32_ p->status = android::Equalizer_getParameter(pEqualizer, (int32_t *)p->data, &p->vsize, p->data + voffset); *replySize = sizeof(effect_param_t) + voffset + p->vsize; - LOGV("Equalizer_command EFFECT_CMD_GET_PARAM *pCmdData %d, *replySize %d, *pReplyData %08x %08x", + ALOGV("Equalizer_command EFFECT_CMD_GET_PARAM *pCmdData %d, *replySize %d, *pReplyData %08x %08x", *(int32_t *)((char *)pCmdData + sizeof(effect_param_t)), *replySize, *(int32_t *)((char *)pReplyData + sizeof(effect_param_t) + voffset), *(int32_t *)((char *)pReplyData + sizeof(effect_param_t) + voffset + sizeof(int32_t))); } break; case EFFECT_CMD_SET_PARAM: { - LOGV("Equalizer_command EFFECT_CMD_SET_PARAM cmdSize %d pCmdData %p, *replySize %d, pReplyData %p", + ALOGV("Equalizer_command EFFECT_CMD_SET_PARAM cmdSize %d pCmdData %p, *replySize %d, pReplyData %p", cmdSize, pCmdData, *replySize, pReplyData); if (pCmdData == NULL || cmdSize < (int)(sizeof(effect_param_t) + sizeof(int32_t)) || pReplyData == NULL || *replySize != sizeof(int32_t)) { @@ -691,7 +716,7 @@ extern "C" int Equalizer_command(effect_handle_t self, uint32_t cmdCode, uint32_ return -ENOSYS; } pContext->state = EQUALIZER_STATE_ACTIVE; - LOGV("EFFECT_CMD_ENABLE() OK"); + ALOGV("EFFECT_CMD_ENABLE() OK"); *(int *)pReplyData = 0; break; case EFFECT_CMD_DISABLE: @@ -702,7 +727,7 @@ extern "C" int Equalizer_command(effect_handle_t self, uint32_t cmdCode, uint32_ return -ENOSYS; } pContext->state = EQUALIZER_STATE_INITIALIZED; - LOGV("EFFECT_CMD_DISABLE() OK"); + ALOGV("EFFECT_CMD_DISABLE() OK"); *(int *)pReplyData = 0; break; case EFFECT_CMD_SET_DEVICE: @@ -723,7 +748,7 @@ extern "C" int Equalizer_getDescriptor(effect_handle_t self, android::EqualizerContext * pContext = (android::EqualizerContext *) self; if (pContext == NULL || pDescriptor == NULL) { - LOGV("Equalizer_getDescriptor() invalid param"); + ALOGV("Equalizer_getDescriptor() invalid param"); return -EINVAL; } diff --git a/media/libeffects/testlibs/EffectReverb.c b/media/libeffects/testlibs/EffectReverb.c index 405f908..419a41c 100644 --- a/media/libeffects/testlibs/EffectReverb.c +++ b/media/libeffects/testlibs/EffectReverb.c @@ -122,7 +122,7 @@ int EffectCreate(effect_uuid_t *uuid, int aux = 0; int preset = 0; - LOGV("EffectLibCreateEffect start"); + ALOGV("EffectLibCreateEffect start"); if (pHandle == NULL || uuid == NULL) { return -EINVAL; @@ -163,7 +163,7 @@ int EffectCreate(effect_uuid_t *uuid, module->context.mState = REVERB_STATE_INITIALIZED; - LOGV("EffectLibCreateEffect %p ,size %d", module, sizeof(reverb_module_t)); + ALOGV("EffectLibCreateEffect %p ,size %d", module, sizeof(reverb_module_t)); return 0; } @@ -171,7 +171,7 @@ int EffectCreate(effect_uuid_t *uuid, int EffectRelease(effect_handle_t handle) { reverb_module_t *pRvbModule = (reverb_module_t *)handle; - LOGV("EffectLibReleaseEffect %p", handle); + ALOGV("EffectLibReleaseEffect %p", handle); if (handle == NULL) { return -EINVAL; } @@ -188,14 +188,14 @@ int EffectGetDescriptor(effect_uuid_t *uuid, int length = sizeof(gDescriptors) / sizeof(const effect_descriptor_t *); if (pDescriptor == NULL || uuid == NULL){ - LOGV("EffectGetDescriptor() called with NULL pointer"); + ALOGV("EffectGetDescriptor() called with NULL pointer"); return -EINVAL; } for (i = 0; i < length; i++) { if (memcmp(uuid, &gDescriptors[i]->uuid, sizeof(effect_uuid_t)) == 0) { memcpy(pDescriptor, gDescriptors[i], sizeof(effect_descriptor_t)); - LOGV("EffectGetDescriptor - UUID matched Reverb type %d, UUID = %x", + ALOGV("EffectGetDescriptor - UUID matched Reverb type %d, UUID = %x", i, gDescriptors[i]->uuid.timeLow); return 0; } @@ -306,7 +306,7 @@ static int Reverb_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSi pReverb = (reverb_object_t*) &pRvbModule->context; - LOGV("Reverb_Command command %d cmdSize %d",cmdCode, cmdSize); + ALOGV("Reverb_Command command %d cmdSize %d",cmdCode, cmdSize); switch (cmdCode) { case EFFECT_CMD_INIT: @@ -318,19 +318,25 @@ 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; case EFFECT_CMD_GET_PARAM: - LOGV("Reverb_Command EFFECT_CMD_GET_PARAM pCmdData %p, *replySize %d, pReplyData: %p",pCmdData, *replySize, pReplyData); + ALOGV("Reverb_Command EFFECT_CMD_GET_PARAM pCmdData %p, *replySize %d, pReplyData: %p",pCmdData, *replySize, pReplyData); if (pCmdData == NULL || cmdSize < (int)(sizeof(effect_param_t) + sizeof(int32_t)) || pReplyData == NULL || *replySize < (int) sizeof(effect_param_t)) { @@ -338,13 +344,13 @@ static int Reverb_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSi } effect_param_t *rep = (effect_param_t *) pReplyData; memcpy(pReplyData, pCmdData, sizeof(effect_param_t) + sizeof(int32_t)); - LOGV("Reverb_Command EFFECT_CMD_GET_PARAM param %d, replySize %d",*(int32_t *)rep->data, rep->vsize); + ALOGV("Reverb_Command EFFECT_CMD_GET_PARAM param %d, replySize %d",*(int32_t *)rep->data, rep->vsize); rep->status = Reverb_getParameter(pReverb, *(int32_t *)rep->data, &rep->vsize, rep->data + sizeof(int32_t)); *replySize = sizeof(effect_param_t) + sizeof(int32_t) + rep->vsize; break; case EFFECT_CMD_SET_PARAM: - LOGV("Reverb_Command EFFECT_CMD_SET_PARAM cmdSize %d pCmdData %p, *replySize %d, pReplyData %p", + ALOGV("Reverb_Command EFFECT_CMD_SET_PARAM cmdSize %d pCmdData %p, *replySize %d, pReplyData %p", cmdSize, pCmdData, *replySize, pReplyData); if (pCmdData == NULL || (cmdSize < (int)(sizeof(effect_param_t) + sizeof(int32_t))) || pReplyData == NULL || *replySize != (int)sizeof(int32_t)) { @@ -362,7 +368,7 @@ static int Reverb_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSi return -ENOSYS; } pReverb->mState = REVERB_STATE_ACTIVE; - LOGV("EFFECT_CMD_ENABLE() OK"); + ALOGV("EFFECT_CMD_ENABLE() OK"); *(int *)pReplyData = 0; break; case EFFECT_CMD_DISABLE: @@ -373,14 +379,14 @@ static int Reverb_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSi return -ENOSYS; } pReverb->mState = REVERB_STATE_INITIALIZED; - LOGV("EFFECT_CMD_DISABLE() OK"); + ALOGV("EFFECT_CMD_DISABLE() OK"); *(int *)pReplyData = 0; break; case EFFECT_CMD_SET_DEVICE: if (pCmdData == NULL || cmdSize != (int)sizeof(uint32_t)) { return -EINVAL; } - LOGV("Reverb_Command EFFECT_CMD_SET_DEVICE: 0x%08x", *(uint32_t *)pCmdData); + ALOGV("Reverb_Command EFFECT_CMD_SET_DEVICE: 0x%08x", *(uint32_t *)pCmdData); break; case EFFECT_CMD_SET_VOLUME: { // audio output is always stereo => 2 channel volumes @@ -389,14 +395,14 @@ static int Reverb_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdSi } float left = (float)(*(uint32_t *)pCmdData) / (1 << 24); float right = (float)(*((uint32_t *)pCmdData + 1)) / (1 << 24); - LOGV("Reverb_Command EFFECT_CMD_SET_VOLUME: left %f, right %f ", left, right); + ALOGV("Reverb_Command EFFECT_CMD_SET_VOLUME: left %f, right %f ", left, right); break; } case EFFECT_CMD_SET_AUDIO_MODE: if (pCmdData == NULL || cmdSize != (int)sizeof(uint32_t)) { return -EINVAL; } - LOGV("Reverb_Command EFFECT_CMD_SET_AUDIO_MODE: %d", *(uint32_t *)pCmdData); + ALOGV("Reverb_Command EFFECT_CMD_SET_AUDIO_MODE: %d", *(uint32_t *)pCmdData); break; default: LOGW("Reverb_Command invalid command %d",cmdCode); @@ -464,7 +470,7 @@ int Reverb_GetDescriptor(effect_handle_t self, int Reverb_Init(reverb_module_t *pRvbModule, int aux, int preset) { int ret; - LOGV("Reverb_Init module %p, aux: %d, preset: %d", pRvbModule,aux, preset); + ALOGV("Reverb_Init module %p, aux: %d, preset: %d", pRvbModule,aux, preset); memset(&pRvbModule->context, 0, sizeof(reverb_object_t)); @@ -492,16 +498,16 @@ 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) { - LOGV("Reverb_Init error %d on module %p", ret, pRvbModule); + ALOGV("Reverb_Init error %d on module %p", ret, pRvbModule); } return ret; } /*---------------------------------------------------------------------------- - * 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) { - LOGV("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))) { - LOGV("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: - LOGV("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: @@ -761,7 +789,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, } else { *pValue16 = (int16_t)(pReverb->m_nNextRoom + 1); } - LOGV("get REVERB_PARAM_PRESET, preset %d", *pValue16); + ALOGV("get REVERB_PARAM_PRESET, preset %d", *pValue16); } else { switch (param) { case REVERB_PARAM_ROOM_LEVEL: @@ -812,7 +840,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, / (32767 - pReverb->m_nRoomLpfFbk); *pValue16 = Effects_Linear16ToMillibels(temp); - LOGV("get REVERB_PARAM_ROOM_LEVEL %d, gain %d, m_nRoomLpfFwd %d, m_nRoomLpfFbk %d", *pValue16, temp, pReverb->m_nRoomLpfFwd, pReverb->m_nRoomLpfFbk); + ALOGV("get REVERB_PARAM_ROOM_LEVEL %d, gain %d, m_nRoomLpfFwd %d, m_nRoomLpfFbk %d", *pValue16, temp, pReverb->m_nRoomLpfFwd, pReverb->m_nRoomLpfFbk); if (param == REVERB_PARAM_ROOM_LEVEL) { break; @@ -827,24 +855,24 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, // - C is cos(2piWT) @ 5000Hz: pReverb->m_nCosWT_5KHz temp = MULT_EG1_EG1(pReverb->m_nRoomLpfFbk, pReverb->m_nRoomLpfFbk); - LOGV("get REVERB_PARAM_ROOM_HF_LEVEL, a1^2 %d", temp); + ALOGV("get REVERB_PARAM_ROOM_HF_LEVEL, a1^2 %d", temp); temp2 = MULT_EG1_EG1(pReverb->m_nRoomLpfFbk, pReverb->m_nCosWT_5KHz) << 1; - LOGV("get REVERB_PARAM_ROOM_HF_LEVEL, 2 Cos a1 %d", temp2); + ALOGV("get REVERB_PARAM_ROOM_HF_LEVEL, 2 Cos a1 %d", temp2); temp = 32767 + temp - temp2; - LOGV("get REVERB_PARAM_ROOM_HF_LEVEL, a1^2 + 2 Cos a1 + 1 %d", temp); + ALOGV("get REVERB_PARAM_ROOM_HF_LEVEL, a1^2 + 2 Cos a1 + 1 %d", temp); temp = Effects_Sqrt(temp) * 181; - LOGV("get REVERB_PARAM_ROOM_HF_LEVEL, SQRT(a1^2 + 2 Cos a1 + 1) %d", temp); + ALOGV("get REVERB_PARAM_ROOM_HF_LEVEL, SQRT(a1^2 + 2 Cos a1 + 1) %d", temp); temp = ((32767 - pReverb->m_nRoomLpfFbk) << 15) / temp; - LOGV("get REVERB_PARAM_ROOM_HF_LEVEL, gain %d, m_nRoomLpfFwd %d, m_nRoomLpfFbk %d", temp, pReverb->m_nRoomLpfFwd, pReverb->m_nRoomLpfFbk); + ALOGV("get REVERB_PARAM_ROOM_HF_LEVEL, gain %d, m_nRoomLpfFwd %d, m_nRoomLpfFbk %d", temp, pReverb->m_nRoomLpfFwd, pReverb->m_nRoomLpfFbk); *pValue16 = Effects_Linear16ToMillibels(temp); if (param == REVERB_PARAM_ROOM_HF_LEVEL) { break; } - pValue32 = &pProperties->decayTime; + pValue32 = (int32_t *)&pProperties->decayTime; /* FALL THROUGH */ case REVERB_PARAM_DECAY_TIME: @@ -858,7 +886,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, // Convert samples to ms *pValue32 = (temp * 1000) / pReverb->m_nSamplingRate; - LOGV("get REVERB_PARAM_DECAY_TIME, samples %d, ms %d", temp, *pValue32); + ALOGV("get REVERB_PARAM_DECAY_TIME, samples %d, ms %d", temp, *pValue32); if (param == REVERB_PARAM_DECAY_TIME) { break; @@ -877,7 +905,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, // - C is cos(2piWT) @ 5000Hz: pReverb->m_nCosWT_5KHz if (pReverb->m_nRvbLpfFbk == 0) { *pValue16 = 1000; - LOGV("get REVERB_PARAM_DECAY_HF_RATIO, pReverb->m_nRvbLpfFbk == 0, ratio %d", *pValue16); + ALOGV("get REVERB_PARAM_DECAY_HF_RATIO, pReverb->m_nRvbLpfFbk == 0, ratio %d", *pValue16); } else { temp = MULT_EG1_EG1(pReverb->m_nRvbLpfFbk, pReverb->m_nRvbLpfFbk); temp2 = MULT_EG1_EG1(pReverb->m_nRvbLpfFbk, pReverb->m_nCosWT_5KHz) @@ -891,7 +919,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, temp = Effects_Linear16ToMillibels(temp); temp2 = Effects_Linear16ToMillibels(temp2); - LOGV("get REVERB_PARAM_DECAY_HF_RATIO, gain 5KHz %d mB, gain DC %d mB", temp, temp2); + ALOGV("get REVERB_PARAM_DECAY_HF_RATIO, gain 5KHz %d mB, gain DC %d mB", temp, temp2); if (temp == 0) temp = 1; @@ -900,7 +928,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, temp = 1000; *pValue16 = temp; - LOGV("get REVERB_PARAM_DECAY_HF_RATIO, ratio %d", *pValue16); + ALOGV("get REVERB_PARAM_DECAY_HF_RATIO, ratio %d", *pValue16); } if (param == REVERB_PARAM_DECAY_HF_RATIO) { @@ -912,18 +940,18 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, case REVERB_PARAM_REFLECTIONS_LEVEL: *pValue16 = Effects_Linear16ToMillibels(pReverb->m_nEarlyGain); - LOGV("get REVERB_PARAM_REFLECTIONS_LEVEL, %d", *pValue16); + ALOGV("get REVERB_PARAM_REFLECTIONS_LEVEL, %d", *pValue16); if (param == REVERB_PARAM_REFLECTIONS_LEVEL) { break; } - pValue32 = &pProperties->reflectionsDelay; + pValue32 = (int32_t *)&pProperties->reflectionsDelay; /* FALL THROUGH */ case REVERB_PARAM_REFLECTIONS_DELAY: // convert samples to ms *pValue32 = (pReverb->m_nEarlyDelay * 1000) / pReverb->m_nSamplingRate; - LOGV("get REVERB_PARAM_REFLECTIONS_DELAY, samples %d, ms %d", pReverb->m_nEarlyDelay, *pValue32); + ALOGV("get REVERB_PARAM_REFLECTIONS_DELAY, samples %d, ms %d", pReverb->m_nEarlyDelay, *pValue32); if (param == REVERB_PARAM_REFLECTIONS_DELAY) { break; @@ -935,19 +963,19 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, // Convert linear gain to millibels *pValue16 = Effects_Linear16ToMillibels(pReverb->m_nLateGain << 2); - LOGV("get REVERB_PARAM_REVERB_LEVEL %d", *pValue16); + ALOGV("get REVERB_PARAM_REVERB_LEVEL %d", *pValue16); if (param == REVERB_PARAM_REVERB_LEVEL) { break; } - pValue32 = &pProperties->reverbDelay; + pValue32 = (int32_t *)&pProperties->reverbDelay; /* FALL THROUGH */ case REVERB_PARAM_REVERB_DELAY: // convert samples to ms *pValue32 = (pReverb->m_nLateDelay * 1000) / pReverb->m_nSamplingRate; - LOGV("get REVERB_PARAM_REVERB_DELAY, samples %d, ms %d", pReverb->m_nLateDelay, *pValue32); + ALOGV("get REVERB_PARAM_REVERB_DELAY, samples %d, ms %d", pReverb->m_nLateDelay, *pValue32); if (param == REVERB_PARAM_REVERB_DELAY) { break; @@ -965,7 +993,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, temp = 1000; *pValue16 = temp; - LOGV("get REVERB_PARAM_DIFFUSION, %d, AP0 gain %d", *pValue16, pReverb->m_sAp0.m_nApGain); + ALOGV("get REVERB_PARAM_DIFFUSION, %d, AP0 gain %d", *pValue16, pReverb->m_sAp0.m_nApGain); if (param == REVERB_PARAM_DIFFUSION) { break; @@ -987,7 +1015,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, *pValue16 = temp; - LOGV("get REVERB_PARAM_DENSITY, %d, AP0 delay smps %d", *pValue16, pReverb->m_sAp0.m_zApOut - pReverb->m_sAp0.m_zApIn); + ALOGV("get REVERB_PARAM_DENSITY, %d, AP0 delay smps %d", *pValue16, pReverb->m_sAp0.m_zApOut - pReverb->m_sAp0.m_zApIn); break; default: @@ -997,7 +1025,7 @@ int Reverb_getParameter(reverb_object_t *pReverb, int32_t param, size_t *pSize, *pSize = size; - LOGV("Reverb_getParameter, context %p, param %d, value %d", + ALOGV("Reverb_getParameter, context %p, param %d, value %d", pReverb, param, *(int *)pValue); return 0; @@ -1035,7 +1063,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, int32_t averageDelay; size_t paramSize; - LOGV("Reverb_setParameter, context %p, param %d, value16 %d, value32 %d", + ALOGV("Reverb_setParameter, context %p, param %d, value16 %d, value32 %d", pReverb, param, *(int16_t *)pValue, *(int32_t *)pValue); if (pReverb->m_Preset) { @@ -1043,7 +1071,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, return -EINVAL; } value16 = *(int16_t *)pValue; - LOGV("set REVERB_PARAM_PRESET, preset %d", value16); + ALOGV("set REVERB_PARAM_PRESET, preset %d", value16); if (value16 < REVERB_PRESET_NONE || value16 > REVERB_PRESET_PLATE) { return -EINVAL; } @@ -1114,7 +1142,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, pReverb->m_nRoomLpfFwd = MULT_EG1_EG1(temp, (32767 - pReverb->m_nRoomLpfFbk)); - LOGV("REVERB_PARAM_ROOM_LEVEL, gain %d, new m_nRoomLpfFwd %d, m_nRoomLpfFbk %d", temp, pReverb->m_nRoomLpfFwd, pReverb->m_nRoomLpfFbk); + ALOGV("REVERB_PARAM_ROOM_LEVEL, gain %d, new m_nRoomLpfFwd %d, m_nRoomLpfFbk %d", temp, pReverb->m_nRoomLpfFwd, pReverb->m_nRoomLpfFbk); if (param == REVERB_PARAM_ROOM_LEVEL) break; value16 = pProperties->roomHFLevel; @@ -1142,11 +1170,11 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, // dG^2 temp = Effects_MillibelsToLinear16(value16); - LOGV("REVERB_PARAM_ROOM_HF_LEVEL, HF gain %d", temp); + ALOGV("REVERB_PARAM_ROOM_HF_LEVEL, HF gain %d", temp); temp = (1 << 30) / temp; - LOGV("REVERB_PARAM_ROOM_HF_LEVEL, 1/ HF gain %d", temp); + ALOGV("REVERB_PARAM_ROOM_HF_LEVEL, 1/ HF gain %d", temp); dG2 = (int32_t) (((int64_t) temp * (int64_t) temp) >> 15); - LOGV("REVERB_PARAM_ROOM_HF_LEVEL, 1/ HF gain ^ 2 %d", dG2); + ALOGV("REVERB_PARAM_ROOM_HF_LEVEL, 1/ HF gain ^ 2 %d", dG2); // b = 2*(C-dG^2)/(1-dG^2) b = (int32_t) ((((int64_t) 1 << (15 + 1)) * ((int64_t) pReverb->m_nCosWT_5KHz - (int64_t) dG2)) @@ -1156,18 +1184,18 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, delta = (int32_t) ((((int64_t) b * (int64_t) b) >> 15) - (1 << (15 + 2))); - LOGV_IF(delta > (1<<30), " delta overflow %d", delta); + ALOGV_IF(delta > (1<<30), " delta overflow %d", delta); - LOGV("REVERB_PARAM_ROOM_HF_LEVEL, dG2 %d, b %d, delta %d, m_nCosWT_5KHz %d", dG2, b, delta, pReverb->m_nCosWT_5KHz); + ALOGV("REVERB_PARAM_ROOM_HF_LEVEL, dG2 %d, b %d, delta %d, m_nCosWT_5KHz %d", dG2, b, delta, pReverb->m_nCosWT_5KHz); // m_nRoomLpfFbk = -a1 = - (- b + sqrt(delta)) / 2 pReverb->m_nRoomLpfFbk = (b - Effects_Sqrt(delta) * 181) >> 1; } - LOGV("REVERB_PARAM_ROOM_HF_LEVEL, olg DC gain %d new m_nRoomLpfFbk %d, old m_nRoomLpfFwd %d", + ALOGV("REVERB_PARAM_ROOM_HF_LEVEL, olg DC gain %d new m_nRoomLpfFbk %d, old m_nRoomLpfFwd %d", temp2, pReverb->m_nRoomLpfFbk, pReverb->m_nRoomLpfFwd); pReverb->m_nRoomLpfFwd = MULT_EG1_EG1(temp2, (32767 - pReverb->m_nRoomLpfFbk)); - LOGV("REVERB_PARAM_ROOM_HF_LEVEL, new m_nRoomLpfFwd %d", pReverb->m_nRoomLpfFwd); + ALOGV("REVERB_PARAM_ROOM_HF_LEVEL, new m_nRoomLpfFwd %d", pReverb->m_nRoomLpfFwd); if (param == REVERB_PARAM_ROOM_HF_LEVEL) break; @@ -1189,7 +1217,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, + (pReverb->m_sAp1.m_zApOut - pReverb->m_sAp1.m_zApIn)) >> 1; temp = (-6000 * averageDelay) / value32; - LOGV("REVERB_PARAM_DECAY_TIME, delay smps %d, DT smps %d, gain mB %d",averageDelay, value32, temp); + ALOGV("REVERB_PARAM_DECAY_TIME, delay smps %d, DT smps %d, gain mB %d",averageDelay, value32, temp); if (temp < -4000 || temp > -100) return -EINVAL; @@ -1202,7 +1230,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, pReverb->m_nRvbLpfFwd = MULT_EG1_EG1(temp, (32767 - pReverb->m_nRvbLpfFbk)); - LOGV("REVERB_PARAM_DECAY_TIME, gain %d, new m_nRvbLpfFwd %d, old m_nRvbLpfFbk %d, reverb gain %d", temp, pReverb->m_nRvbLpfFwd, pReverb->m_nRvbLpfFbk, Effects_Linear16ToMillibels(pReverb->m_nLateGain)); + ALOGV("REVERB_PARAM_DECAY_TIME, gain %d, new m_nRvbLpfFwd %d, old m_nRvbLpfFbk %d, reverb gain %d", temp, pReverb->m_nRvbLpfFwd, pReverb->m_nRvbLpfFbk, Effects_Linear16ToMillibels(pReverb->m_nLateGain)); if (param == REVERB_PARAM_DECAY_TIME) break; @@ -1229,17 +1257,17 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, // G_5000Hz = G_DC * (1000/REVERB_PARAM_DECAY_HF_RATIO) in millibels value32 = ((int32_t) 1000 << 15) / (int32_t) value16; - LOGV("REVERB_PARAM_DECAY_HF_RATIO, DC gain %d, DC gain mB %d, 1000/R %d", temp2, temp, value32); + ALOGV("REVERB_PARAM_DECAY_HF_RATIO, DC gain %d, DC gain mB %d, 1000/R %d", temp2, temp, value32); temp = (int32_t) (((int64_t) temp * (int64_t) value32) >> 15); if (temp < -4000) { - LOGV("REVERB_PARAM_DECAY_HF_RATIO HF gain overflow %d mB", temp); + ALOGV("REVERB_PARAM_DECAY_HF_RATIO HF gain overflow %d mB", temp); temp = -4000; } temp = Effects_MillibelsToLinear16(temp); - LOGV("REVERB_PARAM_DECAY_HF_RATIO, HF gain %d", temp); + ALOGV("REVERB_PARAM_DECAY_HF_RATIO, HF gain %d", temp); // dG^2 temp = (temp2 << 15) / temp; dG2 = (int32_t) (((int64_t) temp * (int64_t) temp) >> 15); @@ -1256,11 +1284,11 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, // m_nRoomLpfFbk = -a1 = - (- b + sqrt(delta)) / 2 pReverb->m_nRvbLpfFbk = (b - Effects_Sqrt(delta) * 181) >> 1; - LOGV("REVERB_PARAM_DECAY_HF_RATIO, dG2 %d, b %d, delta %d", dG2, b, delta); + ALOGV("REVERB_PARAM_DECAY_HF_RATIO, dG2 %d, b %d, delta %d", dG2, b, delta); } - LOGV("REVERB_PARAM_DECAY_HF_RATIO, gain %d, m_nRvbLpfFbk %d, m_nRvbLpfFwd %d", temp2, pReverb->m_nRvbLpfFbk, pReverb->m_nRvbLpfFwd); + ALOGV("REVERB_PARAM_DECAY_HF_RATIO, gain %d, m_nRvbLpfFbk %d, m_nRvbLpfFwd %d", temp2, pReverb->m_nRvbLpfFbk, pReverb->m_nRvbLpfFwd); pReverb->m_nRvbLpfFwd = MULT_EG1_EG1(temp2, (32767 - pReverb->m_nRvbLpfFbk)); @@ -1284,7 +1312,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, = MULT_EG1_EG1(pPreset->m_sEarlyR.m_nGain[i],value16); } pReverb->m_nEarlyGain = value16; - LOGV("REVERB_PARAM_REFLECTIONS_LEVEL, m_nEarlyGain %d", pReverb->m_nEarlyGain); + ALOGV("REVERB_PARAM_REFLECTIONS_LEVEL, m_nEarlyGain %d", pReverb->m_nEarlyGain); if (param == REVERB_PARAM_REFLECTIONS_LEVEL) break; @@ -1315,7 +1343,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, } pReverb->m_nEarlyDelay = temp; - LOGV("REVERB_PARAM_REFLECTIONS_DELAY, m_nEarlyDelay smps %d max smp delay %d", pReverb->m_nEarlyDelay, maxSamples); + ALOGV("REVERB_PARAM_REFLECTIONS_DELAY, m_nEarlyDelay smps %d max smp delay %d", pReverb->m_nEarlyDelay, maxSamples); // Convert milliseconds to sample count => m_nEarlyDelay if (param == REVERB_PARAM_REFLECTIONS_DELAY) @@ -1330,7 +1358,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, // Convert millibels to linear 16 bits (gange 0 - 8191) => m_nLateGain. pReverb->m_nLateGain = Effects_MillibelsToLinear16(value16) >> 2; - LOGV("REVERB_PARAM_REVERB_LEVEL, m_nLateGain %d", pReverb->m_nLateGain); + ALOGV("REVERB_PARAM_REVERB_LEVEL, m_nLateGain %d", pReverb->m_nLateGain); if (param == REVERB_PARAM_REVERB_LEVEL) break; @@ -1359,7 +1387,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, pReverb->m_nDelay1Out += temp; pReverb->m_nLateDelay += temp; - LOGV("REVERB_PARAM_REVERB_DELAY, m_nLateDelay smps %d max smp delay %d", pReverb->m_nLateDelay, maxSamples); + ALOGV("REVERB_PARAM_REVERB_DELAY, m_nLateDelay smps %d max smp delay %d", pReverb->m_nLateDelay, maxSamples); // Convert milliseconds to sample count => m_nDelay1Out + m_nMaxExcursion if (param == REVERB_PARAM_REVERB_DELAY) @@ -1378,7 +1406,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, pReverb->m_sAp1.m_nApGain = AP1_GAIN_BASE + ((int32_t) value16 * AP1_GAIN_RANGE) / 1000; - LOGV("REVERB_PARAM_DIFFUSION, m_sAp0.m_nApGain %d m_sAp1.m_nApGain %d", pReverb->m_sAp0.m_nApGain, pReverb->m_sAp1.m_nApGain); + ALOGV("REVERB_PARAM_DIFFUSION, m_sAp0.m_nApGain %d m_sAp1.m_nApGain %d", pReverb->m_sAp0.m_nApGain, pReverb->m_sAp1.m_nApGain); if (param == REVERB_PARAM_DIFFUSION) break; @@ -1400,7 +1428,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, temp = maxSamples; pReverb->m_sAp0.m_zApOut = (uint16_t) (pReverb->m_sAp0.m_zApIn + temp); - LOGV("REVERB_PARAM_DENSITY, Ap0 delay smps %d", temp); + ALOGV("REVERB_PARAM_DENSITY, Ap0 delay smps %d", temp); temp = AP1_TIME_BASE + ((int32_t) value16 * AP1_TIME_RANGE) / 1000; /*lint -e{702} shift for performance */ @@ -1409,7 +1437,7 @@ int Reverb_setParameter(reverb_object_t *pReverb, int32_t param, size_t size, temp = maxSamples; pReverb->m_sAp1.m_zApOut = (uint16_t) (pReverb->m_sAp1.m_zApIn + temp); - LOGV("Ap1 delay smps %d", temp); + ALOGV("Ap1 delay smps %d", temp); break; 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); |