History log of /frameworks/av/media/libeffects/factory/EffectsFactory.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0556a2363ff5eb49bd35dc47f2d34cc2042de052 08-May-2017 Eric Laurent <elaurent@google.com> relax effects library path in audio_effects.conf

Consider only the file name part of the library path specified in
audio_effects.conf and only if the path contains "/lib/soundfx" then
try all standard paths in the folowing order: /odm/.. /vendor/.. and /system/..

Bug: 38000861
Bug: 38505859
Test: check effect libraries are loaded from /system/lib or /vendor/lib
Change-Id: Ib02ecb3a464a59e7b7babcd9405b8fe4dc074745
(cherry picked from commit 7a13c2d0b067732bc57b97b36deb3289c48f5a13)
/frameworks/av/media/libeffects/factory/EffectsFactory.c
090eb09be1600b101b6d6e4e092f30763776bc80 05-Apr-2017 rago <rago@google.com> Show in dumpsys effect libraries that failed to load

Bug: 36525163
Bug: 36864417
Change-Id: I120129cb43e9593cc94ba361fe76ade86448e46a

Test: run and use dumpsys audio_flinger
/frameworks/av/media/libeffects/factory/EffectsFactory.c
ad880540d13db9e39c94496fd9bc89dfbfd1e1f5 10-Jan-2017 Mark Salyzyn <salyzyn@google.com> Merge "liblog: use log/log.h for ALOG macros" am: 06d8feefec am: 71bf335ffa am: 8790fb2613
am: 9033512273

Change-Id: I67837417d7c8fbc2cc5239f903a0cdf3b107558b
eb16561336e6445f7edae047998f2459e046cdfe 10-Jan-2017 Mark Salyzyn <salyzyn@google.com> liblog: use log/log.h for ALOG macros

Test: compile
Bug: 30465923
Change-Id: I247151363604714088b6059279702702b4e9f89a
/frameworks/av/media/libeffects/factory/EffectsFactory.c
32a5f5d53f9fe2ba584d2ecdf3edd487fb4146a7 22-Dec-2016 Mark Salyzyn <salyzyn@google.com> resolve merge conflicts of 4532a36 to master

Test: build
Change-Id: I9b93c4a703c0ee16116be2bea0e6df0606d29363
60d02077d86d2d1092443519290101f503aa6f7a 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h with either android/log.h or log/log.h

Test: compile
Bug: 31289077
Change-Id: I795a76f978d2213737f1fa908da789c543219b75
/frameworks/av/media/libeffects/factory/EffectsFactory.c
c2f710f89ec1a3ea8e448bfafcc02b03529cc681 18-Oct-2016 Mikhail Naganov <mnaganov@google.com> Move audio_effects_conf.h to system/audio_effects

This file is not really related to HAL.

Change-Id: Ie584266c708cebac651997c8086032b4cc25832b
Test: make
/frameworks/av/media/libeffects/factory/EffectsFactory.c
20569262fce8b047bfc253d91ccb0f455863fde1 19-Jun-2015 Jean-Michel Trivi <jmtrivi@google.com> Add property to ignore audio effects on the platform

Use boolean property ro.audio.ignore_effects to load or ignore the
audio effects.

Bug 21906334

Change-Id: I778f8b10a1caf25f7679705b1c83775223df011d
/frameworks/av/media/libeffects/factory/EffectsFactory.c
d89eaddd1544dc9f6665e2578583e8083cac00da 07-Oct-2014 Marco Nelissen <marcone@google.com> Check for duplicate uuids when parsing audio_effects.conf

uuids need to be unique, and things don't work properly when they're
not.
Also fix/enhance/extend the dumpEffectDescriptor() method, and
include a list of effects in audioflinger dumpsys.

Change-Id: I3dfbc5ed0f7272c7809e337f2929212ece047ee4
/frameworks/av/media/libeffects/factory/EffectsFactory.c
a5309e5c2a7a02852d2a0db7ada89a2eacb047d0 08-Aug-2014 Eric Laurent <elaurent@google.com> Enable loading of 64 bit effect libraries

Change-Id: I19252ea8d7dd8b9eee2532059c5a3a98d53c3b28
/frameworks/av/media/libeffects/factory/EffectsFactory.c
f90c7e0bb8d83d8b7f733bdf430d331ea3f221e8 14-Nov-2013 jpadmana <jayashree.r.padmanaban@intel.com> fix deadlock issues that arise when there are simultaneous
effect control interface calls to proxy and to
non sub-effect wrappers(eg., bundlewrapper) from audioflinger
Also, return NO_ERROR when CMD_OFFLOAD succeeds

Whenever there are parallel calls to proxy and non sub-effects wrappers,
some of the calls are not completed. This is due to deadlock arsing out
of Proxy waiting for the subeffect call to return and subeffect waiting
for proxy to release lock.
The call flow is changed to a cleaner and simple one - Proxy gets the
aeli(effect library info) of subeffects during the EffectGetSubEffects()
call. Therby, proxy will manage the sub effects by itself rather than
going through effects factory.

Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
Bug: 12424044
Change-Id: I16852222f1d0e94e433a19177729323a4bb1c090
/frameworks/av/media/libeffects/factory/EffectsFactory.c
2eab94f7dfd41a65e13aca379a1aed97447f8884 04-Jun-2013 jpadmana <jayashree.r.padmanaban@intel.com> Effects Factory changes for effects offload

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>
/frameworks/av/media/libeffects/factory/EffectsFactory.c
83f400056ac913250f0926326ff78697c68d18a1 27-Sep-2013 Eric Laurent <elaurent@google.com> Revert "Effects Factory changes for effects offload"

This reverts commit 284c17e73bbff51cb5b1adcee98386d47733757a.

Change-Id: I31db21e1ad4758b21356bfe4c4c64f15b2da8737
/frameworks/av/media/libeffects/factory/EffectsFactory.c
284c17e73bbff51cb5b1adcee98386d47733757a 04-Jun-2013 jpadmana <rpadmanaban.jayashree@gmail.com> Effects Factory changes for effects offload

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>
/frameworks/av/media/libeffects/factory/EffectsFactory.c
a189a6883ee55cf62da1d7bf5bf5a8ab501938a4 20-Feb-2012 Glenn Kasten <gkasten@google.com> Use struct assignment instead of explicit memcpy

for POD structs effect_descriptor_t and effect_config_t

Change-Id: Ib2fc47f85fb65ed91b0abb1f87217c49b5eb571d
/frameworks/av/media/libeffects/factory/EffectsFactory.c
5e92a7861196ddae14638d4b7a63fc4892b7ef59 30-Jan-2012 Glenn Kasten <gkasten@google.com> Effect UUID inputs passed by pointer are const

Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
/frameworks/av/media/libeffects/factory/EffectsFactory.c
5ff1dd576bb93c45b44088a51544a18fc43ebf58 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
/frameworks/av/media/libeffects/factory/EffectsFactory.c
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/av/media/libeffects/factory/EffectsFactory.c
7c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745 18-Jun-2011 Eric Laurent <elaurent@google.com> Audio framework: support for audio pre processing

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
/frameworks/av/media/libeffects/factory/EffectsFactory.c
ba7b8f881a9b6b21803752326d2932a3bd42d7cf 18-Jun-2011 Eric Laurent <elaurent@google.com> Audio Effect API: process reverse stream function

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
/frameworks/av/media/libeffects/factory/EffectsFactory.c
342484f01824ab45af953c7c9193b1e5ad6326de 17-Jun-2011 Eric Laurent <elaurent@google.com> Fix regression in audio effect factory

commit 0fb66c2 introduced a bug in EffectCreate() that prevents detection
of problems reported by the engine library upon effect creation.

Change-Id: I5bd2d42505ac29ab4a5768fd7f0c2ced135cf3e3
/frameworks/av/media/libeffects/factory/EffectsFactory.c
65580f9adf6c4d98449ad0716488f9fe3869aa5a 28-May-2011 Eric Laurent <elaurent@google.com> Removed interface to load audio effects libraries

Removed unused functions allowing dynamic loading of audio effects libraries
from effects factory API.

Change-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca
/frameworks/av/media/libeffects/factory/EffectsFactory.c
e1315cf0b63b4c14a77046519e6b01f6f60d74b0 18-May-2011 Eric Laurent <elaurent@google.com> New effect library API

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
/frameworks/av/media/libeffects/factory/EffectsFactory.c
25f4395b932fa9859a6e91ba77c5d20d009da64a 28-Jul-2010 Eric Laurent <elaurent@google.com> Audio effects: modified command() parameter types.

The type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()
function have been modified from int to uint32_t. This is more consistent with their role.

Change-Id: I84d289fc262d6753747910f06f485597dfee6591
/frameworks/av/media/libeffects/factory/EffectsFactory.c
de070137f11d346fba77605bd76a44c040a618fc 13-Jul-2010 Eric Laurent <elaurent@google.com> Audio policy manager changes for audio effects

Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.

Modifications of audio effect framework in AudioFlinger to allow moving and reconfiguring
effect engines from one output mixer thread to another when audio tracks in the same session
are moved or when requested by audio policy manager.
Also fixed mutex deadlock problem with effect chains locks.

Change-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb
/frameworks/av/media/libeffects/factory/EffectsFactory.c
2c8e5cab3faa6d360e222b7a6c40a80083d021ac 09-Jul-2010 Eric Laurent <elaurent@google.com> First submission of audio effect library from NXP software.

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
/frameworks/av/media/libeffects/factory/EffectsFactory.c