History log of /frameworks/base/media/java/android/media/SoundPool.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5c768f4c8584d93fae3f5e87c8fdcc88ecfba002 10-Jun-2015 Jean-Michel Trivi <jmtrivi@google.com> SoundPool monitors AppOps for OP_PLAY_AUDIO

Fix performance regression in SoundPool by not checking SoundPool
can play audio everytime it's about to play.
Instead check for permission in constructor and register a listener
for changes on OP_PLAY_AUDIO.

Bug 20018833

Change-Id: I4e7a633d23b98653a149681d18a387cd560efe4d
/frameworks/base/media/java/android/media/SoundPool.java
d3969546a8bc4efe1e5e8a72bee07105055d18c2 20-May-2015 Jean-Michel Trivi <jmtrivi@google.com> Fix reading attributes for playback restrictions

Playback restrictions can be lifted with the correct flag,
FLAG_BYPASS_INTERRUPTION_POLICY, but this flag is for the
system only. As such, it must be read by querying "all
the flags" with AudioAttributes.getAllFlags() which is a
system API which returns all the system flags. getFlags()
only returns the public SDK flags.

Bug 19407114

Change-Id: I22dadfaf5d1b48b3c0754e1e6af00b734d790fec
/frameworks/base/media/java/android/media/SoundPool.java
b4f01b966bd2ebf89623f9c65462b8b8b7034461 24-Mar-2015 John Spurlock <jspurlock@google.com> Remove the ability to disable audio service.

Running in a configuration without audio service is not fully tested.
Remove the configuration option for now. Also remove unused delegation
layer in SoundPool.

Bug: 19891112
Change-Id: I47be0e32d54b8ef8fa25cf47b85eacf8a4969500
/frameworks/base/media/java/android/media/SoundPool.java
bbfd31a5d4f126167e20fa8bd256c810cf8c2c85 18-Feb-2015 John Spurlock <jspurlock@google.com> AudioAttributes: introduce new flags to bypass audio restrictions.

- New @hidden @SystemApi FLAG_BYPASS_INTERRUPTION_POLICY, request
to ignore any current audio restrictions, such as zen mode
content-based notification filtering.
- Wire up FLAG_BYPASS_INTERRUPTION_POLICY to the existing
audio restriction checks in the framework.

- New @hidden @SystemApi FLAG_BYPASS_MUTE, request to play
audibly, even if the underlying stream is muted.
- Wiring up to audio framework TBD.

- Use both of these new flags on the inline volume slider
controls used in Settings, ensuring playback is heard
regardless of the current device filter state.

Bug: 19407114
Change-Id: I3d44394931592ccbc1b61ddd9a4d1cc984da17cc
/frameworks/base/media/java/android/media/SoundPool.java
372be8970c6ab68c295fb74dbb878ab1d443d90e 04-Dec-2014 Marco Nelissen <marcone@google.com> Make SoundPool use MediaCodec

Bug: 18239054
Change-Id: Ia144fc1bbb0d2787638ee972e2224339b4965310
/frameworks/base/media/java/android/media/SoundPool.java
2d17128f6e9954a818a71513ad6da4180e95356b 26-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> SoundPool.Builder: document default values

Complete javadoc for android.media.SoundPool.Builder to document
what the default values are.

Bug 17059255

Change-Id: I966e9ed00ed75a78c9b4741b7f68bae996442cdf
/frameworks/base/media/java/android/media/SoundPool.java
fb52139bd81e8ac53ec923b005f10c5cb7d80e0c 22-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Unhide SoundPool builder with AudioAttributes

Change-Id: I9ec6ca310a342f72cc1a0de5d93fe650b0ca2125
/frameworks/base/media/java/android/media/SoundPool.java
55a30c41b6c47d3afe6b13c25c64e8eec9f45e7c 21-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioAttributes for SoundPool

Add support for building a SoundPool instance and specify
the AudioAttributes.
Remove SRC quality which was never implemented, while leaving
room for supporting it later through the Builder pattern.
Remove stream types.
Update AudioService's use of SoundPool to the new scheme.

Change-Id: Ie51e4008684e5ba25f9b7368098e4f20266a15c7
/frameworks/base/media/java/android/media/SoundPool.java
7b41467704f941b11af6aace3e40993afc7f6c6f 18-Jul-2014 John Spurlock <jspurlock@google.com> Zen mode filtering should use new usage constants.

Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
/frameworks/base/media/java/android/media/SoundPool.java
1af30c7ac480e5d335f267a3ac3b2e6c748ce240 10-Mar-2014 John Spurlock <jspurlock@google.com> Add stream-level suppression to vibrate/audio services.

- Add new audio restriction layer to app-ops. Restrictions add
additional constraints to audio operations at a stream-level.
Restrictions do not affect the persistable state, and are purely
additive: that is, they can only impose additional contstraints, not
enable something that has already been disabled. Restrictions
also support a whitelisted set of exempt package names.

- Add new audio stream-level checks to app-ops.

- Implement a provisional OP_PLAY_AUDIO suppression to three
java entry points MediaPlayer, AudioTrack, & SoundPool.

- Enhance vibrator api to take stream information as an optional
hint - the constants correspond to AudioManager stream types.
OP_VIBRATE now supports the stream-level restriction check.

- Simplify Vibrator subclasses by adding default implementations
for two .vibrate calls.

- Migrate NoMan's zen-mode control to use the new app-ops
stream-level restriction mechanism.

Change-Id: Ifae8952647202f728cf1c73e881452660c704678
/frameworks/base/media/java/android/media/SoundPool.java
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/media/java/android/media/SoundPool.java
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
/frameworks/base/media/java/android/media/SoundPool.java
d42e4132bafe1b7cf6a665b6a0ed3160fe3ac991 28-Sep-2013 David Friedman <dmail@google.com> am 233a341b: am 1b8e3197: am 8c38ea39: Merge "Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file. Bug: 10807931 10796994" into jb-mr2-docs

* commit '233a341b6d9477f7f41d5a954fa7f7a150972ccb':
Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file. Bug: 10807931 10796994
36b692d8ef595eee1e28d20b740be548365a5671 27-Sep-2013 David Friedman <dmail@google.com> Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file.
Bug: 10807931 10796994

Change-Id: I8c8e07c3e8606d5983c2545fa6638af45650d27c
/frameworks/base/media/java/android/media/SoundPool.java
e4d9a01bfc7451afff1ed399a5801c7aa2af2831 29-Mar-2013 Dan Morrill <morrildl@google.com> Phase 1 of refactoring SystemServer.

SystemServer is currently a monolithic class that brings up key system
services. This change is the first phase of refactoring it to be more
configurable. Specifically, it adds a set of on/off switches used to control
startup of individual services. Future plans include finer grained controls
and a more explicit and consistent startup sequence for these services.

Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
/frameworks/base/media/java/android/media/SoundPool.java
068225de0197df07a0247b2877666ea91c22c992 28-Feb-2012 Glenn Kasten <gkasten@google.com> Add all-channel setVolume() API

Add combined channel APIs setVolume to AudioTrack, MediaPlayer, and
SoundPool to make later migration easier, and encourage apps to use
that API. The new APIs are @hide for now.

Change-Id: I0c87bfdbff4f4292259fa33e65f67badbafd270b
/frameworks/base/media/java/android/media/SoundPool.java
62b9aec7a0a4e1cf8cfec7e39ea3103ab510d72e 07-Nov-2011 Glenn Kasten <gkasten@google.com> Don't check return value of new for being == null

new either succeeds or throws an exception

Change-Id: I1615e10c4f6730495c49e56b64714a00141ea8ff
/frameworks/base/media/java/android/media/SoundPool.java
a60e212d0dda7d2a748180ce77405f2463c9cf53 29-Dec-2010 Eric Laurent <elaurent@google.com> Fix issue 3261656.

The problem can occur if a sample is started at the same time as the last AudioTrack callback
for a playing sample is called. At this time, allocateChannel() can be called concurrently with moveToFront()
which can cause an entry in mChannels being used by moveToFront() to be erased temporarily by allocateChannel().

The fix consists in making sure that the SoundPool mutex is held whenever play(), stop() or done() are called.

In addition, other potential weaknesses have been removed by making sure that the channel mutex is held while
starting, stopping and processing the AudioTrack call back.

To that purpose, a mechanism similar to the channel restart method is implemented to avoid stopping channels
from the AudioTrack call back but do it from the restart thread instead.

The sound effects SounPool management in AudioService has also been improved to make sure that the samples have
been loaded when a playback request is received and also to immediately release the SoundPool when the effects are
unloaded without waiting for the GC to occur.
The SoundPool.java class was modified to allow the use of a looper attached to the thread in which the sample
loaded listener is running and not to the thread in which the SoundPool is created.

The maximum number of samples that can be loaded in a SoundPool lifetime as been increased from 255 to 65535.

Change-Id: I368a3bdfda4239f807f857c3e97b70f6b31b0af3
/frameworks/base/media/java/android/media/SoundPool.java
05513119803845c11d845cbc376759cddcfe13bb 17-Feb-2010 Dave Sparks <davidsparks@android.com> Unhide new SoundPool API's. Bug 2415373.
/frameworks/base/media/java/android/media/SoundPool.java
f992cbb9aae593c7787ac9c5f6b475e7bb0a92c5 09-Feb-2010 Dave Sparks <davidsparks@android.com> Add SoundPool API to pause and resume all active streams. Bug 2426531.
/frameworks/base/media/java/android/media/SoundPool.java
f6e43bf29084760b39257b2273e0f04c2815fdc5 08-Dec-2009 Dave Sparks <davidsparks@android.com> Add OnLoadCompleteListener to SoundPool.
/frameworks/base/media/java/android/media/SoundPool.java
d282ac8610f72d964105efefe41120a5340f1ce0 14-May-2009 Marco Nelissen <marcone@google.com> Findbugs fixes.
/frameworks/base/media/java/android/media/SoundPool.java
6cb9900e6f884adb6c9aa0243f2bf88985f671f8 17-Apr-2009 Dave Sparks <> AI 146755: am: CL 146754 Fix some problems in the SoundPool docs and add additional text.
Original author: davidsparks
Merged from: //branches/cupcake/...

Automated import of CL 146755
/frameworks/base/media/java/android/media/SoundPool.java
cef302d0950a02fdc6920475d0c357d3949e85c3 17-Apr-2009 Dave Sparks <> AI 146655: am: CL 146654 Add java docs for SoundPool
Original author: davidsparks
Merged from: //branches/cupcake/...

Automated import of CL 146655
/frameworks/base/media/java/android/media/SoundPool.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/media/java/android/media/SoundPool.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/media/java/android/media/SoundPool.java
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/media/java/android/media/SoundPool.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/media/java/android/media/SoundPool.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/media/java/android/media/SoundPool.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/media/java/android/media/SoundPool.java