| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Change-Id: I88106ba25f9b3f8fd7616307ab6b7fbe7afb6e91
(cherry picked from commit bfd3b9764841971be2d2f04a3fdbd41a2144beea)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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 specific effect header files to
system/media/audio_effects/include/audio_effects
and renamed to lower case (effect_xxx.h).
Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I20cb55282833bd6e3a160e0dae1cc1fcb6b1ca30
|
|
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
|