History log of /frameworks/base/core/jni/android_media_AudioSystem.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
858ab9907152b2391063f11706e22d9308cb0454 04-Jan-2017 Pavlin Radoslavov <pavlin@google.com> Merge "Add a mechanism for configuring the A2DP Source codecs" am: 63270f2b96 am: 8b46f87e7e am: da3de76bdb
am: 62c5226e9c

Change-Id: I14d4cc2dc91cb1ab431eda32d5066ac8f471c3a6
44a4ef0aa93ebb2912f36d65af42ffbb1bcdbc0f 21-Dec-2016 Pavlin Radoslavov <pavlin@google.com> Add a mechanism for configuring the A2DP Source codecs

* Added a new class BluetoothCodecConfig that contains codec-related
configuration or capabilities: codec type, priority, sample rate,
bits per sample, channel mode, and codec specific fields.

* Extended the Bluetooth A2DP AIDL interface to get/set the current
codec configuration

* Added new call handleBluetoothA2dpDeviceConfigChange() to the Media
Framework that is called when there are changes in the
Bluetooth A2DP device configuration - e.g., the A2DP codec is changed.

Test: A2DP streaming to headsets, TestPlans/71390
Bug: 30958229
Change-Id: I9a82716cbc2a5efbe77352a031ac80c88f6a2459
/frameworks/base/core/jni/android_media_AudioSystem.cpp
292a6a4e9934a94eea97b018befde3baed895f7d 01-Dec-2016 Jean-Michel Trivi <jmtrivi@google.com> Notification of playback activity

AudioService keeps track of status of implementations of PlayerBase.
AudioService's PlaybackActivityMonitor maintains a list of
playback configurations for each PlayerBase, and a list
of clients that want to receive updates about the playback.
Playback activity clients can query the playback configuration
of the system through AudioManager, or register a callback
for updates. For clients with MODIFY_AUDIO_ROUTING permission
(system), the playback configurations contain more information
about each player (player type, uid, pid, state), and can see
all players, not just the "active" ones. The act of stripping
off data about the players that is not supposed to be seen
by non-system clients, is referred to as "anonymization". It
is implemented in system server, so no system data is ever
sent to playback activity clients without system permission.
More information about the AudioPlaybackConfiguration is
available in the SystemApi (uid, pid, player type, player state).

Test: run cts -m CtsMediaTestCases -t android.media.cts.AudioPlaybackConfigurationTest
Bug: 30955183

Change-Id: I85997594c0378216419f5f0fdaa0714996fd3573
/frameworks/base/core/jni/android_media_AudioSystem.cpp
737d9fb181ec12a23934f7de4e3f8ded79486b1e 17-Aug-2016 Andy Hung <hunga@google.com> AudioSystem: Verify audio port array information

Bug: 30737845
Change-Id: Id092086862bc527fccc5e9f34c8a3ab16167ae92
/frameworks/base/core/jni/android_media_AudioSystem.cpp
b36d104b8ffba24417c1b15b763bc8972c6e0d3d 15-Apr-2016 Eric Laurent <elaurent@google.com> AudioSystem: allow platforms no audio ports

Allow platforms with no audio outputs or inputs. This
means that listAudioPorts() and listAudioPatches() methods can
return no ports or patches.

Bug: 25075342
Change-Id: I891c3ee2cdb2b96c0ac37d4e9cc00e77ae58a5b4
/frameworks/base/core/jni/android_media_AudioSystem.cpp
58ae278294017abca0dffc95f006ae646c88db89 17-Mar-2016 Glenn Kasten <gkasten@google.com> Merge "Use audio_session_t consistently" into nyc-dev
4ad39885f2e6e79ae1faaa41ae240eeffcefd368 15-Mar-2016 Jean-Michel Trivi <jmtrivi@google.com> Dynamic audio policies: device type and address

Store device type and address in audio mixes regardless of the
mix route type, no "registration" field.
For LOOP_BACK mixes, assign the REMOTE_SUBMIX device type.

Bug 25448664

Change-Id: I8d59b2fd3e05b1dcf1081ad826f985f5e3e74769
/frameworks/base/core/jni/android_media_AudioSystem.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/core/jni/android_media_AudioSystem.cpp
211d9052f265b4f41b6de74131482a7c77a5e005 27-Feb-2016 Glenn Kasten <gkasten@google.com> Add use for audio_unique_id_t

Bug: 25641253
Bug: 21019153
Change-Id: I955f7e224a522adc2a68bc1c2cd5d87d9046f1fb
/frameworks/base/core/jni/android_media_AudioSystem.cpp
8ab728093eed85c176822d58a0d2ba1f4ebbb362 26-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Audio record notification: report audio device information

Support querying the AudioDeviceInfo in AudioRecordConfiguration.
When AudioService (through RecordingActivityMonitor) receives
a recording event on an existing session, report it as an
update if the recording configuration has changed.

Bug 22876530

Change-Id: I1b72c08aa0589077fe8ad254087965e6384ce50a
/frameworks/base/core/jni/android_media_AudioSystem.cpp
33fd8169cdb7e7fa33885b6f892bc4f6df68959b 22-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Audio record notification: report client/device configuration

Report client and device recording configuration during updates.
Support querying the AudioFormat in AudioRecordConfiguration.

Bug 22876530

Change-Id: I90b44db9bc3fda479452fc63221f8082f5b6a741
/frameworks/base/core/jni/android_media_AudioSystem.cpp
ba6b4b400d850ba18fcb9d5bf9789d490f390acc 10-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Dynamic audio policies: JNI support for UID rules

Rename AttributeMatchCriterion to AudioMixMatchCriterion to be consistent
with the fact that now mixing rules are not always about audio attributes.

AudioSystem JNI: add support for UID-based rules.

Bug 26798796

Change-Id: Icb0f57841c94f410e1fac9ed071a829a26b9a58e
/frameworks/base/core/jni/android_media_AudioSystem.cpp
de41d3cd5a28cce3ba7f0fa23ba7c41ef93b223d 13-Jan-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge changes from topic 'recordingcallback'

* changes:
Audio recording notification API
AudioManager event dispatcher: make more generic
d3c71f075b139024e2bea39bbd75e3b976bfb7cb 07-Dec-2015 Jean-Michel Trivi <jmtrivi@google.com> Audio recording notification API

AudioService can register a recording callback with AudioSystem.
Callbacks are handled in a new class, RecordingActivityMonitor.
This class notifies registered AudioManager instances
of updates, only if this AudioManager has client callbacks.
Each AudioManager dispatches updates to its registered
callbacks.

Bug 22876530

Change-Id: I95c6e5ec0631e53af53a490bcecca96089490089
/frameworks/base/core/jni/android_media_AudioSystem.cpp
f04b84d4c66ea377ec6fe2b36f3a0994f3e94eba 19-Dec-2015 Andy Hung <hunga@google.com> Add setMasterMono and getMasterMono

Bug: 15283594
Bug: 22700363
Change-Id: I5d0552938ec2a54be4450512974d92ff8c77b1e9
/frameworks/base/core/jni/android_media_AudioSystem.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/core/jni/android_media_AudioSystem.cpp
2db94372749c4fcc9bd715f41e0b5c4045ee7c84 18-Jun-2015 Paul McLean <pmclean@google.com> Better handling of 0-length format conversions in convertAudioPortFromNative().

Bug: 21915588
Change-Id: I8eb3da2bfa94722a11cf47ba6fc5359d5e8e4916
/frameworks/base/core/jni/android_media_AudioSystem.cpp
4e5e9e9405dc626a03a653161644841102ad89f1 17-Jun-2015 Paul McLean <pmclean@google.com> Map >= 24bit encodings to ENCODING_PCM_FLOAT

Bug: 21851140
Change-Id: I8203281f5ca7d194e1bd2f417e75d3ef2fd561c7
/frameworks/base/core/jni/android_media_AudioSystem.cpp
f29e5f34b39a5688925ca4654be0eab11277b1cc 15-Jun-2015 Paul McLean <pmclean@google.com> Implement channel index masks in AudioDeviceInfo.

Bug: 21146646
Change-Id: I210f6bb4a4ec0ac0820d1823cffe417141725327
/frameworks/base/core/jni/android_media_AudioSystem.cpp
0867bed9ddb3bea3d7c252791f8b62ae21ad3de5 20-May-2015 Eric Laurent <elaurent@google.com> AudioService: indicate system ready to AudioFlinger

Indicate when JAVA services are ready to AudioFlinger so that
calls to power manager and scheduling service can be enabled.

Bug: 11520969.
Change-Id: Id977cab3208c34709011703d2dfdcf552e60371b
/frameworks/base/core/jni/android_media_AudioSystem.cpp
4bcdba848449b33d7022de527c526943aff1f5fd 01-May-2015 Eric Laurent <elaurent@google.com> Implement audio routing callbacks

Implement JNI for AudioTrack and AudioRecord routing
callbacks:
- Added files core/jni/android_media_DeviceCallback.cpp/.h
for JNI callback implementation used by both AudioTrack
and AudioRecord.
- Made AudioManager AudioPort and AudioPatch methods static
in order to call them without context.

Also added IO handle information to AudioMixPort.

Change-Id: Icee182aa68310d4b12fd1469f48e78110889acf1
/frameworks/base/core/jni/android_media_AudioSystem.cpp
5a56109d1f5c00404c8f0e4281b9ac1392d72886 24-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioService receives callback for dynamic policy mix state changes

AudioService registers a callback for dynamic policies from
AudioSystem.
AudioSystem keeps track of a single callback for dynamic policies.

Bug 20226914

Change-Id: I48899d20d1dbb47bb680e733a3bc9fd064b60f07
/frameworks/base/core/jni/android_media_AudioSystem.cpp
2615afb1b0f597f38a07832b33df9bd888a0dce1 25-Mar-2015 Eric Laurent <elaurent@google.com> audio port: support multiple clients

Add support for more than one audio port callback client per process.

Change-Id: I48051f27fa0b58ce4634b9db46ec8f2aa900398c
/frameworks/base/core/jni/android_media_AudioSystem.cpp
d8812ce390a972cb2f2c273f7ede55fcccd6298b 03-Mar-2015 David Stevens <stevensd@google.com> Add missing paramater to AudioPort jni initialization.

Change-Id: Ia50a810ca8ceeece52a712e1daf5ffa616951b02
/frameworks/base/core/jni/android_media_AudioSystem.cpp
10804eb2818ab59b763a37b4f6151693c2ebba7b 28-Jan-2015 Paul McLean <pmclean@google.com> Add additional info to AudioPort for enum/selection API.

Add "device name" member to AudioPort.
Moved unique device ID from DevicePort to AudioPort.
Straighten out confusion between "name" and "address"
Created string constants for Intent "extra" data keys.
Combine card/address data into "address" at sender.Add additional info to AudioPort for enum/selection API.
Parse out USB Device name in UsbCardsParser.

Change-Id: Ifd76b0298312090a8f39e638339f993b86d47080
/frameworks/base/core/jni/android_media_AudioSystem.cpp
093789755e5549bd8676d268a6f69b1d6db5026b 10-Dec-2014 Eric Laurent <elaurent@google.com> resolved conflicts for merge of 5196dd04 to lmp-mr1-dev-plus-aosp

Change-Id: I34063a9a516e0d9d209d3176279ef4266b6a113d
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
7d13d9db1ef90063cb542ccd6554042a6a3263b7 21-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 3fc5e3ca to lmp-mr1-dev-plus-aosp

Change-Id: Id8286e5a4381315a6060251a8055b0f1d1a96019
ed6b9dff563c5e22f040ff37e12c0d771e0478ae 21-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Consistency in core/jni

Make consistent use of core_jni_helpers for registration.

Translate some #ifdefs into const bools.

Change-Id: I37639aa053dd50f003a552cbd8550dddecc811c5
/frameworks/base/core/jni/android_media_AudioSystem.cpp
3a091b79978caa9b5d58ae19f693279e5a717c2a 21-Nov-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 8e0cfe7c to lmp-mr1-dev-plus-aosp

Change-Id: I068d2a0fb118d4e2b4c1e546bebfcbc2cb120d36
582bdf9a5961a32de27556832e23e0611c4d1cbb 21-Nov-2014 Dan Albert <danalbert@google.com> am d8c169fe: am 0c437fd3: Merge "Add appropriate casts for char16_t."

* commit 'd8c169fedf883491e46b354484909694fd52cfaf':
Add appropriate casts for char16_t.
8e357bf54173c3f83584c10983392f0d87e0b2b3 20-Nov-2014 Dan Albert <danalbert@google.com> Merge "Fix clang warnings in core/jni."
112437d9d65722ecdf83238a8736543e5dfe484d 20-Nov-2014 Eric Laurent <elaurent@google.com> am a582bd4b: Merge "AudioSystem JNI: fix AudioPortConfig mask usage" into lmp-mr1-dev
automerge: 4624080

* commit '46240800f19b11bb3635a1d8c00a5c7584c0e556':
AudioSystem JNI: fix AudioPortConfig mask usage
6698749dd4d4d6513b26aa9071af290b956b68a7 20-Nov-2014 Dan Albert <danalbert@google.com> Add appropriate casts for char16_t.

C++11 defines a real char16_t, which is not implicitly convertible to
uint16_t (and by extension jchar). Add casts as needed.

Bug: 18300613
Change-Id: I00752002ef2e938bdb57f70947e8fd53ec103293
/frameworks/base/core/jni/android_media_AudioSystem.cpp
46d8444631b4b1253a76bfcc78a29d26014d022f 19-Nov-2014 Dan Albert <danalbert@google.com> Fix clang warnings in core/jni.

There are a few bugs in here too (mostly people expecting + to
concatenate C strings) :(

Change-Id: I0a243c05c4ea8b56e84896f37814d0fbea4c39d5
/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
035a7b0235835e856f39623fc571668e2d6048da 14-Nov-2014 Andreas Gampe <agampe@google.com> am 0626ec58: Merge "Frameworks/base: Wall Werror in core/jni"

* commit '0626ec58243c9dc7f4812a453ef9456b1f7ff1f4':
Frameworks/base: Wall Werror in core/jni
0f0b4919667f418b249c497f5ad3e83fdf4437e5 12-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Wall Werror in core/jni

Turn on -Wall -Werror in core/jni. Fix warnings.

Clang TODO: For GCC we need to turn off Wunused-but-set-variable in
the GL bindings. However, Clang doesn't have that warning and thus
complains about an unknown pragma. It is necessary to make the
pragma #ifdef-ed on the compiler being GCC.

Change-Id: I14cab48d45c2771eef0432082356c47ed44a3d7f
/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
548101cb96fbc855d4257d46841b2959fe4c9ce4 29-Oct-2014 Vladimir Marko <vmarko@google.com> am e5fe7f3f: Merge "Fix android_media_AudioSystem_getMasterMute return type."

* commit 'e5fe7f3f4069b176a0465617dceb630a52b710c0':
Fix android_media_AudioSystem_getMasterMute return type.
b4b5518c81c54c749a0d82a27249b47b855c308e 29-Oct-2014 Vladimir Marko <vmarko@google.com> Fix android_media_AudioSystem_getMasterMute return type.

Caused FPU stack overflow on x86.

Bug: 18023418

(cherry picked from commit c1bcdbb75877d99972f1cd13a9c40126822621bc)

Change-Id: Ia1b5a1da52b20c2e0a84321e784cd795ec649e66
/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