diff options
author | Glenn Kasten <gkasten@google.com> | 2012-02-03 07:46:42 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-02-03 07:46:42 -0800 |
commit | 7bd4f6f4d0d44cd67d4d251cfacbe6a1161fe8ae (patch) | |
tree | 43d311a3b5c30eb499d6e834d14f28fbf8fd327a /services/audioflinger | |
parent | 22152a68071409a616b031f79c4fec73abc9508a (diff) | |
parent | 9704026ccb9a2d10c168fbd244361faec84c7263 (diff) | |
download | frameworks_base-7bd4f6f4d0d44cd67d4d251cfacbe6a1161fe8ae.zip frameworks_base-7bd4f6f4d0d44cd67d4d251cfacbe6a1161fe8ae.tar.gz frameworks_base-7bd4f6f4d0d44cd67d4d251cfacbe6a1161fe8ae.tar.bz2 |
Merge "For performance, return large objects by reference"
Diffstat (limited to 'services/audioflinger')
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 13 | ||||
-rw-r--r-- | services/audioflinger/AudioFlinger.h | 3 |
2 files changed, 8 insertions, 8 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index b31040c..1a2fa66 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -7561,7 +7561,8 @@ void AudioFlinger::EffectChain::setEffectSuspendedAll_l(bool suspend) ALOGV("setEffectSuspendedAll_l() add entry for 0"); } if (desc->mRefCount++ == 0) { - Vector< sp<EffectModule> > effects = getSuspendEligibleEffects(); + Vector< sp<EffectModule> > effects; + getSuspendEligibleEffects(effects); for (size_t i = 0; i < effects.size(); i++) { setEffectSuspended_l(&effects[i]->desc().type, true); } @@ -7612,16 +7613,14 @@ bool AudioFlinger::EffectChain::isEffectEligibleForSuspend(const effect_descript return true; } -Vector< sp<AudioFlinger::EffectModule> > AudioFlinger::EffectChain::getSuspendEligibleEffects() +void AudioFlinger::EffectChain::getSuspendEligibleEffects(Vector< sp<AudioFlinger::EffectModule> > &effects) { - Vector< sp<EffectModule> > effects; + effects.clear(); for (size_t i = 0; i < mEffects.size(); i++) { - if (!isEffectEligibleForSuspend(mEffects[i]->desc())) { - continue; + if (isEffectEligibleForSuspend(mEffects[i]->desc())) { + effects.add(mEffects[i]); } - effects.add(mEffects[i]); } - return effects; } sp<AudioFlinger::EffectModule> AudioFlinger::EffectChain::getEffectIfEnabled( diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h index ab5ec34..4156da8 100644 --- a/services/audioflinger/AudioFlinger.h +++ b/services/audioflinger/AudioFlinger.h @@ -1327,7 +1327,8 @@ mutable Mutex mLock; // mutex for process, commands and handl // get a list of effect modules to suspend when an effect of the type // passed is enabled. - Vector< sp<EffectModule> > getSuspendEligibleEffects(); + void getSuspendEligibleEffects(Vector< sp<EffectModule> > &effects); + // get an effect module if it is currently enable sp<EffectModule> getEffectIfEnabled(const effect_uuid_t *type); // true if the effect whose descriptor is passed can be suspended |