summaryrefslogtreecommitdiffstats
path: root/media/libeffects/lvm/wrapper/Bundle/EffectBundle.h
Commit message (Collapse)AuthorAgeFilesLines
* libeffect: Fix enabled effect count calculation errorwjiang2015-10-061-1/+1
| | | | | | | | | | | | | | | | | When switching from tunnel to arm effects, effect chain will be moved from offload thread to mixer thread. During this procedure effect instance is not destroyed, instead it's preserved and mounted onto new chain. The migrant sequence is 1) disable instance -> 2) move to new effect chain -> 3) enable instance again. However, the accumulated effect enabled count is not decreased when effect instance is disabled. As a result, LvmBundle_process() is only called once when Effect_process() called twice, which causes input buffer get processed alternately and glitch sound appears. Change-Id: Idd3b8753a73694cc36617ed55b40fda93155abed CRs-Fixed: 636353
* Level adjustment for Bundled Effect FixRicardo Garcia2015-05-221-3/+9
| | | | | | | | | Fixed automatic level compensation for bundled effects. Fixed algorithm now works even in corner cases previously reported. Cross band coefficients and cross interaction of BassBoost fixed. bug: 18769691 Change-Id: I51570836bdbff37e7c4b26f2b4282e4ded7fa56d
* Fix for Bundled Effects level compensationRicardo Garcia2014-12-091-0/+15
| | | | | | | | | | From the bundled effects, only the EQ had some sort of level compensation based on the settings of the effect. This patch takes into account all the status and levels of EQ, BassBoost and Virtualizer bundled effects and makes an informed decision on the overall level compensation. bug: 18213779 Change-Id: I23c7b94fe7da5482f0bbef0cbe715ea464631420
* DO NOT MERGE LVM virtualizer: add support for virtualizer capability queryJean-Michel Trivi2014-07-151-0/+2
| | | | | Change-Id: I88106ba25f9b3f8fd7616307ab6b7fbe7afb6e91 (cherry picked from commit bfd3b9764841971be2d2f04a3fdbd41a2144beea)
* Fix THD with max user EQ preset volume againEric Laurent2012-09-171-1/+1
| | | | | | | | | | | | | There was a problem with previous fix in 1b6c677c where the THD was good for max volume but bad for intermediate high volume values. This fix does not limit the band gains but apply a correction to the effect bundle volume to take into account not only the maximum band gain but also the average band gains weighted by the proximity of each band to the max gain band. Change-Id: Ibedd8da7fce1e163117f29b3da332da0e4fe8889
* Limit maximum equalizer gain.Eric Laurent2012-09-101-0/+2
| | | | | | | | Limit maximum gain in all EQ bands according to current volume so that total gain (current volume + band gain) does not exceed a certain limit. The gain difference between bands is preserved. Change-Id: Ice5a9705a0b3353e8778b4c539a29ca9cdf60390
* Moved and renamed effect API header filesEric Laurent2011-07-071-3/+3
| | | | | | | | Moved specific effect header files to system/media/audio_effects/include/audio_effects and renamed to lower case (effect_xxx.h). Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
* Fix several audio effects problems.Eric Laurent2010-09-281-1/+2
| | | | | | | | | | | | | | | Fixed the following issues in LVM effect bundle wrapper: - memory leaks in EffectCreate() in case effect creation fails at various stages - Added saturation when accumulating to output buffer - Fixed problems with enabled effects count when an effect is released while enabled - Do not allocate temporary buffer for accumulation each time process() is called Fixed the following issues in effects framework (AudioFlinger) - Release effect synchronously in the library when deleted from effect chain - Do not call the effect process function if no tracks are present in the same audio session Change-Id: Ifbd80a163415cfb3c0a337c12082853ea45d9c91
* Fix volume problems with insert revertEric Laurent2010-09-131-0/+2
| | | | | | | | | | | | | | | | | - Use a constant input level to the reverb engine and implement volume control in the insert reverb. This avoids the volume spikes when an effect that was inserted after the reverb is disabled or removed. - Fix clicks (one silent buffer) at the end of the reverb disable period. - Modified volume management in audioflinger so that the volume ramp is also done by the insert effect if present when the track is paused (avoids clicks). - Increased room level for all presets. Also fixed problems with output stage session (-1): - effect bundle wrapper was not designed to support session -1 - the permission check in audioflinger for using session -1 failed due to a wrong usage of getCallingPid() Change-Id: Id1ff51327263364bf71d3f2668fa5cde4311d84f
* LVM release 1.07 delivery.Eric Laurent2010-08-271-3/+10
| | | | | | | | | | | | | | - Virtualizer now uses the correct control parameter, instead of reverberation - Volume smoothing for first frame has been added - Equalizer_setParameter now returns correct error code - Correcting Non-Linear compressor gain step noise during transitions and effect level changes - Removed SVN header blocks - Memory and MIPS values have been added to the API - Reverb uses a more efficient malloc for input PCM - Reverb DecayHFRatio now ranges up to 2000 - Logging has been removed for most volume functions Change-Id: Ib59e7e331263c3811559231b4ae90c82e34a8421
* LVM release 1.05 deliveryEric Laurent2010-08-201-0/+5
| | | | | | | | | | | | - Click have been removed from the HP filter activation in the BassBosst Effect. - SessionId is now stored as a SessionNo - Effects now stop being called after a delay - Unix EOL fixed for .java and .xml - Updated lines limited to 100 characters. - Removed the remaining warnings from the wrapper code - Added reverb Change-Id: I03a2b3b5ee2286958f4901acc8d9b0daf9e2d7c6
* Audio Effects: added methods to effects java classes to store and load ↵Eric Laurent2010-07-271-42/+5
| | | | | | | | | | | | | | current effect settings in a single call. Addional changes: - Fixed simulator build - Use effect interface UUIDs from OpenSL ES includes when available - Added cleanspec rules to remove now obsolete test effect libraries - Fixed bug in AudioEffect JNI setParameter function. Change-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b
* Audio effects: lvm bundle wrapper update after first integration tests.Eric Laurent2010-07-231-58/+83
| | | | Change-Id: I20cb55282833bd6e3a160e0dae1cc1fcb6b1ca30
* First submission of audio effect library from NXP software.Eric Laurent2010-07-171-0/+193
This CL contains the first open sourceable version of the audio effect library from NXP software. The effects implemented are: - Bass boost - Virtualizer (stereo widening) - Equalizer - Spectrum analyzer Source file for the effect engines are located under libeffects/lvm/lib The wrapper implementing the interface with the audio effect framework in under libeffects/lvm/wrapper The code of other effect libraries has also been reorganized fo clarity: - the effect factory is now under libeffects/factory - the test equalizer and reverb effects are under libeffect/testlibs - the visualizer is under libeffects/virtualizer Change-Id: I8d91e2181f81b89f8fc0c1e1e6bf552c5809b2eb