History log of /frameworks/base/media/java/android/media/AudioTrack.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
596fb8e7969cafdf7f25dfdc97372be4c0950cc3 09-Sep-2013 Glenn Kasten <gkasten@google.com> AudioTrack.getTimestamp() return type is now boolean

Change-Id: Ie231652dc0959343f0726dcb985b6715bfe014f6
/frameworks/base/media/java/android/media/AudioTrack.java
5e8f278f083f6a75cb6d1b09671c335156f93d1b 04-Sep-2013 Glenn Kasten <gkasten@google.com> Unhide AudioTimestamp and getTimestamp

Change-Id: I56687f42f83c4be7dc3fd1baa81a13e71113f22e
/frameworks/base/media/java/android/media/AudioTrack.java
948c2e6ff46d65942277f2e0e9ce0c038972b9d8 04-Sep-2013 Glenn Kasten <gkasten@google.com> Java API for AudioTrack timestamps

This change adds android.media.AudioTimestamp and
android.media.AudioTrack.getTimestamp, with implementation, but hidden.

Change-Id: Ic314f04ff775baca05c57d19b5ea91133dbd0be1
/frameworks/base/media/java/android/media/AudioTrack.java
86fad47e68e344b19fabeab1156c5e6742d8dfad 22-Jun-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: If470efd77ed886da8d83a1b427c132bad77e668b
/frameworks/base/media/java/android/media/AudioTrack.java
896a7f5fee46c24d31e9403abdf5813e4bb84ca5 19-Jul-2013 Glenn Kasten <gkasten@google.com> Clean up throws in AudioRecord and AudioTrack

Remove dead assignments to member fields in constructor prior to throw.
Execution doesn't continue execution, so no need to initialize fields.

throw doesn't need parentheses.

Fix indentation.

Change-Id: I2bf1b8bfa2c836e53a41eea67552cba40dc6fd43
/frameworks/base/media/java/android/media/AudioTrack.java
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/media/java/android/media/AudioTrack.java
e8c82a37050e568f211d47951480b182a61d42b4 05-Apr-2013 Glenn Kasten <gkasten@google.com> Fix AOSP issue 9742: Documentation inconsistancy [sic] in AudioTrack

See https://code.google.com/p/android/issues/detail?id=9742

Change-Id: I7e1fe0c3ac6e3b9367e4815097549250778766fa
/frameworks/base/media/java/android/media/AudioTrack.java
c71b045d88c222b78d9bc6da99f9ececfc4a16f6 05-Apr-2013 Glenn Kasten <gkasten@google.com> Merge "Update AudioTrack docs for source sample rate"
a074fcffec612c07f50729eb9cfd271307a7d356 05-Apr-2013 Glenn Kasten <gkasten@google.com> am 90771cba: am 564c866b: Merge "Fix AudioTrack.setPlaybackRate() error handling" into jb-mr2-dev

* commit '90771cbaeddc33963d0f1ac1780953b864a50006':
Fix AudioTrack.setPlaybackRate() error handling
8d7fa137466c833ed422053204fb4c506b7bb209 15-Mar-2013 Glenn Kasten <gkasten@google.com> Update AudioTrack docs for source sample rate

Add "source" for sampling rate.
Add "initial" to constructor sample rate parameter.
Abbreviate Hertz to standard Hz.

Unrelated:
- fix spelling typo
- add comment to session ID parameter

Change-Id: I0902ba5d77ff21fc961f717c984f28255d5fe9b3
/frameworks/base/media/java/android/media/AudioTrack.java
f19395db6343efdf80d064e0ba7c3b9aa4dbae75 04-Apr-2013 Glenn Kasten <gkasten@google.com> Fix AudioTrack.setPlaybackRate() error handling

CTS expects that setPlaybackRate() returns an error for a static buffer
AudioTrack that has not yet had any data written to the buffer.

Bug: 8181114
Change-Id: I17ba039368468f6ccd1eec5322018bfe420c09c8
/frameworks/base/media/java/android/media/AudioTrack.java
e2a4b42c5b7f3475c1587f30d19afc12a190f009 12-Jul-2012 Glenn Kasten <gkasten@google.com> AudioTrack comments and range checks

Added range checks for setPlaybackHeadPosition and setLoopPoints to
correspond to the new implementation. The checks are not expected to
cause any significant incompatibilities for real apps.

Change-Id: Ia52723419e7d0e2c561a0d1eeb8f36a5376c4e03
/frameworks/base/media/java/android/media/AudioTrack.java
55a3218f242a611afb3569d88970c0c5dbf8ce54 18-Dec-2012 Glenn Kasten <gkasten@google.com> Subclassing AudioTrack considered harmful

This class was not really designed for subclassing to be meaningful,
and some uses could be downright dangerous, for example setState().

Change-Id: I36029e94546c53a47926918e7f667d9e83bd02fe
/frameworks/base/media/java/android/media/AudioTrack.java
06f7de4944bbf650e1574c6f25d3ef6a193122bf 19-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Simplify AudioTrack event handling and fix a race"
b6ed68ccb269f22e635f7e323b46b9c0d70d0ebb 18-Dec-2012 Glenn Kasten <gkasten@google.com> Revert "Update AudioTrack comments"

This reverts commit 3f411cacbe4204c779a794451a5d5b0f67e03416

Change-Id: Ieb32310bc007bf2c6a2dc324db4873e7128177fa
/frameworks/base/media/java/android/media/AudioTrack.java
3f411cacbe4204c779a794451a5d5b0f67e03416 18-Dec-2012 Glenn Kasten <gkasten@google.com> Update AudioTrack comments

Change-Id: I0cdca92e3ac63088ed919c4dcfb309d3ccb59092
/frameworks/base/media/java/android/media/AudioTrack.java
28d4cf50e793568aad660ed21865d30b2cedac0a 07-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "AudioTrack error checks"
91c7bc2a8db473eb6188ae9fb16760c66782f025 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Allow more APIs before write in static buffer mode"
e1a2c9f9447cd61168da874c6bc5a594f5b4a6d5 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Use the utility logging methods and single tag"
678210251cb1f51ec0025f4d673d11116279cfa6 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead method native_get_session_id()"
f94942f1b947c0d56bac0ffcc7ccfe95c443ebe7 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Import only what's needed"
a501b5b8d5ec0ccc975adbcf302f01a6979e81e1 01-Dec-2012 Glenn Kasten <gkasten@google.com> AudioTrack error checks

getMinBufferSize():
Simplify native_get_min_buff_size error checks and handle more errors.

setPlaybackHeadPosition():
Disallow for streaming mode [underlying AudioTrack C++ requires this].
Disallow setPlaybackHeadPosition before write().
Remove unnecessary synchronization around native_set_position().

setLoopPoints():
As setLoopPoints() is effectively a variant of setPlaybackHeadPosition(), do the same error checks.

write():
Don't set "write completed" state if write() parameters are invalid or native write fails.
It was setting "write completed" flag too early, and ignoring native write return value.
Detect integer overflow.

reloadStaticData():
Disallow reloadStaticData() before write().

Change-Id: Iec36fc0ea67095e18a2c238b148dad5545c102c1
/frameworks/base/media/java/android/media/AudioTrack.java
9c1d2de17781e4430e4344c43eb7fbed80541ac9 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Make mInitializationLooper final"
4e71faec0cba73703d8bdb11fe4a400578d4efd7 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Simplify throw statements"
df3cb5279857cac41909643c6703e8fc1621fad1 28-Nov-2012 Glenn Kasten <gkasten@google.com> Remove redundant AudioTrack. qualifiers

Symbols of the current class don't need to be qualified.

Change-Id: Ic89ce568771165d01d4b5bcf835c591ca0b86541
/frameworks/base/media/java/android/media/AudioTrack.java
f4e58051e22ad4e21c7cd436c37cc5665c194d1c 28-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify throw statements

Conventional throw statement syntax does not require parentheses

Change-Id: I9cb3e76d60d688d2e0b77a18674527a87548e297
/frameworks/base/media/java/android/media/AudioTrack.java
ad67c9546494a7c4d9336b57889a7c19a7dbb945 28-Nov-2012 Glenn Kasten <gkasten@google.com> Replace hard-coded sample rate values by constants

Change-Id: If561dd4d336a70dfda3b741d4e50e289a978580c
/frameworks/base/media/java/android/media/AudioTrack.java
3b4df62704a6184878afd9272830cf3db7bd2d66 28-Nov-2012 Glenn Kasten <gkasten@google.com> Allow more APIs before write in static buffer mode

There's no need to prohibit these APIs before the first write()
which sets up the PCM data to be played.

Change-Id: Iffbb799e7a588250dbb90a4a4575cfef143a8966
/frameworks/base/media/java/android/media/AudioTrack.java
b09707a041957f055cee3d290c85763cfef8d986 28-Nov-2012 Glenn Kasten <gkasten@google.com> Make mInitializationLooper final

This emphasizes that it doesn't change after construction,
and will prevent accidental modification in the future.

Change-Id: I18a2cecda79bd936967de26cdaaa7b731559545d
/frameworks/base/media/java/android/media/AudioTrack.java
1f61d01508651b4475397414e1fe06af1ab8fada 28-Nov-2012 Glenn Kasten <gkasten@google.com> Use the utility logging methods and single tag

Change-Id: I5bfc66562a4a0630d520390ae886bd19de3327cb
/frameworks/base/media/java/android/media/AudioTrack.java
95bd2329c6a36211f18be3e089eaa775ec62df62 28-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify AudioTrack event handling and fix a race

Fixed race where mEventHandlerDelegate was accessed multiple times with
an assumption that all values read were the same.

If setPlaybackPositionUpdateListener was called with a null listener,
it did not update the delegate.

Inner classes can access final local variables of the enclosing method.
Use this to remove fields mPositionListener, mPositionListenerLock, mListener.

Change-Id: Ibf5cae61a1a9d21b745b90d4b74f9be14b66e37b
/frameworks/base/media/java/android/media/AudioTrack.java
089f6ccac800303c67d99cefd27c83d9a9a40c16 28-Nov-2012 Glenn Kasten <gkasten@google.com> Remove dead method native_get_session_id()

Change-Id: Ibab9eef28d6b85d622de310b31ee7d070e543c6b
/frameworks/base/media/java/android/media/AudioTrack.java
9121a032bb11256deabca709a42f7212ea19feaa 22-Jun-2012 Glenn Kasten <gkasten@google.com> Import only what's needed

Change-Id: I93e86e36569496b4bd08f58a8681e6471341ad3d
/frameworks/base/media/java/android/media/AudioTrack.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/AudioTrack.java
d9e587137b926a56e6e339f11da6a91624df515a 12-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Verify AudioTrack only uses a valid multichannel configuration

Enforce the same rules as for HDMI output:
- FL/FR must be present
- paired channels must be used in pairs (e.g. no rear left
without rear right)

Bug 6392126

Change-Id: I0a39e474dcf509cb7eabd8edd1f0e44852d72b51
/frameworks/base/media/java/android/media/AudioTrack.java
1b8f499a14a4340d3422d95c7f6fdc8c0c72b3a4 25-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Allow multichannel configurations in android.media.AudioTrack

Compare the channel configuration against a mask of the public
channel masks in AudioFormat for up to 5.1 with back channels,
and allow combinations within this mask.

Change-Id: I84b72dfd88d4490f0c67bf10d13151a9eb06f6a8
/frameworks/base/media/java/android/media/AudioTrack.java
a701da8ebabb3d63ac57b7718055698abb21804a 25-Jan-2012 Jean-Michel Trivi <jmtrivi@google.com> Update AudioTrack.stop() javadoc

Add more information on the behavior of
android.media.AudioTrack.stop()

Change-Id: Id0f968e6bb8fe38765a86c43fc065908ee84edf1
/frameworks/base/media/java/android/media/AudioTrack.java
b282e08ab641d4fc74d0324b7a0ce30926638dd5 09-Jan-2012 Glenn Kasten <gkasten@google.com> Fix build

Change-Id: Ia140af1a61edf124ef3d48b60351f850a3475af1
/frameworks/base/media/java/android/media/AudioTrack.java
5c17a820f9e46e0756c11795b3e6f89105f2f539 30-Nov-2011 Glenn Kasten <gkasten@google.com> Audio Java doc comment typos and minor changes

Change-Id: Id6ea6dccb8054c9f05db9a9c045387ce813659e6
/frameworks/base/media/java/android/media/AudioTrack.java
fb2ab9efc3805c81521afb9ff91a58ff5097a36e 12-Dec-2011 Glenn Kasten <gkasten@google.com> Fix indentation and whitespace

Use git diff -w to verify.

Change-Id: Ib65be0a1ecf65d6cad516110604e3855bf68a638
/frameworks/base/media/java/android/media/AudioTrack.java
06e0333c7eb50533cc6e0f7b61812d2840844296 19-Jul-2011 Narayan Kamath <narayan@google.com> Return the play stayed locked.

I believe the the synchronized block is required to allow
other threads to observe changes to mPlayState in a timely
manner.

Change-Id: I502b7401196c42932c9667ef73eb4cae16c3da16
/frameworks/base/media/java/android/media/AudioTrack.java
88bde0ce3799c47530ea42ae3665bfa12ae38d11 14-Jul-2011 Narayan Kamath <narayan@google.com> Minor documentation updates for the AudioTrack class.

Change-Id: I0c3c220aa433d1917d997a7b1bfa54e61acc26b2
/frameworks/base/media/java/android/media/AudioTrack.java
1a5149e5d7f2dddc8b324f7695e69fd89af73c52 22-Sep-2010 Eric Laurent <elaurent@google.com> Fix issue 3022800.

- Created sub-package android.media.audiofx for audio effects.
- Hid AudioEffect class contructor, methods and variables not needed by
applications
- Added more javadoc comments for AudioEffect Class

Change-Id: Ibbb40d4e714bb248aa32cf82d7763d74efae96d1
/frameworks/base/media/java/android/media/AudioTrack.java
17cb280e7f1ac3556eac90ab08263712e0348cb9 03-Aug-2010 Eric Laurent <elaurent@google.com> NEW_API: Unhide audio effect APIs.

This change unhides all public APIs for controling audio effects exposed
by the following classes:
- AudioEffect
- BassBoost
- EnvironmentalReverb
- Equalizer
- PresetReverb
- Virtualizer
- Visualizer

Also fixes several problems in javadoc.

Change-Id: I541ee4ad0232312ec720545737cbcdb8c9a82597
/frameworks/base/media/java/android/media/AudioTrack.java
7070b36549d511d6627538c73dfbab23fbae5b43 16-Jul-2010 Eric Laurent <elaurent@google.com> Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Added methods to AudioTrack and MediaPlayer java classes to enable use of
auxiliary audio effects. The effect can be attached and detached by specifying its
ID and the send level controlled.

Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
/frameworks/base/media/java/android/media/AudioTrack.java
619346f902241736d933657a4fe10f10c50a1ba8 21-Jun-2010 Eric Laurent <elaurent@google.com> Added support for audio sessions in MediaPlayer and AudioTrack.

Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks.

Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
/frameworks/base/media/java/android/media/AudioTrack.java
3026a023b8979b7ddcb3fe97bbc45531c89fda92 27-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2001517: AudioTrack compatibility issue.

Modified enum values in AudioFormat.java and AudioSystem.h.
Added code for backward compatibility in AudioTrack.java and AudioRecord.java.
/frameworks/base/media/java/android/media/AudioTrack.java
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/media/java/android/media/AudioTrack.java
88e209dcf8c2ebddda5c272f46d1bd5478bc639c 07-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Store sample rate on 32 bits instead of 16 bits in audio_track_cblk_t.
Removed sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate().
AudioTrack::setSampleRate() no returns a status.
/frameworks/base/media/java/android/media/AudioTrack.java
ff14c25339da3f6cd86edd66ef42640e6d0c0787 17-Apr-2009 Jean-Michel Trivi <> AI 146752: am: CL 146751 Finalize AudioTrack javadoc.
Original author: jmtrivi
Merged from: //branches/cupcake/...

Automated import of CL 146752
/frameworks/base/media/java/android/media/AudioTrack.java
d01721d5ca5bfa943760ed61cc99ca1ffc044c50 25-Mar-2009 Niko Catania <> Automated import from //branches/donutburger/...@140811,140811
/frameworks/base/media/java/android/media/AudioTrack.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/media/java/android/media/AudioTrack.java
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
/frameworks/base/media/java/android/media/AudioTrack.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/AudioTrack.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/AudioTrack.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/AudioTrack.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/AudioTrack.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
/frameworks/base/media/java/android/media/AudioTrack.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
/frameworks/base/media/java/android/media/AudioTrack.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/media/java/android/media/AudioTrack.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
/frameworks/base/media/java/android/media/AudioTrack.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/AudioTrack.java