History log of /frameworks/base/media/jni/audioeffect/android_media_Visualizer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
67f304e2ca0d7a93730669b143bb30ef6a3f7199 31-Dec-2014 Haitao Feng <haitao.feng@intel.com> Use NULL instead of 0 when invoking CallStaticVoidMethod

static void CallStaticVoidMethod is variable argument function.
if pass 0 to the function like: CallStaticVoidMethod(......, 0),
0 will be treated as INT data type.but in the CallStaticVoidMethod
implement 0 will be treated as pointer data type.Pointer in 64bit
system occupied 8 bytes, but in 64bit system int occupied 4 bytes.
if call function like: CallStaticVoidMethod(......, 0),
only low 4 bytes will be assigned 0.Turned out it actually call
function like this: CallStaticVoidMethod(......, 0xXXXXXXXX00000000).
intent to pass NULL to function but passed non-NULL parameter to
the function.this will cause GCDaemon crash.

Bug: 18911458
Change-Id: I9d700d3790a80dbee6826f64baf9ef5d81ca390f
Reviewed-by: Liao, Bruce <bruce.liao@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
/frameworks/base/media/jni/audioeffect/android_media_Visualizer.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_Visualizer.cpp
badca26cb218852d32862dada36ee52fce865ad2 20-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Add audio level monitoring capabilities in Visualizer effect

Extend the visualizer audio effect with the capability to query
peak and RMS values for the currently playing audio.
Values are expressed in mB and are retrieved as an array of
int values in the native layer, and written directly as
object fields for the JNI.

Bug 8413913

Change-Id: I808075a18e61f85c566544a2bdaae10e5c4a644b
/frameworks/base/media/jni/audioeffect/android_media_Visualizer.cpp
67a12184776605b6e6ddc01ca91b533a2e37a40b 26-Apr-2013 Mike J. Chen <mjchen@google.com> Fix a crash case

There's a runtime check for a bad argument, but it is
after the usage of the bad argument. Move the usage
after the check.

Bug 8687716

Change-Id: Iddfa457951bac69b436a430cda21b5d7a563107b
Signed-off-by: Mike J. Chen <mjchen@google.com>
/frameworks/base/media/jni/audioeffect/android_media_Visualizer.cpp
e1123e7f36723a8b888501c9a22a589297849ca2 16-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Add support for scaling mode parameter in Visualizer effect

Add set/get methods to set how the Visualizer scales the captured
data.

Change-Id: Ia1da00fd5474dd3484b59caf7d1d0a812d0347de
/frameworks/base/media/jni/audioeffect/android_media_Visualizer.cpp
3540a0197f56c4bcd7d7419f4502bfca34257de2 11-Jan-2012 John Grossman <johngro@google.com> Enhance Visualizer behavior in the case of mediaserver death.

Bring the Visualizer class into line with the SDK documentation by
returning ERROR_DEAD_OBJECT instead of ERROR_INVALID_OPERATION when
the Visualizer loses its binder connection to the mediaserver because
of a mediaserver restart.

Also add a new callback interface to allow clients to be
asynchronously notified in the case of server death. Right now, the
interface definition and the registration method are flagged as hidden
pending API council review/approval.

See http://b/issue?id=5717519 for details.

Change-Id: Ic15856f27ed5a950a583ac11ca81f79bd7e9b1a0
Signed-off-by: John Grossman <johngro@google.com>
/frameworks/base/media/jni/audioeffect/android_media_Visualizer.cpp
449725f9aa67136a38c7554ba76ac4e27e5e3bd3 10-Jan-2012 John Grossman <johngro@google.com> Reuse callback buffers in the Visualizer.

Don't re-allocate buffers used by Visualizer callbacks as this causes an
unacceptable amount of GC thrash. Instead, lazily allocate the buffers and only
reallocate them when the required size changes.

See http://b/issue?id=5717519 for details.

Change-Id: Ibd157ed51f30687ce7c4ef0b4003258a484e0f5d
Signed-off-by: John Grossman <johngro@google.com>
/frameworks/base/media/jni/audioeffect/android_media_Visualizer.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_Visualizer.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_Visualizer.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_Visualizer.cpp
cc02ac54ac0758e6f44b2d8e5134ff1b2fa96409 23-Oct-2010 Eric Laurent <elaurent@google.com> Fix issue 3126094.

android_media_Visualizer.cpp:
Delete local reference to jArray in captureCallback() in
the case of waveform capture.

Change-Id: Ia822ab6d9945fff93605f7732e56120c19fd42a5
/frameworks/base/media/jni/audioeffect/android_media_Visualizer.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_Visualizer.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_Visualizer.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_Visualizer.cpp