Loading services/audiopolicy/AudioPolicyEffects.cpp +41 −36 Original line number Original line Diff line number Diff line Loading @@ -105,11 +105,12 @@ status_t AudioPolicyEffects::addInputEffects(audio_io_handle_t input, inputDesc->mRefCount++; inputDesc->mRefCount++; ALOGV("addInputEffects(): input: %d, refCount: %d", input, inputDesc->mRefCount); ALOGV("addInputEffects(): input: %d, refCount: %d", input, inputDesc->mRefCount); if (inputDesc->mRefCount == 1) { Vector <EffectDesc *> effects = mInputSources.valueAt(index)->mEffects; Vector <EffectDesc *> effects = mInputSources.valueAt(index)->mEffects; for (size_t i = 0; i < effects.size(); i++) { for (size_t i = 0; i < effects.size(); i++) { EffectDesc *effect = effects[i]; EffectDesc *effect = effects[i]; sp<AudioEffect> fx = new AudioEffect(NULL, &effect->mUuid, -1, 0, 0, audioSession, input); sp<AudioEffect> fx = new AudioEffect(NULL, &effect->mUuid, -1, 0, 0, audioSession, input); status_t status = fx->initCheck(); status_t status = fx->initCheck(); if (status != NO_ERROR && status != ALREADY_EXISTS) { if (status != NO_ERROR && status != ALREADY_EXISTS) { ALOGW("addInputEffects(): failed to create Fx %s on source %d", ALOGW("addInputEffects(): failed to create Fx %s on source %d", Loading @@ -120,11 +121,12 @@ status_t AudioPolicyEffects::addInputEffects(audio_io_handle_t input, for (size_t j = 0; j < effect->mParams.size(); j++) { for (size_t j = 0; j < effect->mParams.size(); j++) { fx->setParameter(effect->mParams[j]); fx->setParameter(effect->mParams[j]); } } ALOGV("addInputEffects(): added Fx %s on source: %d", effect->mName, (int32_t)aliasSource); ALOGV("addInputEffects(): added Fx %s on source: %d", effect->mName, (int32_t)aliasSource); inputDesc->mEffects.add(fx); inputDesc->mEffects.add(fx); } } inputDesc->setProcessorEnabled(true); inputDesc->setProcessorEnabled(true); } return status; return status; } } Loading Loading @@ -241,12 +243,14 @@ status_t AudioPolicyEffects::addOutputSessionEffects(audio_io_handle_t output, } } procDesc->mRefCount++; procDesc->mRefCount++; ALOGV("addOutputSessionEffects(): session: %d, refCount: %d", audioSession, procDesc->mRefCount); ALOGV("addOutputSessionEffects(): session: %d, refCount: %d", audioSession, procDesc->mRefCount); if (procDesc->mRefCount == 1) { Vector <EffectDesc *> effects = mOutputStreams.valueAt(index)->mEffects; Vector <EffectDesc *> effects = mOutputStreams.valueAt(index)->mEffects; for (size_t i = 0; i < effects.size(); i++) { for (size_t i = 0; i < effects.size(); i++) { EffectDesc *effect = effects[i]; EffectDesc *effect = effects[i]; sp<AudioEffect> fx = new AudioEffect(NULL, &effect->mUuid, 0, 0, 0, audioSession, output); sp<AudioEffect> fx = new AudioEffect(NULL, &effect->mUuid, 0, 0, 0, audioSession, output); status_t status = fx->initCheck(); status_t status = fx->initCheck(); if (status != NO_ERROR && status != ALREADY_EXISTS) { if (status != NO_ERROR && status != ALREADY_EXISTS) { ALOGE("addOutputSessionEffects(): failed to create Fx %s on session %d", ALOGE("addOutputSessionEffects(): failed to create Fx %s on session %d", Loading @@ -260,7 +264,7 @@ status_t AudioPolicyEffects::addOutputSessionEffects(audio_io_handle_t output, } } procDesc->setProcessorEnabled(true); procDesc->setProcessorEnabled(true); } return status; return status; } } Loading @@ -281,7 +285,8 @@ status_t AudioPolicyEffects::releaseOutputSessionEffects(audio_io_handle_t outpu EffectVector *procDesc = mOutputSessions.valueAt(index); EffectVector *procDesc = mOutputSessions.valueAt(index); procDesc->mRefCount--; procDesc->mRefCount--; ALOGV("releaseOutputSessionEffects(): session: %d, refCount: %d", audioSession, procDesc->mRefCount); ALOGV("releaseOutputSessionEffects(): session: %d, refCount: %d", audioSession, procDesc->mRefCount); if (procDesc->mRefCount == 0) { if (procDesc->mRefCount == 0) { procDesc->setProcessorEnabled(false); procDesc->setProcessorEnabled(false); procDesc->mEffects.clear(); procDesc->mEffects.clear(); Loading Loading
services/audiopolicy/AudioPolicyEffects.cpp +41 −36 Original line number Original line Diff line number Diff line Loading @@ -105,11 +105,12 @@ status_t AudioPolicyEffects::addInputEffects(audio_io_handle_t input, inputDesc->mRefCount++; inputDesc->mRefCount++; ALOGV("addInputEffects(): input: %d, refCount: %d", input, inputDesc->mRefCount); ALOGV("addInputEffects(): input: %d, refCount: %d", input, inputDesc->mRefCount); if (inputDesc->mRefCount == 1) { Vector <EffectDesc *> effects = mInputSources.valueAt(index)->mEffects; Vector <EffectDesc *> effects = mInputSources.valueAt(index)->mEffects; for (size_t i = 0; i < effects.size(); i++) { for (size_t i = 0; i < effects.size(); i++) { EffectDesc *effect = effects[i]; EffectDesc *effect = effects[i]; sp<AudioEffect> fx = new AudioEffect(NULL, &effect->mUuid, -1, 0, 0, audioSession, input); sp<AudioEffect> fx = new AudioEffect(NULL, &effect->mUuid, -1, 0, 0, audioSession, input); status_t status = fx->initCheck(); status_t status = fx->initCheck(); if (status != NO_ERROR && status != ALREADY_EXISTS) { if (status != NO_ERROR && status != ALREADY_EXISTS) { ALOGW("addInputEffects(): failed to create Fx %s on source %d", ALOGW("addInputEffects(): failed to create Fx %s on source %d", Loading @@ -120,11 +121,12 @@ status_t AudioPolicyEffects::addInputEffects(audio_io_handle_t input, for (size_t j = 0; j < effect->mParams.size(); j++) { for (size_t j = 0; j < effect->mParams.size(); j++) { fx->setParameter(effect->mParams[j]); fx->setParameter(effect->mParams[j]); } } ALOGV("addInputEffects(): added Fx %s on source: %d", effect->mName, (int32_t)aliasSource); ALOGV("addInputEffects(): added Fx %s on source: %d", effect->mName, (int32_t)aliasSource); inputDesc->mEffects.add(fx); inputDesc->mEffects.add(fx); } } inputDesc->setProcessorEnabled(true); inputDesc->setProcessorEnabled(true); } return status; return status; } } Loading Loading @@ -241,12 +243,14 @@ status_t AudioPolicyEffects::addOutputSessionEffects(audio_io_handle_t output, } } procDesc->mRefCount++; procDesc->mRefCount++; ALOGV("addOutputSessionEffects(): session: %d, refCount: %d", audioSession, procDesc->mRefCount); ALOGV("addOutputSessionEffects(): session: %d, refCount: %d", audioSession, procDesc->mRefCount); if (procDesc->mRefCount == 1) { Vector <EffectDesc *> effects = mOutputStreams.valueAt(index)->mEffects; Vector <EffectDesc *> effects = mOutputStreams.valueAt(index)->mEffects; for (size_t i = 0; i < effects.size(); i++) { for (size_t i = 0; i < effects.size(); i++) { EffectDesc *effect = effects[i]; EffectDesc *effect = effects[i]; sp<AudioEffect> fx = new AudioEffect(NULL, &effect->mUuid, 0, 0, 0, audioSession, output); sp<AudioEffect> fx = new AudioEffect(NULL, &effect->mUuid, 0, 0, 0, audioSession, output); status_t status = fx->initCheck(); status_t status = fx->initCheck(); if (status != NO_ERROR && status != ALREADY_EXISTS) { if (status != NO_ERROR && status != ALREADY_EXISTS) { ALOGE("addOutputSessionEffects(): failed to create Fx %s on session %d", ALOGE("addOutputSessionEffects(): failed to create Fx %s on session %d", Loading @@ -260,7 +264,7 @@ status_t AudioPolicyEffects::addOutputSessionEffects(audio_io_handle_t output, } } procDesc->setProcessorEnabled(true); procDesc->setProcessorEnabled(true); } return status; return status; } } Loading @@ -281,7 +285,8 @@ status_t AudioPolicyEffects::releaseOutputSessionEffects(audio_io_handle_t outpu EffectVector *procDesc = mOutputSessions.valueAt(index); EffectVector *procDesc = mOutputSessions.valueAt(index); procDesc->mRefCount--; procDesc->mRefCount--; ALOGV("releaseOutputSessionEffects(): session: %d, refCount: %d", audioSession, procDesc->mRefCount); ALOGV("releaseOutputSessionEffects(): session: %d, refCount: %d", audioSession, procDesc->mRefCount); if (procDesc->mRefCount == 0) { if (procDesc->mRefCount == 0) { procDesc->setProcessorEnabled(false); procDesc->setProcessorEnabled(false); procDesc->mEffects.clear(); procDesc->mEffects.clear(); Loading