Lines Matching defs:effect

34 // The EffectModule class is a wrapper object controlling the effect engine implementation
35 // in the effect library. It prevents concurrent calls to process() and command() functions
37 // to all client applications using this effect and notifies applications of effect state,
39 // reset, enable, disable commands to effect engine and provide volume
41 // When controlling an auxiliary effect, the EffectModule also provides an input buffer used by
142 // Maximum time allocated to effect engines to complete the turn off sequence
153 wp<EffectChain> mChain; // parent effect chain
156 const effect_descriptor_t mDescriptor;// effect descriptor received from effect engine
164 // First handle in mHandles has highest priority and controls the effect module
165 uint32_t mMaxDisableWaitCnt; // maximum grace period before forcing an effect off after
168 bool mSuspended; // effect is suspended: temporarily disabled by framework
169 bool mOffloaded; // effect is currently offloaded to the audio DSP
173 bool mSupportsFloat; // effect supports float processing
182 // to receive parameter updates, keeps track of effect control
185 // an effect module.
190 EffectHandle(const sp<EffectModule>& effect,
214 // Give or take control of effect module
217 // - enabled: state of the effect when control is passed
228 wp<EffectModule> effect() const { return mEffect; }
230 sp<EffectModule> effect = mEffect.promote();
231 if (effect == 0) {
234 return effect->id();
254 int mPriority; // client application priority to control the effect
255 bool mHasControl; // true if this handle is controlling the effect
256 bool mEnabled; // cached enable state: needed when the effect is
266 // tracks) are insert only. The EffectChain maintains an ordered list of effect module, the
267 // order corresponding in the effect process order. When attached to a track (session ID !=
280 // minimum duration during which we force calling effect process when last track on
281 // a session is stopped or removed to allow effect tail to be rendered
293 status_t createEffect_l(sp<EffectModule>& effect,
348 // check if effects should be suspend or restored when a given effect is enable or disabled
349 void checkSuspendOnEffectEnabled(const sp<EffectModule>& effect,
354 // At least one non offloadable effect in the chain is enabled
389 // get a list of effect modules to suspend when an effect of the type
393 // get an effect module if it is currently enable
395 // true if the effect whose descriptor is passed can be suspended
396 // OEMs can modify the rules implemented in this method to exclude specific effect
407 mutable Mutex mLock; // mutex protecting effect list
408 Vector< sp<EffectModule> > mEffects; // list of effect modules
417 int32_t mTailBufferCount; // current effect tail buffer count
418 int32_t mMaxTailBuffers; // maximum effect tail buffers
419 int mVolumeCtrlIdx; // index of insert effect having control over volume
424 uint32_t mStrategy; // strategy for this effect chain
426 // Use effect type UUID timelow field as key. There is no real risk of identical
427 // timeLow fields among effect type UUIDs.