| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I9bc5573ee07e30b305b5b879023aa9ec69e10b91
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8
|
|
|
|
| |
Change-Id: I943137108668ae66f8eba18dafe069a7951bcd8f
|
|
|
|
|
|
|
|
|
|
|
| |
First pass at implementing an audio effect whose role is to
downmix multichannel PCM buffers to stereo.
The effect is not handling volume changes.
The effect code here handles quad, 4.0, 5.1 and 7.1 input configurations,
to optimize the most commom configurations, and does not yet handle
generic multichanel configurations.
Change-Id: I74d04bd961348f3f0e4ae7714b70e620808a0829
|
|
|
|
|
|
| |
Correct erroneous spaces that were present in some audio effect GUIDs.
Change-Id: Ide3a1552b2f8976f96ee980f1341f935555656d9
|
|
|
|
|
|
|
|
|
|
|
| |
Do not set the effect state back to configured when a configuration
command is received while the effect is enabled. Instead just check that
the new config is the same as current config.
It is normal to receive a config command from the framework while enabled
if a new effect is added on the same session.
Change-Id: I93aa38bf60a3d7cc7729934e87ddd69bf1112cd6
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Fixed bug in EFFECT_CMD_GET_CONFIG command handler in
webRTC audio processing library wrapper.
Change-Id: I1d2cefa00930e549607af8dc2cf27555da8d313f
|
|/
|
|
| |
Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
|
|
|
|
|
|
|
|
|
| |
Adapt include files path in makefile and source to new
directory structure in webrtc library.
Also changed the default AGC parameters to less extreme settings.
Change-Id: Ia6a41c816dc44645f8f867937b722eede88c06ea
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/157065
Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
|
|
|
|
|
|
|
|
|
|
|
| |
Several source files privately defined macros LIKELY and UNLIKELY in terms
of __builtin_expect. But <cutils/compiler.h> already has CC_LIKELY and
CC_UNLIKELY which are intended for this purpose. So rename the private
uses to use the standard names.
In addition, AudioFlinger was relying on the macro expanding to extra ( ).
Change-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Renamed audio effect library interface command for audio format
configuration from EFFECT_CMD_CONFIGURE to EFFECT_CMD_SET_CONFIG.
This makes the naming more consistent with other exixsting commands
and allow adding a new command to get the configuration (EFFECT_CMD_GET_CONFIG).
Same change for reverse channel configuration renamed from
EFFECT_CMD_CONFIGURE_REVERSE to EFFECT_CMD_SET_CONFIG_REVERSE.
Implemented EFFECT_CMD_GET_CONFIG in exisitng effect libraries.
Change-Id: Ia7b1c620f13797fe5aceb3b0b4acbacce09fb067
|
|\
| |
| |
| |
| |
| |
| | |
idle" into ics-mr1
* commit '2c29a5cf1658532bca4e34f816fa30312241a336':
visualizer: reset buffer if playback is idle
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Visualizer capture buffer must be reset if audio framework has stopped
calling process for a given period of time to get read of residual
data from previous captures.
Issue 5571920.
Change-Id: I6e73f971bb812cdbb2979a3b5e763abab07634eb
|
|\ \
| |/
| |
| | |
Change-Id: I15adb9040eaa206c31bb5a08ed5ee5b32967ba0a
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The virtualizer and bass boost effects should be disabled when
not playing throught headsets or headphones.
There is a bug in current wrapper implementation that makes that those
effects are not disabled if the effect is enabled by the user after
the headset has been removed (current logic only works if the device selection
occurs while the effect is enabled).
Change-Id: I7c66b15a0339d95fb9ed13c8320d66379725d3b6
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: Ia597549a6d159b86063eb3afec5ce7fe98434a65
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an effect is disabled, the process function should either
copy or accumulate the content of the input buffer to the output buffer
depending on the behavior requested by the framework.
Current implementation is copying the input buffer unconditionally.
Related to issue 5433942.
Change-Id: Ic488ca97eadcc4c763de570d7e6c6f5b7a979415
|
|/
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/143865
Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Audio effect framework is extended to suport effects on
output and input audio path.
AudioFlinger: Support for audio effects and effect chains is
moved from PlaybackThread class to ThreadBase class so that
RecordThread can manage effects.
Effects of type pre processing are allowed on record thread
only. When a pre processing is enabled, the effect interface handle is
passed down to the input stream so that the audio HAL can call the
process function. The record thread loop calls the effect chain process
function that will only manage the effect state and commands and skip the
process function.
AudioRecord: The audio session is allocated before calling getInput() into
audio policy serice so that the session is known before the input theead is
created and pre processings can be created on the correct session.
AudioPolicyService: default pre processing for a given input source are
loaded from audio_effects.conf file.
When an input is created, corresponding effects are created and enabled.
Change-Id: Id17119e0979b4dcf189b5c7957fec30dc3478790
|
|
|
|
|
|
|
|
| |
This wrapper implements the interworking layer between the audio effect
interface defined by the effect framework for audio preprocessing
and the native interface of webrtc audio processing module.
Change-Id: I3f9319730c102599cdf0dda520a53d90b4165114
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Bug: 5010576
Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
|
|/
|
|
|
|
|
|
| |
Added function to audio effect interface for processing of
a reverse stream.
This is necessary for audio pre processes like echo cancellation.
Change-Id: I6e12d79dbbed6376acdfc79304b8c0ab3f705eae
|
|
|
|
|
|
|
|
| |
Moved specific effect header files to
system/media/audio_effects/include/audio_effects
and renamed to lower case (effect_xxx.h).
Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
|
|
|
|
|
|
|
| |
commit 0fb66c2 introduced a bug in EffectCreate() that prevents detection
of problems reported by the engine library upon effect creation.
Change-Id: I5bd2d42505ac29ab4a5768fd7f0c2ced135cf3e3
|
|
|
|
|
|
|
| |
Removed unused functions allowing dynamic loading of audio effects libraries
from effects factory API.
Change-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved and renamed media/EffectApi.h to hardware/audio_effect.h
Modified the effect library API to expose a library info structure
containing an interface functions table.
Also removed enums for audio channels, audio format and devices
from effect API and use values from system/audio.h instead.
Modified effects factory to support new library interface format and
load libraries and efffects listed in audio_effects.conf file.
The file audio_effects.conf is first loaded from /vendor/etc and
then from /system/etc/audio_effects.conf if not found.
Modified existing effect libraries to implement the new library interface.
Change-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9
|
|
|
|
|
| |
Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
|
|
| |
Make sure that NumberEffectsEnabled is decremented at the same time as
SamplesToExitCountBb reaches 0 in Effect_process(). Not doing so
causes NumberEffectsEnabled not being decremented if Effect_setEnabled()
is called after SamplesToExitCountBb reaches 0 and before next Effect_process() is called.
Change-Id: Id827a301f93a5a09ecd9995a0c7d731ef526711a
|
|
|
|
|
|
|
|
| |
The previous default audible behavior was actually NONE (dry), despite
the default value of MEDIUMROOM. Corrected default value to match the
default behavior.
Change-Id: Iadb0d41629a383fd52f03e8a21ba4b74ea24401c
|
|\
| |
| |
| | |
visualization code. b/3137511" into gingerbread
|
| |
| |
| |
| |
| |
| | |
b/3137511
Change-Id: Ic431701e93c025bc417c9742e9af6bb2350c7dd6
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
gingerbread
Merge commit 'b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c'
* commit 'b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c':
Fix several audio effects problems.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
reporting." into gingerbread
Merge commit '1b37df95ec9d03aaa5f4055c6cd86db42f9c9727'
* commit '1b37df95ec9d03aaa5f4055c6cd86db42f9c9727':
Fix error in AudioEffect command status reporting.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AudioEffect::command() should not interpret the status
returned in pReplyData unless the command is ENABLE or
DISABLE.
Also fixed:
- bug in Visualizer::getWAveForm() status reporting.
- wrong initialization value for capture buffer in visualizer engine.
Change-Id: I60fb0011f9dba96ee74661dec1e8ef441edcaf35
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit '6943b94b8f267c83060946bae0961efc30444dee'
* commit '6943b94b8f267c83060946bae0961efc30444dee':
Fix issue 2913071.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Scale audio signal during capture according to peak level so that
returned values on 8 bits contain enough information even for weak
signals.
Also do not reject requests to enable/disable the visualizer if we are
already in the requested state.
Change-Id: I07a705619764350834e61f82d161761eab688747
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
into gingerbread
Merge commit 'd32d30119bd0c0988a6806f1205db5426235af52'
* commit 'd32d30119bd0c0988a6806f1205db5426235af52':
Fix problem in lvm effect bundle wrapper
|
| |
| |
| |
| |
| |
| |
| |
| | |
When an effect was deleted while enabled, the count of enabled effects
in the bundle was not decremented. Resulted a state where if another effect
was still enabled, its process function was called only every other time.
Change-Id: I59a0c5b7f50f416a9ecadae297b42912e56ddd51
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
into gingerbread
Merge commit '4d9878502f7661ed34540a485a5942d859e209c7'
* commit '4d9878502f7661ed34540a485a5942d859e209c7':
Fix volume problems with insert revert
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit 'ea4680f007c9fbc1ff73a6b161e6e83ebaeff981'
* commit 'ea4680f007c9fbc1ff73a6b161e6e83ebaeff981':
LVM release 1.09 delivery
|