| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
designators"
* commit '9857473f48abf1333ddd3454ab3c916b4e69daa4':
libeffects: do not use GNU old-style field designators
|
| |
| |
| |
| |
| |
| | |
Not using a GNU extension improves portability
Change-Id: I4e8a0376c089828ca4fc7f1aaf3914bfd917d4c5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The proxy implementation UUID should not be the NULL UUID as
AudioFlinger will reject effect creation if the AudioEffect
is constructed by passing the implementation UUID and not the
type UUID.
Bug: 11070481.
Change-Id: Ia9049d974e76303c5b63a607ee594b7dc1f182d4
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implement a more generic command handling in offload effect
proxy. All commands are sent to both sub effects but only the reply
from the active one is returned to the caller.
Bug: 8174034.
Change-Id: I28aa0f0d806e846332bc29801ee40d34e4ea0c43
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix some issues in effect proxy related to handling of effect
commands to offloaded and non offloaded effects.
Also fixed a bug on capture index in software Visualizer effect.
Bug: 8174034.
Change-Id: I119458fea597cc3acbc0ef9ec315f67aa211cbd9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Effect Proxy abstracts the sub effects to the upper layers.
It has the following functionalities:
- creation and release of sub effects
- routing the effect commands and process to the appropriate sub effect
Bug: 8174034.
Change-Id: Iec34b61104f0bbec4ef67c62f0710a5536dc325b
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
audio_effects.conf - commented changes to illustrate the
addition of Proxy and sub effects to the conf file
Added an effectFactoryApi - EffectGetSubEffects for querying the
sub effect descriptors from the factory. This api is used by the Proxy
to get the sub effects
Added functions and data structures in factory code for
loading the sub effects
gSubEffectList - has the Proxies and their corresponding sub effects
- addSubEffect() - reads a sub effect node and adds to the gSubEffectList
- findSubEffect() - searches through the gSubEffectList to find a SubEffect
Bug: 8174034.
Change-Id: Id7f6aa67c41db370d32beaf43a979ba4ac925928
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
|
| |
| |
| |
| |
| |
| | |
This reverts commit 284c17e73bbff51cb5b1adcee98386d47733757a.
Change-Id: I31db21e1ad4758b21356bfe4c4c64f15b2da8737
|
| |
| |
| |
| |
| |
| | |
This reverts commit 60c60df7db278d2fa5c90b0fa14f99a61d50272b.
Change-Id: Iafba9e02a9f3bfde6248d802e96c4e649686a87d
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use a single compressor for both channels.
Envelope of signal is determined by looking at both channels.
Bug 8413913
Change-Id: Ia9b6f34923d2977c60a3352500b858dfa1fab33c
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix errors in logs for Visualizer.
Set loop counters on 32 bits
Bug 8413913
Change-Id: Iad2140d003d15d45be46826a5e89baff14fe9e77
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Implement a more generic command handling in offload effect
proxy. All commands are sent to both sub effects but only the reply
from the active one is returned to the caller.
Bug: 8174034.
Change-Id: Ia45f9933b3bf338257ec70b37732fa1578d26b9f
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
New commands to set a measurement mode and perform peak + RMS
measurements.
Bug 8413913
Change-Id: Ib25254065c79d365ebb34f9dc9caa0490e2d300d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Offloading of audio effects is now enabled for offloaded
output threads. If an effect not supporting offload is enabled,
the AudioTrack is invalidated so that it can be recreated in PCM
mode.
Fix some issues in effect proxy related to handling of effect
commands to offloaded and non offloaded effects.
Also fixed a bug on capture index in software Visualizer effect.
Bug: 8174034.
Change-Id: Ib23d3c2d5a652361b0aaec7faee09102f2b18fce
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implementation based on DRC effect, controlled by a
target gain.
The target gain is used to amplify the signal at
the input of the DRC, and to compute the knee
of the DRC.
Bug 8413913
Change-Id: I386d64793a9fa3f7218e053d6f0a99f6836c02bd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Effect Proxy abstracts the sub effects to the upper layers.
It has the following functionalities:
- creation and release of sub effects
- routing the effect commands and process to the appropriate sub effect
Bug: 8174034.
Change-Id: I22d8136636048e7fe8f8807cbc6e348ffa200a22
Signed-off-by: jpadmana <rpadmanaban.jayashree@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
audio_effects.conf - commented changes to illustrate the
addition of Proxy and sub effects to the conf file
Added an effectFactoryApi - EffectGetSubEffects for querying the
sub effect descriptors from the factory. This api is used by the Proxy
to get the sub effects
Added functions and data structures in factory code for
loading the sub effects
gSubEffectList - has the Proxies and their corresponding sub effects
- addSubEffect() - reads a sub effect node and adds to the gSubEffectList
- findSubEffect() - searches through the gSubEffectList to find a SubEffect
Bug: 8174034.
Change-Id: I25b0c62b2ad523a52337128b51469e628209ea3e
Signed-off-by: jpadmana <rpadmanaban.jayashree@gmail.com>
|
|/
|
|
| |
Change-Id: I08771eb2664b7082561a40937218c7f4414e2cce
|
|
|
|
|
|
|
|
|
|
|
|
| |
EQ and bass boost can improperly interact with other effects
(e.g. virtualizer) outside of the bundle. Apply them first
in an effect chain, which is equivalent to using them to affect
the content of a track, rather than how a track is presented,
when additional effects are cascaded behind EQ and BB.
Bug 8589316
Change-Id: Ifb34e46bc1969f613cdc90ee2a79af677e2fad92
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The LVM reverb wrapper had a test to only accept input
sampling rate of 44.1 kHz. As the LVM reberb engine
supports multiple sampling rate we can remove this test.
The fix for issue 8512027 (commit 2a9c5cd4) caused a regression
because the framework now checks the return code of the effect
configure command and ignores subsequent commands in case of error.
Bug: 8630044
Change-Id: I3146871f1ad8f7945a2e63ea763dd7b87368337d
|
|
|
|
|
| |
Bug: 8580410
Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
|
|
|
|
|
|
|
|
| |
The volume member of the BundledEffectContext class was not being
initialized, resulting in uninitialized data being used for calculations
and control flow.
Change-Id: I84bf9fd478e5d0479e781323b21c7c03dea958c5
|
|
|
|
| |
Change-Id: I0abea25b58fb1d03975bed9cca40f826fcd4c5e4
|
|
|
|
|
|
|
|
| |
The effects libraries were exporting many more symbols than needed.
This reduces the exported symbols to just the needed ones (basically
just "AELI"), which happens to also save about 28KB.
Change-Id: I115077e52e8dc845282e6f62a522908d26dd72d6
|
|
|
|
| |
Change-Id: I6603aef5e3821a8f911e3f33ef8565d04bd1e2e5
|
|
|
|
|
|
|
| |
We were reading some uninitialized memory when creating bass boost and EQ
effects, and using memcpy() with identical source and destination.
Change-Id: I15ea1b2c52ae05cbf54aef04351e89805e0ebf8e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|/
|
|
|
|
|
|
|
|
|
| |
The audio preprocessings are not included in the default
audio_effect.conf file anymore as the audio HAL has to provide
support for them.
Each product implementing one or more audio pre processing must
provide a specific audio_effects.conf file.
Change-Id: I3b2f636f7a8748829798d4b9057d269db9424d62
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Fix a bug resetting the headroom parameters when
calling the bundle process function for the first time.
Change-Id: Ie05f97606f415954340ff2a4e48cd7b0a97a063b
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ThreadBase class now has a separate member for input
and output devices (mInDevice, mOutDevice).
Only query get_supported_devices() from audio HAL if the function
is exposed and if the audio policy manager did not specify the
audio module to open.
Also fixed bug in AEC preprocessing that would reset
to default output device when an input device was given.
Change-Id: I19d4d06aeb920b068e3ef31e6e6be6345ce5d67a
|
|
|
|
|
|
|
| |
Fix a bug in LVM bundle wrapper preventing audio framework sample rate
from being sent to the effect bundle instance.
Change-Id: I912027f866d3beac91b977bba869ff96a92d2a62
|
|
|
|
|
|
|
|
|
| |
Increase headroom in LVM bundle to reduce THD when equalizer is ON
with high band gains.
Also add a workaround for a bug in headroom parameter control.
Change-Id: I1d67c9ae475f6cf852c2e0e49bacfc82a5e484fd
|
|
|
|
|
|
| |
for POD structs effect_descriptor_t and effect_config_t
Change-Id: Ib2fc47f85fb65ed91b0abb1f87217c49b5eb571d
|
|
|
|
|
| |
Change-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26
related-to-bug: 6647465
|
|
|
|
|
|
|
|
|
|
| |
Buffer more data, and return the data that is currently being
output from the audio output, to ensure that visualizations are
smooth and responsive even when the audio output has a large
latency and/or large buffers.
b/6522728
Change-Id: I401637f01be7600b3c594a55c869036c13b206c0
|
|
|
|
|
|
|
|
|
|
|
|
| |
The downmixer effect is a mixer, wich, like the platform mixer,
hard-clips. To prevent clipping during loud scenes across multiple
chanels, apply a fixed attenuation on the result of the downmix.
Note that this attenuation is lower the theoretical required
attenuation (except for quad and surround) but is adequate for
most content.
Bug 4280902
Change-Id: Iec520e9f1367284d6102633f532429361717692d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a generic downmixer to stereo function to handle the
multichannel configurations not supported by the dedicated
downmix functions.
It first verifies the mask is supported, and then derives
channel indices for the downmix.
Added support for forcing the generic downmixer to be always
used instead of the format-specific functions (define
DOWNMIX_ALWAYS_USE_GENERIC_DOWNMIXER to force it).
Fixed 7.1 downmix function where handling of accumulate vs
overwrite was inversed.
Bug 4280902
Change-Id: I8259b32c4e90f76ef4dcd803592fc71df4ae90c5
|
|
|
|
|
|
|
|
|
| |
In DOWNMIX_TYPE_FOLD mode, add support for variants of quad and
5.1 channel masks where the "side" channels are used instead of
the "back" channels. These variants have the same channel order,
so they can share the same downmix function.
Change-Id: I5f9cb7cb120927189de680c2a968d6136dc1fc43
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I4eda43166d23b3297cf769056a6db720401799aa
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support VISUALIZER_PARAM__SCALING_MODE parameter.
Modify process() function to use new volume scaling parameter,
used to set whether captured values are maximized by current
headroom in the buffer (default existing behaviora) or left
as is and thus affected by volume.
Modify AudioEffect to allow subclasses to override the following
events: control status changed, enable status changed, command
executed.
In Visualizer class (a subclass of AudioEffect), reset the
scaling mode and capture size on the actual effect
as cached when control is regained.
This will allow the effect to be properly
configured whenever Visualizers with different scaling
modes or capture sizes are released (e.g. from java
release() method).
Change-Id: I05cb9f925a296dceca91bafa9fe294ef2b2c2bd5
|
|
|
|
|
|
|
|
|
| |
Added functional test code to validate effect API for
multi mic simplementations.
Also fixed warning in AudioFlinger.
Change-Id: I07be4d2e4d17791d3626c804ba3e9f87ff26d05a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the AudioMixer structure associated with each track, add an object
that acts as the buffer provider when the track has more than two
channels of input in the mixer. This object, DownmixerBufferProvider,
gets audio from the actual buffer provider of the track, and applies
a downmix effect on it.
The downmix effect is created and configured when the track gets
created in AudioFlinger, which causes AudioMixer::getTrackName()
to be called with the new track's channel mask. It is released
when the track is disabled in the mixer.
Change-Id: I05281ed5f61bef663a8af7ca7d5ceac3517c82db
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current method implemented by the visualizer to detect that audioflinger has
stopped providing audio buffers does not work if the application
reads pcm captures too fast.
The fix consist in implementing a method based on real time measurement only.
One drawback is that the new method makes use of system calls that add some
overhead to the process and capture functions.
Change-Id: I53bd596b856f1cc7f0f47e08413af3335227100b
|
|
|
|
| |
Change-Id: I327663a020670d0a72ff57bd0b682e2ce0528650
|
|
|
|
|
|
|
| |
and avoid ambiguous term "channels" where it might be confusing
as to whether it is a channel mask or channel count
Change-Id: I744fa08ccb6001a98c97bd638d2c9d56836c4234
|