static SLresult IPresetReverb_SetPreset(SLPresetReverbItf self, SLuint16 preset) { SL_ENTER_INTERFACE IPresetReverb *this = (IPresetReverb *) self; switch (preset) { case SL_REVERBPRESET_NONE: case SL_REVERBPRESET_SMALLROOM: case SL_REVERBPRESET_MEDIUMROOM: case SL_REVERBPRESET_LARGEROOM: case SL_REVERBPRESET_MEDIUMHALL: case SL_REVERBPRESET_LARGEHALL: case SL_REVERBPRESET_PLATE: interface_lock_poke(this); this->mPreset = preset; #if !defined(ANDROID) || defined(USE_BACKPORT) result = SL_RESULT_SUCCESS; #else if (NO_PRESETREVERB(this)) { result = SL_RESULT_CONTROL_LOST; } else { android::status_t status = android_prev_setPreset(this->mPresetReverbEffect, preset); result = android_fx_statusToResult(status); } #endif interface_unlock_poke(this); break; default: result = SL_RESULT_PARAMETER_INVALID; break; } SL_LEAVE_INTERFACE }
//----------------------------------------------------------------------------- SLresult android_genericFx_setEnabled(IAndroidEffect* iae, SLInterfaceID pUuid, SLboolean enabled) { ssize_t index = iae->mEffects->indexOfKey(KEY_FROM_GUID(pUuid)); if (0 > index) { return SL_RESULT_PARAMETER_INVALID; } else { android::sp<android::AudioEffect> pFx = iae->mEffects->valueAt(index); android::status_t status = pFx->setEnabled(SL_BOOLEAN_TRUE == enabled); return android_fx_statusToResult(status); } }
SLresult IAndroidAutomaticGainControl_SetEnabled(SLAndroidAutomaticGainControlItf self, SLboolean enabled) { SL_ENTER_INTERFACE IAndroidAutomaticGainControl *thiz = (IAndroidAutomaticGainControl *) self; interface_lock_exclusive(thiz); thiz->mEnabled = (SLboolean) enabled; if (NO_AUTOGAIN(thiz)) { result = SL_RESULT_CONTROL_LOST; } else { android::status_t status = thiz->mAGCEffect->setEnabled((bool) thiz->mEnabled); result = android_fx_statusToResult(status); } interface_unlock_exclusive(thiz); SL_LEAVE_INTERFACE }
static SLresult IAndroidAcousticEchoCancellation_SetEnabled(SLAndroidAcousticEchoCancellationItf self, SLboolean enabled) { SL_ENTER_INTERFACE IAndroidAcousticEchoCancellation *thiz = (IAndroidAcousticEchoCancellation *) self; interface_lock_exclusive(thiz); thiz->mEnabled = (SLboolean) enabled; if (NO_ECHOCANCEL(thiz)) { result = SL_RESULT_CONTROL_LOST; } else { android::status_t status = thiz->mAECEffect->setEnabled((bool) thiz->mEnabled); result = android_fx_statusToResult(status); } interface_unlock_exclusive(thiz); SL_LEAVE_INTERFACE }
static SLresult IBassBoost_SetEnabled(SLBassBoostItf self, SLboolean enabled) { SL_ENTER_INTERFACE IBassBoost *thiz = (IBassBoost *) self; interface_lock_exclusive(thiz); thiz->mEnabled = (SLboolean) enabled; #if !defined(ANDROID) result = SL_RESULT_SUCCESS; #else if (NO_BASSBOOST(thiz)) { result = SL_RESULT_CONTROL_LOST; } else { android::status_t status = thiz->mBassBoostEffect->setEnabled((bool) thiz->mEnabled); result = android_fx_statusToResult(status); } #endif interface_unlock_exclusive(thiz); SL_LEAVE_INTERFACE }