OSDN Git Service

Various fixes and improvements in audio effects implementation
authorEric Laurent <elaurent@google.com>
Thu, 24 Jun 2010 00:38:20 +0000 (17:38 -0700)
committerEric Laurent <elaurent@google.com>
Fri, 25 Jun 2010 18:59:35 +0000 (11:59 -0700)
commit9bf80f02f7e1f4cf96bb548f9e0d4ff38dd52392
tree83ef6399deab590f5e0fc616cf374a4648894fc4
parentcc61ac50a8703ce63ef9851ebf36d3efa33a2e25
Various fixes and improvements in audio effects implementation

Effect API:
- Use different definitions for audio device, channels, formats... in AudioSystem and EffectApi:
  Removed media/AudioCommon.h file created for initial version of EffectApi
- Indicate audio session and output ID to effect library when calling EffectCreate(). Session ID can be useful to optimize
the implementation of effect chains in the same audio session. Output ID can be used for effects implemented in audio hardware.
- Renamed EffectQueryNext() function to EffectQueryEffect() and changed operating mode:
  now an index is passed for the queried effect instead of implicitly querying the next one.
- Added CPU load and memory usage indication in effects descriptor
- Added flags and commands to indicate changes in audio mode (ring tone, in call...) to effect engine
- Added flag to indicate hardware accelerated effect implementation.
- Renamed EffectFactoryApi.h to EffectsFactoryApi.h for consistency with EffectsFactory.c/h

Effect libraries:
- Reflected changes in Effect API
- Several fixes in reverb implementation
- Added build option TEST_EFFECT_LIBRARIES in makefile to prepare integration of actual effect library.
- Replaced pointer by integer identifier for library handle returned by effects factory

Audio effect framework:
- Added support for audio session -1 in preparation of output stage effects configuration.
- Reflected changes in Effect API
- Removed volume ramp up/down when effect is inserted/removed: this has to be taken care of by effect engines.
- Added some overflow verification on indexes used for deferred parameter updates via shared memory
- Added hardcoded CPU and memory limit check when creating a new effect instance

Change-Id: I43fee5182ee201384ea3479af6d0acb95092901d
libs/audioflinger/AudioFlinger.cpp
libs/audioflinger/AudioFlinger.h