summaryrefslogtreecommitdiffstats
path: root/media/libeffects
Commit message (Collapse)AuthorAgeFilesLines
* Audio framework: support for audio pre processingEric Laurent2011-07-184-7/+73
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Audio preprocessing wrapper for webrtc.Eric Laurent2011-07-172-0/+1641
| | | | | | | | 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
* Merge "Remove the simulator target from all makefiles. Bug: 5010576"Jeff Brown2011-07-123-29/+4
|\
| * Remove the simulator target from all makefiles.Jeff Brown2011-07-113-29/+4
| | | | | | | | | | | | Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
* | Audio Effect API: process reverse stream functionEric Laurent2011-07-116-7/+51
|/ | | | | | | | 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 and renamed effect API header filesEric Laurent2011-07-078-18/+22
| | | | | | | | 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 regression in audio effect factoryEric Laurent2011-06-161-1/+1
| | | | | | | commit 0fb66c2 introduced a bug in EffectCreate() that prevents detection of problems reported by the engine library upon effect creation. Change-Id: I5bd2d42505ac29ab4a5768fd7f0c2ced135cf3e3
* Removed interface to load audio effects librariesEric Laurent2011-05-271-12/+0
| | | | | | | Removed unused functions allowing dynamic loading of audio effects libraries from effects factory API. Change-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca
* New effect library APIEric Laurent2011-05-2711-379/+812
| | | | | | | | | | | | | | | | | 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/base: remove LOCAL_PRELINK_MODULEIliyan Malchev2011-03-143-5/+5
| | | | | Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481 Signed-off-by: Iliyan Malchev <malchev@google.com>
* Fix issue 3499926.Eric Laurent2011-03-011-8/+14
| | | | | | | | | 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
* Bug 3117154Glenn Kasten2011-01-251-1/+1
| | | | | | | | 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
* am cd08ada7: am 67c7a4ae: Merge "Fix off-by-two and other bugs in the ↵Marco Nelissen2010-10-271-9/+12
|\ | | | | | | visualization code. b/3137511" into gingerbread
| * Fix off-by-two and other bugs in the visualization code.Marco Nelissen2010-10-271-9/+12
| | | | | | | | | | | | b/3137511 Change-Id: Ic431701e93c025bc417c9742e9af6bb2350c7dd6
* | am b047e3cd: am aeb2c62e: Merge "Fix several audio effects problems." into ↵Eric Laurent2010-09-282-126/+211
|\ \ | |/ | | | | | | | | | | | | | | gingerbread Merge commit 'b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c' * commit 'b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c': Fix several audio effects problems.
| * Fix several audio effects problems.Eric Laurent2010-09-282-126/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am 1b37df95: am 9627847d: Merge "Fix error in AudioEffect command status ↵Eric Laurent2010-09-271-2/+2
|\ \ | |/ | | | | | | | | | | | | | | reporting." into gingerbread Merge commit '1b37df95ec9d03aaa5f4055c6cd86db42f9c9727' * commit '1b37df95ec9d03aaa5f4055c6cd86db42f9c9727': Fix error in AudioEffect command status reporting.
| * Fix error in AudioEffect command status reporting.Eric Laurent2010-09-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | am 6943b94b: am a6dc4699: Merge "Fix issue 2913071." into gingerbreadEric Laurent2010-09-211-2/+20
|\ \ | |/ | | | | | | | | | | Merge commit '6943b94b8f267c83060946bae0961efc30444dee' * commit '6943b94b8f267c83060946bae0961efc30444dee': Fix issue 2913071.
| * Fix issue 2913071.Eric Laurent2010-09-211-2/+20
| | | | | | | | | | | | | | | | | | | | | | 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
* | am d32d3011: am 37de5da0: Merge "Fix problem in lvm effect bundle wrapper" ↵Eric Laurent2010-09-161-123/+127
|\ \ | |/ | | | | | | | | | | | | | | into gingerbread Merge commit 'd32d30119bd0c0988a6806f1205db5426235af52' * commit 'd32d30119bd0c0988a6806f1205db5426235af52': Fix problem in lvm effect bundle wrapper
| * Fix problem in lvm effect bundle wrapperEric Laurent2010-09-161-123/+127
| | | | | | | | | | | | | | | | 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
* | am 4d987850: am bd2e9ec6: Merge "Fix volume problems with insert revert" ↵Eric Laurent2010-09-133-28/+121
|\ \ | |/ | | | | | | | | | | | | | | into gingerbread Merge commit '4d9878502f7661ed34540a485a5942d859e209c7' * commit '4d9878502f7661ed34540a485a5942d859e209c7': Fix volume problems with insert revert
| * Fix volume problems with insert revertEric Laurent2010-09-133-28/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | am ea4680f0: am 2814ad25: Merge "LVM release 1.09 delivery" into gingerbreadEric Laurent2010-09-104-135/+69
|\ \ | |/ | | | | | | | | | | Merge commit 'ea4680f007c9fbc1ff73a6b161e6e83ebaeff981' * commit 'ea4680f007c9fbc1ff73a6b161e6e83ebaeff981': LVM release 1.09 delivery
| * LVM release 1.09 deliveryEric Laurent2010-09-094-135/+69
| | | | | | | | | | | | | | | | | | | | | | - Reverb: - 1 channel mixed has gain zero - core componenet now only outputs STEREO samples - wrapper now handles only STEREO from the Reverb Core - Bass Boost: - increase scratch memory Change-Id: I00ae31051cc40a7006fc993420facfeb4d30dc52
* | am e126119c: am 95d86480: Merge "Modify type of some environmental reverb ↵Eric Laurent2010-09-081-14/+16
|\ \ | |/ | | | | | | | | | | | | | | parameters" into gingerbread Merge commit 'e126119c3a406bc564f2549aeb1416aff112689d' * commit 'e126119c3a406bc564f2549aeb1416aff112689d': Modify type of some environmental reverb parameters
| * Modify type of some environmental reverb parametersEric Laurent2010-09-081-14/+16
| | | | | | | | | | | | | | | | | | Changed type of decay time, reverb delay and reflections delay parameters from signed to unsigned int to match OpenSL ES interface definition. Also fixed some type casts in lvm reverb wrapper. Change-Id: I5ca5e76a87c2590f01f031f3168355586ef22556
* | am ef9e508c: am 7e427934: Merge "LVM release 1.08 delivery." into gingerbreadEric Laurent2010-09-035-41/+69
|\ \ | |/ | | | | | | | | | | Merge commit 'ef9e508c2cb3b52d31250ceca3dddace17cec950' * commit 'ef9e508c2cb3b52d31250ceca3dddace17cec950': LVM release 1.08 delivery.
| * LVM release 1.08 delivery.Eric Laurent2010-09-035-41/+69
| | | | | | | | | | | | | | | | - Changed bundle SamplesToExit to 0.1 secs - Added SamplesToExit to Revreb - Removed mixer from Core reverb Change-Id: I675ec22889f20ef35a0ac427600c2654111c397e
* | am 55e79374: am f560ceab: Merge "Audio Effects: fix problems in volume ↵Eric Laurent2010-08-311-8/+22
|\ \ | |/ | | | | | | | | | | | | | | control." into gingerbread Merge commit '55e7937462d107b469a58651d3d51e15086f8e9e' * commit '55e7937462d107b469a58651d3d51e15086f8e9e': Audio Effects: fix problems in volume control.
| * Audio Effects: fix problems in volume control.Eric Laurent2010-08-311-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | - Fixed click when re-enabling effect during the turn off phase: make sure the effect states where effect is processed are the same where volume control is delegated to effect. - Fixed click when effect is deleted while still active: do not apply volume ramp if an effect having volume control was just removed from the effect chain. Also fixed a crash when PCM dump is enabled in effect bundle wrapper. Change-Id: Ib562f5cf75c69af75df0e862536262e2514493e4
* | am 5762dc19: am 858bb4f6: Merge "LVM release 1.07 delivery." into gingerbreadEric Laurent2010-08-30188-1599/+231
|\ \ | |/ | | | | | | | | | | Merge commit '5762dc19836e332d3ac1906e5698088a128b362d' * commit '5762dc19836e332d3ac1906e5698088a128b362d': LVM release 1.07 delivery.
| * LVM release 1.07 delivery.Eric Laurent2010-08-27188-1599/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | am 8ca5df27: am c14f9ca6: Merge "Added preset reverb." into gingerbreadEric Laurent2010-08-252-54/+199
|\ \ | |/ | | | | | | | | | | Merge commit '8ca5df27df8a2b6435486f9b5a163bf222f8fed1' * commit '8ca5df27df8a2b6435486f9b5a163bf222f8fed1': Added preset reverb.
| * Added preset reverb.Eric Laurent2010-08-242-54/+199
| | | | | | | | | | | | | | Modified lvm reverb wrapper code to expose a preset reverb interface. Also removed debug log from bundle and reverb wrapper. Change-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967
* | am 33e0d834: am b6d71351: Merge "LVM release 1.05 delivery" into gingerbreadEric Laurent2010-08-2426-154/+5051
|\ \ | |/ | | | | | | | | | | Merge commit '33e0d8343174339cc9622d63c23d47c0ba0d3baa' * commit '33e0d8343174339cc9622d63c23d47c0ba0d3baa': LVM release 1.05 delivery
| * LVM release 1.05 deliveryEric Laurent2010-08-2026-154/+5051
| | | | | | | | | | | | | | | | | | | | | | | | - 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
* | am 5aff90a6: am 1aaba885: Merge "Audio Effects: fixed "strength supported" ↵Eric Laurent2010-08-211-2/+15
|\ \ | |/ | | | | | | | | | | | | | | parameter size." into gingerbread Merge commit '5aff90a638da53e66fba90c92d412812760fe8e5' * commit '5aff90a638da53e66fba90c92d412812760fe8e5': Audio Effects: fixed "strength supported" parameter size.
| * Audio Effects: fixed "strength supported" parameter size.Eric Laurent2010-08-181-2/+15
| | | | | | | | | | | | | | | | The "strength supported" parameter for bass boost and virtualizer effect was incorrectly using a short value whereas it should be an int. This is to comply to the definition of boolean type in OpenSL ES that is uint32. Change-Id: I74ccb61dcc70fc9d390524a1ca5bbbd8b13ab1af
* | am e67332f8: am 92e847ed: Audio effects: aligned Equalizer API argument ↵Eric Laurent2010-07-302-27/+100
|\ \ | |/ | | | | | | | | | | | | | | types on OpenSL ES SLEqualizerItf. Merge commit 'e67332f879b3f97baaac2252b53ac64686aebdbb' * commit 'e67332f879b3f97baaac2252b53ac64686aebdbb': Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.
| * Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.Eric Laurent2010-07-302-27/+100
| | | | | | | | | | | | | | | | | | Modified types of some arguments and returned values of the Equalizer class from int to short to match those defined by OpenSL ES SLEqualizerItf interface. Also fixed a problem with set properties in equalizer engine implementation. Change-Id: I75894bad0cb67b01c18ca5e22f9687e75ee491b8
* | am 6fa88882: am 62d83a0c: Merge "Audio effects: modified command() parameter ↵Eric Laurent2010-07-286-14/+30
|\ \ | |/ | | | | | | | | | | | | | | types." into gingerbread Merge commit '6fa8888254deb4961dc64c6ac03dc103c9cd8bcf' * commit '6fa8888254deb4961dc64c6ac03dc103c9cd8bcf': Audio effects: modified command() parameter types.
| * Audio effects: modified command() parameter types.Eric Laurent2010-07-286-14/+30
| | | | | | | | | | | | | | 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
* | resolved conflicts for merge of d306cc81 to masterEric Laurent2010-07-274-89/+71
|\ \ | |/ | | | | Change-Id: Ib593b7719a837de12605e8c75904634843298ba1
| * Audio Effects: added methods to effects java classes to store and load ↵Eric Laurent2010-07-275-85/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am e80c30c6: am 00de7218: Merge "Fixed bug in vlm effect bunde wrapper ↵Eric Laurent2010-07-261-33/+7
|\ \ | |/ | | | | | | | | | | | | | | effect init function." into gingerbread Merge commit 'e80c30c6b557fab2f5fc7a87c51018f5a8074338' * commit 'e80c30c6b557fab2f5fc7a87c51018f5a8074338': Fixed bug in vlm effect bunde wrapper effect init function.
| * Merge "Fixed bug in vlm effect bunde wrapper effect init function." into ↵Eric Laurent2010-07-261-33/+7
| |\ | | | | | | | | | gingerbread
| | * Fixed bug in vlm effect bunde wrapper effect init function.Eric Laurent2010-07-261-33/+7
| | | | | | | | | | | | | | | | | | | | | The status in the command reply field was not initialized by Effect_command() for EFFECT_CMD_INIT causing unpredictable failures when initializing an effect. Change-Id: I7dccb094c9244fad4ed9aea3062a395db295e082
* | | am df5c3b50: am 739bf285: Merge "LVM release 1.04." into gingerbreadEric Laurent2010-07-2613-112/+97
|\ \ \ | |/ / | | | | | | | | | | | | | | | Merge commit 'df5c3b5024276af8b44d00bb28ce620ab31e2365' * commit 'df5c3b5024276af8b44d00bb28ce620ab31e2365': LVM release 1.04.