History log of /frameworks/base/core/jni/android_media_AudioSystem.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7f5eb9fe3c10d8d83ff0e2b0fc60a05c2e6d5b02 02-Dec-2014 Eric Laurent <elaurent@google.com> AudioSystem JNI: Add audio policy custom mixes registration

Bug: 16009464.

Change-Id: I3763e79f4fa0331acb56d1d6f575c7a36e0bebd5
/frameworks/base/core/jni/android_media_AudioSystem.cpp
6368a7df1884031b6620493e096abe8510c05e24 19-Nov-2014 Eric Laurent <elaurent@google.com> AudioSystem JNI: fix AudioPortConfig mask usage

Bug: 18444838.
Change-Id: I9151538399001c719b9e0681c00d47a26928896c
/frameworks/base/core/jni/android_media_AudioSystem.cpp
449c5887101047d187a55217ced6d8a5c98fb367 12-Nov-2014 Eric Laurent <elaurent@google.com> audiosystem JNI: check env pointer before use.

Bug: 18332935.
Change-Id: I1ec820f0282833e13444ec05d50da3ce70d19d8d
/frameworks/base/core/jni/android_media_AudioSystem.cpp
c1bcdbb75877d99972f1cd13a9c40126822621bc 29-Oct-2014 Vladimir Marko <vmarko@google.com> Fix android_media_AudioSystem_getMasterMute return type.

Caused FPU stack overflow on x86.

Bug: 18023418
Change-Id: I0b8102cad5f5a883f615fa5dfa3017f56258a192
/frameworks/base/core/jni/android_media_AudioSystem.cpp
b634e1b6d6bda56128c354b1803b04b537e3799d 01-Aug-2014 Eric Laurent <elaurent@google.com> AudioSystem: add API to query audio HW sync source

Add a method to query from the audio HAL the HW sync
source used for a given audio session.
Add an AudioAttributes flag to request an output with
HW sync source.

Bug: 16132368.
Change-Id: Ic31b2924b98f242c3aa0d58688879f05ea02d6f7
/frameworks/base/core/jni/android_media_AudioSystem.cpp
62dc1768d6a2fcbed9e5dc4b26ecc4ccd22122fd 25-Jul-2014 Eric Laurent <elaurent@google.com> rename AudioSystem::newAudioSessionId()

Rename AudioSystem::newAudioSessionId() to
AudioSystem::newAudioUniqueId() as it can be used
also for I/O handles.

Bug: 12378680.

Change-Id: I3f6658db2b8db8f56d1a99f12b15429e293631e6
/frameworks/base/core/jni/android_media_AudioSystem.cpp
f44d49995673dedfd67bd0171066525db8bbf9f4 20-Jun-2014 Elliott Hughes <enh@google.com> am 19597647: am ff6b0e24: am f1896106: Merge "Fixed VM memory leak in AudioSystem JNI interface"

* commit '19597647f957c4f9755af2f405160f76460ca26d':
Fixed VM memory leak in AudioSystem JNI interface
8a21f5dd79e93aa4e4b08ab4f33b9255d7c06961 06-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioManager: add ability to allocate a new session ID

Expose method to allocate a new session ID.
Make the generic error code public.

Change-Id: Iec93548292845e3a1b1a97be9bbe54e9fcf06f2d
/frameworks/base/core/jni/android_media_AudioSystem.cpp
0078c7cc59082d32799b9097a81a0341fe98619d 04-Jun-2014 Eric Laurent <elaurent@google.com> AudioSystem JNI: fix audio gain channel count

Use audio utility function instead of popcount
to get channel count from channel mask

Bug: 14815883.
Change-Id: Ia9a898c9f7f03d22caeefb418be1e33f65f7b7bb
/frameworks/base/core/jni/android_media_AudioSystem.cpp
3a24199a0fe9479802ff6096d82cb3745efa1f1f 20-May-2014 Eric Laurent <elaurent@google.com> AudioManager: add audio port gain control

Implement AudioManager.setAudioPortGain() API.

Bug: 14815883.

Change-Id: Ib54bd1fd1392c474f4767a00228b0a617c51ec5e
/frameworks/base/core/jni/android_media_AudioSystem.cpp
700e73471d85348b52ecf213c36bb24b93997ec7 03-May-2014 Eric Laurent <elaurent@google.com> audio routing update listener

Implement audio port and audio patch
callback infrastructure for clients to receive
notifications when audio routing changes occur via the
OnAudioPortUpdateListener interface.

Bug: 14815883.

Change-Id: I32cbba64eca7369871aec235ff100de1f0c2d344
/frameworks/base/core/jni/android_media_AudioSystem.cpp
b69681c894c663e84f2826d9b0c832ceb9b45047 20-May-2014 Eric Laurent <elaurent@google.com> AudioSystem: added JNI for routing extensions

Bug: 14815883.

Change-Id: Ia0c0d14a8e3051a4bc0ce502b6e979135b170c97
/frameworks/base/core/jni/android_media_AudioSystem.cpp
b637ccffd856ba911c1527077cec3abff39035f5 30-May-2014 Viorel Suman <viorel.suman@intel.com> Fixed VM memory leak in AudioSystem JNI interface

The function android_media_AudioSystem_error_callback from AudioSystem
JNI interface is using FindClass function but does not delete the
reference created by VM in this function.
By doing this call, VM will add a local reference in IndirectRefTable
and it's the caller's job to delete this reference.
By not doing this, everytime this callback is called, a new reference is
added and never deleted.
The effect is crashing the VM running system_server:

E/dalvikvm( 3071): JNI ERROR (app bug): local reference table overflow (max=512)
W/dalvikvm( 3071): JNI local reference table (0x732da288) dump:
W/dalvikvm( 3071): Last 10 entries (of 512):
W/dalvikvm( 3071): 511: 0x42a90008 java.lang.Class<android.os.Parcel>
W/dalvikvm( 3071): 510: 0x4381fd90 android.view.KeyEvent
W/dalvikvm( 3071): 509: 0x439b9808 android.view.KeyEvent
W/dalvikvm( 3071): 508: 0x42d2fe18 java.lang.Class<com.android.server.input.InputManagerService>
W/dalvikvm( 3071): 507: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071): 506: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071): 505: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071): 504: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071): 503: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071): 502: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071): Summary:
W/dalvikvm( 3071): 510 of java.lang.Class (3 unique instances)
W/dalvikvm( 3071): 2 of android.view.KeyEvent (2 unique instances)
E/dalvikvm( 3071): Failed adding to JNI local ref table (has 512 entries)
...
E/dalvikvm( 3071): VM aborting

In this case, PID 3071 is system server.

Change-Id: I0c113eb72256984854d59a3ccef11a8d23f96e79
Signed-off-by: Robert Chiras <robert.chiras@intel.com>
/frameworks/base/core/jni/android_media_AudioSystem.cpp
6bb5cb24b458a11bd02e9bff37c03f6381e06b7c 16-Jan-2014 Narayan Kamath <narayan@google.com> Resolved conflicts for merge of 28c6ec02 to master

Change-Id: Idf1cabf2694dfa13d928df944d346f5e051b6948
075e9a19ce645752f8282bc19c91b25978a7dc52 06-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in media classes

For storing pointers, long is used in media 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: Idc4ca0124d03df7f9cef412488abafd020e5e774
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/core/jni/android_media_AudioSystem.cpp
c94752a01a709e9f3914c40ebdd77face2d52cce 19-Dec-2013 Glenn Kasten <gkasten@google.com> Remove I/O handle from get/setParameters parameter list

This is a step towards isolating application-level from
I/O handles as much as possible.

Change-Id: I355619c36fee2d5743080b57f146626fb849fc19
/frameworks/base/core/jni/android_media_AudioSystem.cpp
dfb881f96af7898151940a4bbc52e45e6043d38b 18-Jul-2013 Eric Laurent <elaurent@google.com> AudioSystem: new audioflinger restart detection

Add a specific method to AudioSystem for AudioService to poll
for AudioFlinger service restart instead of relying on current
callback mechanism which is flaky.

Bug: 9693068.
Change-Id: Id21d142a22b257205700201978cce1cb8b15180d
/frameworks/base/core/jni/android_media_AudioSystem.cpp
539719a7af34be96743a4f408aedf6437f441bbf 18-Jul-2013 Eric Laurent <elaurent@google.com> Revert "Fix media server restart detection mechanism"

This reverts commit ca35e4823459189dd57ec5472caf3a617d03b568.
/frameworks/base/core/jni/android_media_AudioSystem.cpp
6824a143c90a2cd05c5f4f05830fa53527e856b8 23-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Remove unused includes"
82c2d54b53d4b0f568a0ca8bf3d77ef6c2be0c12 22-Jun-2012 Glenn Kasten <gkasten@google.com> Remove unused includes

Change-Id: Id9842fe092aba2761c0641c76ad06749b2e1d9b3
/frameworks/base/core/jni/android_media_AudioSystem.cpp
70c17f47031a60b4ce8bf65df895e8d53f8846fe 22-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Inform AudioFlinger of device's low RAM attribute"
fd116ad1ab02f6060a0b2201f018317fa32e28b4 13-Jul-2013 Glenn Kasten <gkasten@google.com> Inform AudioFlinger of device's low RAM attribute

to help it configure it's memory

Bug: 9798886
Change-Id: Ia2df59cfcb76f5ff48cca92b107915e2adde899c
/frameworks/base/core/jni/android_media_AudioSystem.cpp
ca35e4823459189dd57ec5472caf3a617d03b568 18-Jul-2013 Eric Laurent <elaurent@google.com> Fix media server restart detection mechanism

There is a flaw in the mechanism used by AudioService
to detect the fact that mediaserver process did crash and restart.
It relies on polling AudioFlinger service until a successful
connection triggers a callback into AudioSystem JNI and then into AudioService.
But if another thread in system_server process, not attached to the
JNI environment, reconnects before AudioService, the callback is called in
a detached context and dropped.

The fix consists in attaching the thread executing the callback
and detaching it if needed.

Bug: 9693068.
Change-Id: I184308b12a3f87653bf818abf0159e0e45a66ef0
/frameworks/base/core/jni/android_media_AudioSystem.cpp
61dcdf3764b614c6f01e77cb4342d192e3101f8a 26-Jun-2013 Oliver Woodman <olly@google.com> Expose latency methods through AudioManager and AudioTrack.

There's a longer term plan to fix audio/video sync, but
this gets the Java level to parity with the native level,
and allows applications in Java to achieve sync in the
same way as the native media player. APIs are left as hidden
for now.

Change-Id: Iaf70baac1ffb50ef48e03355163158568fbd0fe9
/frameworks/base/core/jni/android_media_AudioSystem.cpp
679d5046f245ea8b39f9b5596195f3468808dd54 05-Feb-2013 Jean-Michel Trivi <jmtrivi@google.com> Add support for querying whether the music stream is active remotely

Bug 7485803

Change-Id: I554b44bd35b017fa4030a0d89779066c96594f2b
/frameworks/base/core/jni/android_media_AudioSystem.cpp
d677054ca63f55abaa1c478ea3c50f6be665a979 10-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> Don't play notifications during speech recognition

Add support for querying AudioManager to know whether speech
recognition is currently underway.

Don't play a notification if speech recognition is underway.

Bug 7314859

Change-Id: I1bd013a3168cfe1a6b6dcfd28565e1c3c512eb6a
/frameworks/base/core/jni/android_media_AudioSystem.cpp
c6c4365ddb0213c548b055f257dc8077389224fb 25-Sep-2012 Glenn Kasten <gkasten@google.com> Implement android.media.AudioManager.getProperty()

Bug: 6635041
Change-Id: I0e7d53b99559cdc89f2f107f23048e4b1a8dd383
/frameworks/base/core/jni/android_media_AudioSystem.cpp
6940484150b9ef96c93ddfb4b2dfedcaa373cb34 14-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Use correct syntax for #include <> """
c81d31c3f801ba3d559a22c27b926ace38a7ab49 13-Mar-2012 Glenn Kasten <gkasten@google.com> Use correct syntax for #include <> ""

Change-Id: I943137108668ae66f8eba18dafe069a7951bcd8f
/frameworks/base/core/jni/android_media_AudioSystem.cpp
18db49a46259020387c40fff36d92edc1087a366 13-Mar-2012 Glenn Kasten <gkasten@google.com> Whitespace and indentation

Fix indentation to be multiple of 4.
Make it easier to search:
sp< not sp < to
"switch (...)" instead of "switch(...)" (also "if" and "while")
Remove redundant blank line at start or EOF.
Remove whitespace at end of line.
Remove extra blank lines where they don't add value.

Use git diff -b or -w to verify.

Change-Id: I966b7ba852faa5474be6907fb212f5e267c2874e
/frameworks/base/core/jni/android_media_AudioSystem.cpp
b3db213eb55acb661e4b9ea40bcc00af4b76fab9 19-Jan-2012 Glenn Kasten <gkasten@google.com> Update comments

We no longer put the filename at start of file.

Change-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e
/frameworks/base/core/jni/android_media_AudioSystem.cpp
cbdb49dc5e1b993a0bc5c68dbfb9486bfa0cd762 20-Oct-2011 Mike Lockwood <lockwood@android.com> Simple master volume support

Still needs integration with Settings (for persistence) and VolumePanel UI.

Change-Id: I9eca92c4b1ef2df2564411006a35753ab9618dce
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/jni/android_media_AudioSystem.cpp
7524a592526a14d20ec3f3acffd61fe18afaa4b4 20-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead setRingerMode(mode, mask)"
a6dafea172ac344f38cf4255c8896766f10b7b55 18-Jan-2012 Glenn Kasten <gkasten@google.com> Fix incorrect includes of AudioTrack.h

Remove unnecessary includes of AudioTrack.h.
Use forward declaration of class names in preference to #include when possible.

Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
/frameworks/base/core/jni/android_media_AudioSystem.cpp
ee7fea9f2fd536107450204c9c2058bbe215f713 18-Jan-2012 Glenn Kasten <gkasten@google.com> Remove dead setRingerMode(mode, mask)

Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
/frameworks/base/core/jni/android_media_AudioSystem.cpp
1be4afecb752559092654c0e9f4ca302b6d04e9c 18-Jan-2012 Eric Laurent <elaurent@google.com> Merge "audio framework: manage stream volume per device"
9bc8358ddaa01c3490f9709991989633a6a3dd42 19-Nov-2011 Eric Laurent <elaurent@google.com> audio framework: manage stream volume per device

Improve volume management by keeping track of volume for each type
of device independently.
Volume for each stream (MUSIC, RINGTONE, VOICE_CALL...) is now maintained
per device.

The main changes are:
- AudioService now keeps tracks of stream volumes per device:
volume indexes are kept in a HashMap < device , index>.
active device is queried from policy manager when a volume change request
is received
initalization, mute and unmute happen on all device simultaneously
- Settings: suffixes is added to volume keys to store each device
volume independently.
- AudioSystem/AudioPolicyService/AudioPolicyInterface: added a device argument
to setStreamVolumeIndex() and getStreamVolumeIndex() to address each
device independently.
- AudioPolicyManagerBase: keep track of stream volumes for each device
and apply volume according to current device selection.

Change-Id: I61ef1c45caadca04d16363bca4140e0f81901b3f
/frameworks/base/core/jni/android_media_AudioSystem.cpp
fb6b5bdcea04c1fa6ccd046373f5ad3a62784713 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_mode_t consistently"
bc1d77b6cbce23fbe25f7231651037ae195bc90e 13-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_stream_type_t consistently

At native level it was a mixture of audio_stream_type_t, int, uint32_t,
and uint8_t. Java is still int. Also fixed a couple of hard-coded -1
instead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0
instead of AUDIO_STREAM_VOICE_CALL.

Change-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83
/frameworks/base/core/jni/android_media_AudioSystem.cpp
accb114e59ca51f2a7d370f64de8e98bde158c51 04-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_mode_t consistently

It was int or uint32_t.
Also make getMode() const.

Change-Id: Ibe45aadbf413b9158e4dd17f2b3bcc6355288d37
/frameworks/base/core/jni/android_media_AudioSystem.cpp
290029d19a9d314e925b73e19453ab0497602f80 14-Jun-2011 Dima Zavin <dima@android.com> audio: update for audio/audio_policy header names/locations

Change-Id: I36c49352eee57559403cd1597f56a8485a360289
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/base/core/jni/android_media_AudioSystem.cpp
34bb419e5946ab28112e9e27a4d1b3928d31e0e2 11-May-2011 Dima Zavin <dima@android.com> update for new audio.h header location

Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/base/core/jni/android_media_AudioSystem.cpp
24fc2fb1c541e954b83fd31ea9f786a5e9b45501 20-Apr-2011 Dima Zavin <dima@android.com> audio/media: convert to using the audio HAL and new audio defs

Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/base/core/jni/android_media_AudioSystem.cpp
ed0079ddddd4070f3369b13b274222da2e69f4b9 04-Apr-2011 Glenn Kasten <gkasten@google.com> Miscellaneous code cleanup in audio framework

Changes:
- Move declaration of kClassPathName to top of file so it can be used
in more than one place, instead of "android/media/AudioSystem".
- Make private methods static.
- Add comment to stream_type, audio_mode, force_use types that they must match
values in AudioSystem.java.
- Add comment about unused types mp3_sub_format and vorbis_sub_format.
- Fix typos.
- Use @ in javadoc comments.
- Delete dead APIs setMode, getMode, setRouting, getRouting in AudioSystem.java
(they are all hidden, deprecated, and unused by rest of framework)
- Delete unused private log method.
- Fix pathname for android_media_AudioSystem.cpp.
- Improve code formatting for space after == and !=.
- Add logging of delta for changing audio policy manager ref count.

Change-Id: I18037c7beb8ab76d1fda08c11e589f6e591d36e1
/frameworks/base/core/jni/android_media_AudioSystem.cpp
8b4b97a14ad9b5b982d8fe92755efabec8ad0076 04-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3352047 Wrong message when adjusting volume

Add hidden AudioManager.getDevicesForStream and output device codes.

Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
/frameworks/base/core/jni/android_media_AudioSystem.cpp
25101b0b9a84571ead15b26e9f4cd9c4298d7823 02-Feb-2011 Eric Laurent <elaurent@google.com> Fix issue 3371080

Modified default volume control logic in AudioService:
1 IN_CALL volume if in video/audio chat
2 NOTIFICATION if notification is playing or was playing less than 5s ago.
3 MUSIC

Modified silent mode:
- now also affect MUSIC stream type
- entering silent mode when VOL- hard key is pressed once while selected
stream volume is already at 0 (except for VOICE_CALL stream).
- exiting silent mode when pressing VOL+ hard key while in silent mode

Play sound FX (audible selections, keyboard clicks) at a fixed volume.

Modified audio framework:
- isStreamActive() method now implemented in AudioPolicyManagerBase (previously AudioFlinger)
- iStreamActive() now specifies a time window during which the stream is considered
active after it actually stopped.

Change-Id: I7e5a0724099450b9fc90825224180ac97322785f
/frameworks/base/core/jni/android_media_AudioSystem.cpp
0e7a4d9edcee63c6b770db9b6fe792abad5d7b53 15-Oct-2010 Eric Laurent <elaurent@google.com> Fix issue 3098880.

Test value returned by getJNIEnv() in android_media_AudioSystem_error_callback()
and exit if NULL.

Change-Id: If30e5a05c585f34c66e6ad8cece3f7b46ef4be8e
/frameworks/base/core/jni/android_media_AudioSystem.cpp
23f25cda0c73f8eb878844dea32fb0bd419edca2 25-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.

Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.

Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
/frameworks/base/core/jni/android_media_AudioSystem.cpp
a553c25b33c99b345cf1c8688f8df0ed8df14e5a 17-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1795088 Improve audio routing code

Initial commit for review.
Integrated comments after patch set 1 review.
Fixed lockup in AudioFlinger::ThreadBase::exit()
Fixed lockup when playing tone with AudioPlocyService startTone()
/frameworks/base/core/jni/android_media_AudioSystem.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/jni/android_media_AudioSystem.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/jni/android_media_AudioSystem.cpp
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
/frameworks/base/core/jni/android_media_AudioSystem.cpp
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/jni/android_media_AudioSystem.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/jni/android_media_AudioSystem.cpp