59 Commits

Author SHA1 Message Date
Steven Moreland
5c091dc944 Merge "frameworks/base: use proper nativehelper headers"
am: 826eafd958

Change-Id: I36f10ff4d963284a313f1cc5b368f82549a4adb2
2017-07-20 02:50:53 +00:00
Steven Moreland
2279b25342 frameworks/base: use proper nativehelper headers
libnativehelper exports headers under nativehelper. These were
available before incorrectly as global headers in order to give
access to jni.h.

Test: modules using frameworks/base find headers
Bug: 63762847
Change-Id: I0f9f231acdebe460f279135462f43d3e32eff64d
2017-07-19 10:06:40 -07:00
Steven Moreland
d2bf323c40 Merge "Reference nativehelper/jni.h as jni.h"
am: 899a1f23c5

Change-Id: I30ec4f6b329360ea4161f2ad5538ecd238db7b62
2017-07-18 20:05:36 +00:00
Steven Moreland
889f9952d8 Reference nativehelper/jni.h as jni.h
nativehelper will no longer export nativehelper/jni.h so that everywhere
can reference this file with the same name.

Bug: 63762847
Change-Id: I8d2e9587439efa2d6ab03a5bdfa749fc620759e1
2017-07-17 12:08:45 -07:00
Colin Cross
58d87e8ab7 Convert libmedia_jni to Android.bp
See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: I1817c75ee45537ca0d5fc40a035f94a3dfeccc11
Merged-In: I1817c75ee45537ca0d5fc40a035f94a3dfeccc11
(cherry picked from commit 76de4f6b4d09423b3a5d3603527ce79acae4ed32)
2017-05-16 22:05:39 -07:00
Colin Cross
eb27d2798a Convert libmedia_jni to Android.bp
See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: I1817c75ee45537ca0d5fc40a035f94a3dfeccc11
Merged-In: I1817c75ee45537ca0d5fc40a035f94a3dfeccc11
(cherry picked from commit 76de4f6b4d09423b3a5d3603527ce79acae4ed32)
2017-05-17 03:02:21 +00:00
Andy Hung
32d516381c AudioEffect: return DEAD_OBJECT for FAILED_TRANSACTION
Test: CTS AudioSecurityTest
Bug: 38346284
Change-Id: I96b4995c2d11b4a33c4b2fa6987922e26c91d336
2017-05-16 12:33:56 -07:00
Marco Nelissen
1d10b88f40 Merge "Use libaudioclient"
am: 0a05c49248

Change-Id: I134c9c5b95e446fcc18e2b35a3eca2a4a794e8c8
2016-11-07 17:22:36 +00:00
Marco Nelissen
74abdda6a0 Use libaudioclient
Test: build/boot
Change-Id: I7c730bfd47297f311e00798b5927888ddc3f5062
2016-11-04 19:31:54 -07:00
Marco Nelissen
20edcbc89c Use libaudioclient
Test: build/boot
Change-Id: I7c730bfd47297f311e00798b5927888ddc3f5062
2016-11-03 10:58:33 -07:00
Mikhail Naganov
49cc2c8483 Split audio effects headers
There can be different use cases with the code that imports
headers from audio_effects (each subsequent case is a more
specialized version of the previous one):

  1. The code only needs access to general structures
     like effect_descriptor_t:
     ==> include system/audio_effect.h
     Example: AudioSystem in libmedia

  2. The code that needs access to effect UUID and parameter
     enums:
     ==> include system/audio_effects/effect_foo.h
     Examples: media framework effects interfaces, libwilhelm

  3. The code that needs to call into HAL:
     ==> include hardware/audio_effect.h
     Examples: libaudiohal (implementation part) and libeffects

  4. The code that implements a particular effect:
     ==> include audio_effects/effect_foo.h
     Examples: cts/.../CTSTestEffect.cpp
               stuff in hardware/, vendor/

Change-Id: I201dfa20ddc7aac797fd35934c0f06658f1e60be
Test: make
2016-10-14 15:31:35 -07:00
Glenn Kasten
5608a200ca Merge "Use AUDIO_IO_HANDLE_NONE instead of 0" 2016-10-05 17:35:37 +00:00
rago
addb7af2c0 resolve merge conflicts of a80bdc3 to nyc-mr1-dev-plus-aosp
Change-Id: If5b6322e611cc1171f767d48001d9672bfd0024d
2016-09-15 18:38:16 -07:00
rago
8dc9afa966 Fix scope for visualizer object release
Bug: 30684284
Change-Id: I4170511c6c7f36aa1bce3e439054bc6b8a4a2623
2016-09-15 12:12:27 -07:00
Glenn Kasten
87e901ccca Use AUDIO_IO_HANDLE_NONE instead of 0
since parameter type is audio_io_handle_t

Change-Id: Ic556df530148b8390d56b0fc2d2a2d71e12b3ca9
2016-08-16 14:14:27 -07:00
Eric Laurent
c8e1206ad5 Merge "Delete Visualizer before lpJniStorage" am: 03c209b2a3
am: 913e2f83b2

* commit '913e2f83b223486ac1461dab86758848f9ad08e1':
  Delete Visualizer before lpJniStorage

Change-Id: I76aa735d8f0a100e0e106050c90966bd003235bc
2016-06-07 18:13:09 +00:00
ganxiaolin
7b9f5be914 Delete Visualizer before lpJniStorage
It is related to Change: Id17bea8a6ca7132042b9bfefed398a715c139be7
Fix ANR because of bug of Visualizer.
If lpJniStorage was delete first, callback_data_lock become a invalid value.
At mReceiver.periodicCapture() in CaptureThread, it will lock callback_data_lock.
Thus, CaptureThread will wait a invalid memory forever and visualizer wait CaptureThread exiting and causing ANR.

Signed-off-by: ganxiaolin <ganxiaolin@xiaomi.com>
2016-06-06 11:09:05 +08:00
Chih-Hung Hsieh
0b5608015b 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
2016-05-24 18:56:37 +00:00
Chih-Hung Hsieh
0ca16ef3b8 Fix misc-macro-parentheses warnings in audio media jni.
Bug: 28705665
Change-Id: Iff476943a0a2c2ae68778d1f4bca5d3e9e04bd26
2016-05-19 15:14:54 -07:00
Glenn Kasten
33b840444f 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
2016-03-10 10:35:49 -08:00
Elliott Hughes
b57dd722f1 resolved conflicts for a884d81e to stage-aosp-master
Change-Id: Ice485967fa96f13786024b6939b826638e906ff0
2015-09-24 10:01:32 -07:00
Daniel Micay
76f6a86de2 constify JNINativeMethod function pointer tables
Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
2015-09-22 17:10:35 -04:00
Eric Laurent
077999844f audio effect JNI: fix global ref leak.
Remove one more global ref leak in AudioEffect
and Visualizer JNI.

Bug: 21629892.
Change-Id: Id77fc2d10f3dc9d3154d6a1cf0f8cc0f83683584
2015-06-19 09:13:02 -07:00
Eric Laurent
76f8133188 Use only strong references to AudioEffect
Modify AudioEffect and Visualizer JNI to use strong references to
native AudioEffect object.

Bug: 21629892.

Change-Id: I4c2dea0b2e16d807d6dc5d6b09e02e4652d48873
2015-06-08 18:50:05 -07:00
Svet Ganov
fa5ecdc4ac Respect the record audio app op - framework
Change-Id: I5696d2ef22738ccffaf8bd7a0ee68cbc3dea3bf1
2015-04-28 16:31:58 -07:00
Narayan Kamath
031acc4b39 am 3787decd: am 5137415e: Merge "Use NULL instead of 0 for pointer arguments of CallStaticVoidMethod."
* commit '3787decd8d41320ec9201405ec4cc893b2c99d78':
  Use NULL instead of 0 for pointer arguments of CallStaticVoidMethod.
2015-01-06 10:16:34 +00:00
Haitao Feng
8bd6a203ca Use NULL instead of 0 for pointer arguments of CallStaticVoidMethod.
CallStaticVoidMethod is varargs function, and calling it with
a literal 0 like CallStaticVoidMethod(..., 0) will treat the
argument as a 4 byte int in both 32 and 64 bit processes.

This is incorrect for pointer arguments where NULL should be
used instead.

Reviewed-by: Liao, Bruce <bruce.liao@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>

Change-Id: I9d700d3790a80dbee6826f64baf9ef5d81ca390f
2015-01-06 09:57:13 +00:00
Andreas Gampe
cba06c2272 resolved conflicts for merge of 6957369d to lmp-mr1-dev-plus-aosp
Change-Id: Ie3bd0e24c69c0c7ae500b8eb4a1198650e993a19
2014-11-10 19:41:52 -08:00
Andreas Gampe
5a15d0d31b Frameworks/base: Wall Werror in media/jni
Turn on -Wall -Werror in media/jni. Fix warnings.

Change-Id: I9da54ad379d8172ee535b52ee2b0637a2533f4e3
2014-11-10 18:19:40 -08:00
Eric Laurent
b27a8a5bcc AudioEffect JNI: use new max preprocessing constant
Bug: 18226810.
Change-Id: Ica5677da247268306b34dfce38f25394586817fd
2014-11-05 12:20:49 -08:00
Eric Laurent
4fc28d78cb 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
2014-09-10 15:05:03 -07:00
Ashok Bhat
ea7861c918 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>
2014-01-07 12:47:51 +00:00
Jean-Michel Trivi
badca26cb2 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
2013-09-23 14:03:39 -07:00
Mike J. Chen
67a1218477 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>
2013-04-26 12:39:04 -07:00
Ying Wang
d685894212 Add liblog
Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
2013-04-09 21:54:12 -07:00
James Dong
f3ec15425f am edde28fd: am 5d5526aa: Merge "Handle errors from AudioEffect::queryNumberEffects"
* commit 'edde28fd0956d941e4962e3228f3030e203da4aa':
  Handle errors from AudioEffect::queryNumberEffects
2012-12-28 09:47:46 -08:00
Peter Karlsson
4526f0de0a Handle errors from AudioEffect::queryNumberEffects
There may be cases where queryNumberEffects fails leading
to the usage of the uninitialized numEffects.

Change-Id: If6d46987021ff6f0c9a2123d8714ff5fdf9ced45
2012-11-16 16:14:54 +01:00
Glenn Kasten
b24a1b7f99 Remove obsolete references to libmedia_native
Bug: 6654403
Change-Id: I05d8e81fd31617b587fd1228a303c40db83e7f2d
2012-10-30 10:59:52 -07:00
Jean-Michel Trivi
e1123e7f36 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
2012-04-17 14:44:23 -07:00
Glenn Kasten
ae75f994cc Add libmedia_native
Change-Id: Ib8cff8abd73723b793f08da99ad59549f219e0e7
2012-03-16 11:51:30 -07:00
Glenn Kasten
4e42c5f41f Remove dependency on audio_* location
Change-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8
2012-03-14 16:44:34 -07:00
John Grossman
3540a0197f 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>
2012-02-16 13:45:11 -08:00
John Grossman
449725f9aa 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>
2012-02-16 13:45:11 -08:00
Steve Block
3762c31172 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
2012-01-08 13:19:13 +00:00
Steve Block
8564c8da81 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
2012-01-06 10:07:54 +00:00
Steve Block
71f2cf116a 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
2011-10-26 09:57:54 +01:00
Eric Laurent
09f1735fad 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
2011-08-11 18:06:18 -07:00
Eric Laurent
0f7f4ece1b 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
2011-07-25 14:39:00 -07:00
Eric Laurent
5cc0526339 Moved and renamed effect API header files
Moved specific effect header files to
system/media/audio_effects/include/audio_effects
and renamed to lower case (effect_xxx.h).

Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
2011-07-07 15:25:51 -07:00
Eric Laurent
602b3286ff 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
2011-03-21 17:11:59 -07:00