Commit Graph

26 Commits

Author SHA1 Message Date
Jean-Michel Trivi
2d17128f6e SoundPool.Builder: document default values
Complete javadoc for android.media.SoundPool.Builder to document
 what the default values are.

Bug 17059255

Change-Id: I966e9ed00ed75a78c9b4741b7f68bae996442cdf
2014-08-25 16:48:24 -07:00
Jean-Michel Trivi
fb52139bd8 Unhide SoundPool builder with AudioAttributes
Change-Id: I9ec6ca310a342f72cc1a0de5d93fe650b0ca2125
2014-07-21 16:00:43 -07:00
Jean-Michel Trivi
55a30c41b6 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
2014-07-20 18:12:00 -07:00
John Spurlock
7b41467704 Zen mode filtering should use new usage constants.
Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
2014-07-19 11:57:51 -04:00
John Spurlock
1af30c7ac4 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
2014-03-19 15:32:51 -04:00
Narayan Kamath
6bb5cb24b4 Resolved conflicts for merge of 28c6ec02 to master
Change-Id: Idf1cabf2694dfa13d928df944d346f5e051b6948
2014-01-16 15:49:59 +00:00
Ashok Bhat
075e9a19ce 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>
2014-01-15 13:09:27 +00:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
David Friedman
d42e4132ba 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
2013-09-27 15:57:56 -07:00
David Friedman
36b692d8ef Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file.
Bug: 10807931 10796994

Change-Id: I8c8e07c3e8606d5983c2545fa6638af45650d27c
2013-09-27 10:04:48 -07:00
Dan Morrill
e4d9a01bfc 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
2013-04-04 09:49:22 -07:00
Glenn Kasten
068225de01 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
2012-11-08 17:50:43 -08:00
Glenn Kasten
62b9aec7a0 Don't check return value of new for being == null
new either succeeds or throws an exception

Change-Id: I1615e10c4f6730495c49e56b64714a00141ea8ff
2011-11-11 07:30:19 -08:00
Eric Laurent
a60e212d0d 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
2011-01-07 17:17:10 -08:00
Dave Sparks
0551311980 Unhide new SoundPool API's. Bug 2415373. 2010-02-17 13:29:08 -08:00
Dave Sparks
f992cbb9aa Add SoundPool API to pause and resume all active streams. Bug 2426531. 2010-02-16 16:19:32 -08:00
Dave Sparks
f6e43bf290 Add OnLoadCompleteListener to SoundPool. 2009-12-23 09:11:29 -08:00
Marco Nelissen
d282ac8610 Findbugs fixes. 2009-05-14 13:18:16 -07:00
Dave Sparks
6cb9900e6f 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
2009-04-17 11:48:25 -07:00
Dave Sparks
cef302d095 AI 146655: am: CL 146654 Add java docs for SoundPool
Original author: davidsparks
  Merged from: //branches/cupcake/...

Automated import of CL 146655
2009-04-16 17:50:27 -07:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
076357b856 auto import from //depot/cupcake/@132589 2009-03-03 14:04:24 -08:00
The Android Open Source Project
3dec7d563a auto import from //depot/cupcake/@137055 2009-03-02 22:54:33 -08:00
The Android Open Source Project
f013e1afd1 Code drop from //branches/cupcake/...@124589 2008-12-17 18:05:43 -08:00
The Android Open Source Project
54b6cfa9a9 Initial Contribution 2008-10-21 07:00:00 -07:00