History log of /frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
32d516381c712354ce37a08dbc6c3c7e5f266faa 16-May-2017 Andy Hung <hunga@google.com> AudioEffect: return DEAD_OBJECT for FAILED_TRANSACTION

Test: CTS AudioSecurityTest
Bug: 38346284
Change-Id: I96b4995c2d11b4a33c4b2fa6987922e26c91d336
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
87e901cccac957a19edce9108f85177b85140fbc 10-Mar-2016 Glenn Kasten <gkasten@google.com> Use AUDIO_IO_HANDLE_NONE instead of 0

since parameter type is audio_io_handle_t

Change-Id: Ic556df530148b8390d56b0fc2d2a2d71e12b3ca9
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
0b5608015b1175c52acbcb97ca8337cde7d66397 24-May-2016 Chih-Hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in audio media jni." am: 9ecb10d1b5
am: ca3f49d594

* commit 'ca3f49d594f5c00e6b5d6817bcdb0af02e7224e6':
Fix misc-macro-parentheses warnings in audio media jni.

Change-Id: I3828c9720f7fe91bc60058daeca2d598f0302d32
0ca16ef3b8f42f74fdd3d32e7826f9df670bdf90 20-May-2016 Chih-Hung Hsieh <chh@google.com> Fix misc-macro-parentheses warnings in audio media jni.

Bug: 28705665
Change-Id: Iff476943a0a2c2ae68778d1f4bca5d3e9e04bd26
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
33b840444f5a481dd31e129079d3c0cf3acdf80e 08-Mar-2016 Glenn Kasten <gkasten@google.com> Use audio_session_t consistently

Also prefer AudioManager.AUDIO_SESSION_ID_GENERATE over
AudioSystem.AUDIO_SESSION_ALLOCATE, because
AudioSystem.AUDIO_SESSION_ALLOCATE is @hide.

Bug: 27562099
Change-Id: I5924554feb919db7f2390f5b062faedd515421af
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
b57dd722f1dc0663417da37d3a82f8283ad3c982 24-Sep-2015 Elliott Hughes <enh@google.com> resolved conflicts for a884d81e to stage-aosp-master

Change-Id: Ice485967fa96f13786024b6939b826638e906ff0
76f6a86de25e1bf74717e047e55fd44b089673f3 19-Sep-2015 Daniel Micay <danielmicay@gmail.com> constify JNINativeMethod function pointer tables

Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
077999844f306d31d3ea9593b7e7b2f06e7f7483 19-Jun-2015 Eric Laurent <elaurent@google.com> audio effect JNI: fix global ref leak.

Remove one more global ref leak in AudioEffect
and Visualizer JNI.

Bug: 21629892.
Change-Id: Id77fc2d10f3dc9d3154d6a1cf0f8cc0f83683584
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
76f81331886c0972e5f7432e4edd8c36ef1048e6 05-Jun-2015 Eric Laurent <elaurent@google.com> Use only strong references to AudioEffect

Modify AudioEffect and Visualizer JNI to use strong references to
native AudioEffect object.

Bug: 21629892.

Change-Id: I4c2dea0b2e16d807d6dc5d6b09e02e4652d48873
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
fa5ecdc4ac6d7a8db2bb9e4a6a60a3189025df30 28-Apr-2015 Svet Ganov <svetoslavganov@google.com> Respect the record audio app op - framework

Change-Id: I5696d2ef22738ccffaf8bd7a0ee68cbc3dea3bf1
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
b27a8a5bcc40054f6d775d070bc2de6eb996d1c2 05-Nov-2014 Eric Laurent <elaurent@google.com> AudioEffect JNI: use new max preprocessing constant

Bug: 18226810.
Change-Id: Ica5677da247268306b34dfce38f25394586817fd
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
4fc28d78cb925c2780abf02c6826e77f8f8a230a 11-Sep-2014 Eric Laurent <elaurent@google.com> AudioEffect JNI: fix queryEffects()

Some effects supported by the platform may not be
returned to JAVA layer because not visible by applications.
The size of the array of effect descriptors
returned must be adjusted so that no entry in the array is null.

Bug: 17453177.
Change-Id: I3baaacf24bcb0fa45ce50461a1ac3d6eaa67f4b9
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
ea7861c918567d17d40a762b38f97c053d88b839 17-Dec-2013 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in audio effect classes

For storing pointers, long is used in AudioEffect
and Visualizer classes, as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Ief49bbe5baef663e268c7f6d70ac33a4df45621c
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
4526f0de0a5698832719f16158bed57ad209d4f2 16-Nov-2012 Peter Karlsson <peter1.karlsson@sonyericsson.com> Handle errors from AudioEffect::queryNumberEffects

There may be cases where queryNumberEffects fails leading
to the usage of the uninitialized numEffects.

Change-Id: If6d46987021ff6f0c9a2123d8714ff5fdf9ced45
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

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

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
8564c8da817a845353d213acd8636b76f567b234 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/base/media/jni/audioeffect/android_media_AudioEffect.cpp
71f2cf116aab893e224056c38ab146bd1538dd3e 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/base/media/jni/audioeffect/android_media_AudioEffect.cpp
09f1735fadf985f321abef5fe696d0b80c6b46c7 12-Aug-2011 Eric Laurent <elaurent@google.com> Fix issue 5144429: CTS test fails for AudioEffects

android_media_AudioEffect_native_setup() was not initializing
properly the effect descriptor for audio pre processings.

AudioEffect tests should create per processing effects on a valid
AudioRecord session.

Change-Id: Ia1862ca91c98e272f9374b9225a7d4ce7ef132fc
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
0f7f4ece1b6b73caf608d533d833a8cdc11c8131 24-Jul-2011 Eric Laurent <elaurent@google.com> Added APIs for audio preprocessing

Added APIs to control pre processes applied on captured audio.
Those APIs are still hidden until reviewed by API council.

Three types of standard pre processes are supported:
- Automatic Gain Control (AGC) by AutomaticGainControl class
- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class
- Noise Suppression (NS) by NoiseSuppressor class

A method is added to AudioEffect class to query audio pre processings
applied by default by the platform on a given AudioRecord session ID.

Change-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
602b3286ffe7da6e70bf2d9e4861a5d74ff7c473 18-Mar-2011 Eric Laurent <elaurent@google.com> Fix issue 3509396: AudioEffect.getParameter JAVA.

Removed dead/buggy code in AudioEffect.getParameter() and
AudioEffect.command() that was meant to return the actual length of
meaningful data in the returned parameter or command reply.

This is replaced by the method return status indicating this length when
positive (negative return codes still indicate the same errors as before).

Modified automated AudioEffect tests accordingly.

Change-Id: Ie89617f912766b8dee73b81f92af9c48027c982d
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
2fb43ef8c0b922c1bd0d7cb6867e30d702d4bdb8 24-Sep-2010 Eric Laurent <elaurent@google.com> fix problem in AudioEffect JNI setup.

There is a problem in AudioEffect and Visualizer native_setup() methods
that causes a crash in the application after the mediaserver process
has crashed and restarted.
The problem is that the native AudioEffect/Visualizer constructor is
called while the JNI is in critical state after calling
GetPrimitiveArrayCritical(). As the mediaserver process just restarted, the
first call to AudioSystem will cause the binder IAudioflinger interface to
be reteived and a callback send to AudioSystem JNI to clear the mediaserver
error state. This will call env->FindClass() and crash due to the JNI being
in critical state.

Also fixed a similar problem in AudioTrack JNI

Change-Id: I4a9026a3e26c7f78d9b4b4bec1aac90fbee2ab62
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
1a5149e5d7f2dddc8b324f7695e69fd89af73c52 22-Sep-2010 Eric Laurent <elaurent@google.com> Fix issue 3022800.

- Created sub-package android.media.audiofx for audio effects.
- Hid AudioEffect class contructor, methods and variables not needed by
applications
- Added more javadoc comments for AudioEffect Class

Change-Id: Ibbb40d4e714bb248aa32cf82d7763d74efae96d1
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
a4c72acfbc6c06588dd26cf41e67a834fc0a54f9 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/base/media/jni/audioeffect/android_media_AudioEffect.cpp
ca57d1cc89d65dfbd59c749c5736574cd08c7bd3 23-Jul-2010 Eric Laurent <elaurent@google.com> Audio Effects: added methods to effects java classes to store and load 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
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
4cb15cf15dfc9d9c6c8dc34911a4ed6bf53e8e4c 09-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix swap of sessionId and output in audio effect API.

Change-Id: Idc93415efef92087507401e50cfb235a6f1f7ed7
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
df9b81ced437b11f8a3fcf4ba3ea6af703d121e2 02-Jul-2010 Eric Laurent <elaurent@google.com> Added Visualizer effect.

The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
- the enable()/disable() methods have been replaced bya more standard setEnabled() method.
- some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
53334cdb81bab4a4dfd0a41d2ef50709015a36c8 24-Jun-2010 Eric Laurent <elaurent@google.com> Various fixes and improvements in audio effects implementation

Effect API:
- Use different definitions for audio device, channels, formats... in AudioSystem and EffectApi:
Removed media/AudioCommon.h file created for initial version of EffectApi
- Indicate audio session and output ID to effect library when calling EffectCreate(). Session ID can be useful to optimize
the implementation of effect chains in the same audio session. Output ID can be used for effects implemented in audio hardware.
- Renamed EffectQueryNext() function to EffectQueryEffect() and changed operating mode:
now an index is passed for the queried effect instead of implicitly querying the next one.
- Added CPU load and memory usage indication in effects descriptor
- Added flags and commands to indicate changes in audio mode (ring tone, in call...) to effect engine
- Added flag to indicate hardware accelerated effect implementation.
- Renamed EffectFactoryApi.h to EffectsFactoryApi.h for consistency with EffectsFactory.c/h

Effect libraries:
- Reflected changes in Effect API
- Several fixes in reverb implementation
- Added build option TEST_EFFECT_LIBRARIES in makefile to prepare integration of actual effect library.
- Replaced pointer by integer identifier for library handle returned by effects factory

Audio effect framework:
- Added support for audio session -1 in preparation of output stage effects configuration.
- Reflected changes in Effect API
- Removed volume ramp up/down when effect is inserted/removed: this has to be taken care of by effect engines.
- Added some overflow verification on indexes used for deferred parameter updates via shared memory
- Added hardcoded CPU and memory limit check when creating a new effect instance

Change-Id: I43fee5182ee201384ea3479af6d0acb95092901d
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
948235c06ed0d49190b2f49d9299b473c4dd61a9 09-Jun-2010 Eric Laurent <elaurent@google.com> Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.

Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations,
OpenSL ES effect interfaces and audio effect JNI.

Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class
to implement more specific JAVA classes to control audio effects from JAVA applications.

Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp