History log of /frameworks/wilhelm/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4a4c728965b10df683d37b4b7ac27211e02006ad 02-Nov-2012 Jean-Michel Trivi <jmtrivi@google.com> Fix race condition when streaming MP2TS to media server

Data transfer between user space and the media server of MP2TS
packets is done through a queue of buffers. This queue tells
the OpenMAX AL player whenever a buffer is available to be filled
so it can be transferred.
When the player is destroyed, this queue is cleared; this is
indicated by the boolean mBuffersHasBeenSet whose role is to
store whether the queue is properly configured.
There is a race condition where the queue could be cleared right
as the availability of a buffer is signaled.
The fix is to only try to use the available buffer when
mBuffersHasBeenSet is true.

Bug 6971102

Change-Id: Ibbe8f58fc954b84bf560f29944d1018dab261895
rc/android/android_StreamPlayer.cpp
f8d147df8f6dba1bb5bb0ea4c09795ee827569ca 06-Apr-2012 Glenn Kasten <gkasten@google.com> playbq's use of playback rate interface optional

The playback rate interface is not supported for fast tracks,
so to enable testing of fast tracks using playbq,
only request the playback rate interface if it is actually needed.

Change-Id: I15e512e1e853dccc752ad59c727bb0ed2d651162
ests/sandbox/playbq.c
799d44ecb3f5591c19d186b9675f363699116c2d 25-Aug-2012 Jeff Brown <jeffbrown@google.com> Use new surface flinger API.

Change-Id: Iecd955817d2800e2d1da3187da8958aa261ce435
ests/sandbox/nativewindow.cpp
72721a95943c68ea0d75eb5c1ff2ab7380e4dc6f 14-Mar-2012 Glenn Kasten <gkasten@google.com> Use audio_channel_mask_t consistently

Change-Id: I77a624e2656046075eb38cf880c26cdf8ba36af8
rc/android/android_sles_conversions.h
3400c346f272492b52c7395c14d4a0f27603f87f 22-Jun-2012 Glenn Kasten <gkasten@google.com> Remove AudioRecord record_flags

Change-Id: I978579be3609c88d6fb6580a8cb3a594c76912a3
rc/android/AudioRecorder_to_android.cpp
b68c41d62a30eb2dbc8f26c87de75076e94632b8 09-May-2012 Jean-Michel Trivi <jmtrivi@google.com> am 91145ef1: Playback rate on OpenSL ES AudioPlayer playing from URI/FD

* commit '91145ef159d3e165a461cbd76341ff8ed3d72bae':
Playback rate on OpenSL ES AudioPlayer playing from URI/FD
91145ef159d3e165a461cbd76341ff8ed3d72bae 04-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Playback rate on OpenSL ES AudioPlayer playing from URI/FD

Allow AudioPlayer to use the platform's 500-2000 range (in
permille) of playback rate for audio when the data source
is a URI or FD.
Since play events for those players are simulated through
monitoring the playback position, scale the time
between updates so play events are delivered in content
time, not presentation time (as defined in OpenSL ES
specification, "positions do not scale with changes in
playback rate").

Bug 5898620

Change-Id: Ib512caebd7f3983c9e845be62e48dfee8499e59c
rc/android/AudioPlayer_to_android.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
84ed0307dcc468a925c8e779e804367345177ff3 25-Apr-2012 Andrew Hsieh <andrewhsieh@google.com> Fixed runtime linkage problems for libOpenSLES and libOpenMAXAL

Libraries libOpenSLES and libOpenMAXAL depends on liblog but Android.mk
doesn't specify it. Native app links libOpenSLES or libOpenMAXAL
may fail with the following error message (taking
$NDK/samples/native-media as an example)

E/AndroidRuntime( 824): Caused by: java.lang.UnsatisfiedLinkError:
Cannot load library: link_image[2260]: 82 could not load needed
library 'libOpenMAXAL.so' for 'libnative-media-jni.so'
(mips_relocate_got[1804]: 82 In 'libOpenMAXAL.so',
can't locate symbol __android_log_assert)

It's unclear why compiler (MIPS/ARM/X86) doesn't complain w/o liblog.
It's also unclear why ARM and X86-based Android devices don't have
runtime problem. (ie. $NDK/samples/native-media runs on ARM/X86 but
fails in MIPS-based device)

Fixed Android.mk to make it explicit.

Change-Id: I12a254813f6b7cf98cc735d0a4d1f485e730f9fa
rc/Android.mk
8daa09a2af477dbe495839ccf806919a02aa53cd 18-Apr-2012 Eric Laurent <elaurent@google.com> rename audio policy flags

Change-Id: I652fc4cfe6cc9a273234256e20f0b706182e2e27
rc/android/AudioPlayer_to_android.cpp
78e61e01307d62bd04283ada99ce5df1c647810d 04-Apr-2012 Glenn Kasten <gkasten@google.com> Updates to Wilhelm's use of fast tracks

Move volume and mute/solo interfaces from blacklist to whitelist.
Remove hard-coded frame count; this is now done at a lower level.

Change-Id: Ie9b48941df799dd8cba45dc7015d62e5adb76f5d
rc/android/AudioPlayer_to_android.cpp
1b118ffebd7769e092df47d617df9e20d38b023c 02-Apr-2012 Glenn Kasten <gkasten@google.com> Merge "Fast tracks"
e7b0c260194d155513f5e07105841597f7bb9ab8 28-Mar-2012 -b master-pdk-dev <jdong@google.com> Android.mk file changes in frameworks/wilhem

Change-Id: Ibc10f34a4686a3b5647f67436aab8f52a50de479
rc/Android.mk
7880f29c5ae58e0dd5ac67753049acc8888cb5f5 27-Mar-2012 Glenn Kasten <gkasten@google.com> Fast tracks

Change-Id: I7ab4d843be5bfe759cea8330ab0ede46e236adaf
rc/android/AudioPlayer_to_android.cpp
077405a448705636da29403ff6f24fd63623daac 19-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "audio_channel_in/out_mask_from_count"
b18944c03c48d91fada0ae7bb364d056840f6dba 19-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Prepare to move system/media"
6d58fe068814505d6b50248a4ef8a96f2594ef40 16-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Add libmedia_native"
ee3ad477a71ba690f0b5721056a6514bf2f76bd8 16-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Fix indentation and redundant whitespace"
5321b3665e1a538cdcf894dea99d15c10b18ccf8 14-Mar-2012 Glenn Kasten <gkasten@google.com> Prepare to move system/media

Change-Id: Iac6dcfb72753e53e9a42b5feeaa2d6523f2395a4
rc/Android.mk
ests/Android.mk
ests/automated/Android.mk
ests/examples/Android.mk
ests/listening/Android.mk
ests/mimeUri/Android.mk
ests/native-media/jni/Android.mk
ests/sandbox/Android.mk
ests/sandbox/streamSource/Android.mk
27ff9b2ebcb70cf1b615a1040fb2ddd854f13cbf 13-Mar-2012 Glenn Kasten <gkasten@google.com> Add libmedia_native

Change-Id: I8fa7edb2872697164edb9bdd464e282ac113075b
rc/Android.mk
5cb9343d2739da755186f8dcdf1da307671e7353 14-Mar-2012 Glenn Kasten <gkasten@google.com> audio_channel_in/out_mask_from_count

Change-Id: Id62e9dee55367495c1cff04ea0b9ff7f07742e58
rc/android/android_sles_conversions.h
cde9b8b8bd0c84c62de49e73c08d224274280bfa 13-Mar-2012 James Dong <jdong@google.com> Switched to use header files in /frameworks/native

o related-to-bug: 6044887

Change-Id: Iedc72c551ce4792e695dce3cf222b76598667f43
rc/Android.mk
4a8b57c4e20db8f757a6fa53c05c7b2942d7aa07 10-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_policy_output_flags_t consistently"
aadb8f72e49046c8aac8d60d5411f8ca30bd167a 07-Mar-2012 Glenn Kasten <gkasten@google.com> Use AudioRecord::record_flags consistently

Change-Id: Ibb185b1c461df2c17061a8a0d62cba0611a89e1e
rc/android/AudioRecorder_to_android.cpp
1f41f98a87ee3d0070a794d8e8905e7d9d03d755 07-Mar-2012 Glenn Kasten <gkasten@google.com> Use audio_policy_output_flags_t consistently

Change-Id: Ie487ac0776e9bc6f12907945ec9bea0730200ad1
rc/android/AudioPlayer_to_android.cpp
01e4a8ff63523bba5c8f919a72e0adb66daf4b98 26-Feb-2012 Mathias Agopian <mathias@google.com> cleanup includes

Change-Id: Ia98b76b2e0c49ee257e1f31c61c2d6f72a9fe894
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/objects/CMediaPlayer.c
ests/sandbox/nativewindow.cpp
750c5c1c0fe686e942635fe9b5c202d15236da4d 13-Feb-2012 Eric Laurent <elaurent@google.com> Merge "audio utils: modify echo reference resampler"
5f12770df2875b280acaf6a0de08ae0b57c930cf 08-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: Ic448bdd6462708779f0e5c78a25e0a359b129654
rc/android/BufferQueueSource.cpp
rc/android/include/AacAdtsExtractor.h
d5b3526d5dc0708363261017e96bc732df13ecc1 01-Feb-2012 The Android Open Source Project <initial-contribution@android.com> am 609d361b: am e453cdbf: Reconcile with ics-mr1-release

* commit '609d361bd2ab3883921069eef29edffad7f210e3':
9ab5a0366f54a92420aef0ecf19dbcae0b42911a 01-Feb-2012 The Android Open Source Project <initial-contribution@android.com> am e453cdbf: Reconcile with ics-mr1-release

* commit 'e453cdbf3cdfc9940b471156cad8ccd5442678d0':
60aa1ebc34ed99842ecaab7ea265534be66f1640 01-Feb-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I950f3e06350ffce1ccd9f468e8a895972e22b3fa
adf8bd5d4360542b6b6c48c4471fdd8d855e05cc 24-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_source_t consistently

Use audio_source_t instead of int.

Change-Id: I88256ee508b8f5b50635985361efa7c458f11296
rc/android/AudioRecorder_to_android.cpp
rc/classes.h
24c770c9d328ac5516b488e00c77d6c76d13bcfc 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_stream_type_t consistently"
49f944656984a3047e66b2eb625e343841631789 12-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_format_t consistently"
eb0545cb9f6a5df8624fb3e3c3e75aea7a5dab8f 09-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Fix bug in use of getPositionUsec()"
bbc2464b724471ba38669341cc992c21db1b9b08 09-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Minor improvements to test app"
46d1c53d608344d8f31e12b2f72f24b2908b650c 09-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Remove virtual from methods that don't need it"
b47c7beddecd38ae565d84b72da526843bfdd43e 08-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: I584e6f6a3c52308b7a5a5c9980ca429c831f4320
rc/android/VideoCodec_to_android.cpp
rc/android/android_GenericMediaPlayer.h
ests/native-media/jni/native-media-jni.c
a93915739311e228a59d93ecd93a5665299953ab 06-Jan-2012 Glenn Kasten <gkasten@google.com> Fix bug in use of getPositionUsec()

getPositionUsec() returns int64_t, not uint32_t, so it would truncate
after 71 minutes. Also the check ANDROID_UNKNOWN_TIME always failed.

Change-Id: I3152d7715dfe4b67a5fad6985c6717c7a802b464
rc/android/android_AudioSfDecoder.cpp
0bfed90f3b312f7c8f2b744efcf62f1992661d6c 06-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_stream_type_t consistently

Change-Id: I6c02c9b285a00cefefc5d90d655d92ca8690765a
rc/android/AudioPlayer_to_android.cpp
rc/android/android_defs.h
rc/classes.h
a6c69c7e1665b38da8d6784e65210acbe501b92c 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I270cbf7b920d5f2fbb5f345f3c88426697c4391d
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/sles_allinclusive.h
701cf2a089c87ec5b8e5a953f637b250aee4a58a 05-Jan-2012 Glenn Kasten <gkasten@google.com> Minor improvements to test app

Continuous pitch bend.
Expand the help text for options.
Improve error recovery for invalid options.
Fix typo in error message.

Change-Id: I7724372a510cb3733d31feeaffb22fbfa13b328c
ests/sandbox/playbq.c
7f7fde185e2739a88ba1847fa583a7dec459ea43 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Id162f100e77d64cce4a12cd62b330e7cb847d816
ests/native-media/jni/native-media-jni.c
18a0d51a7d8fc7387f40e0c0ca16a93062fb4c6f 04-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_format_t consistently

Change-Id: I81bfafb1fcb374a100b156d9c52771a4b2eb2943
rc/android/android_sles_conversions.h
d8c05f4d8a32f514cb5bbcd51ecc18ca6a0f0e70 30-Dec-2011 Rodrigo Carceroni <carceroni@google.com> Merge "add a "long" type to MFF structs"
4bcfac513e073db89f72e2345be365f95895ca28 20-Dec-2011 Glenn Kasten <gkasten@google.com> Merge "Cleanup CreateAudioPlayer and CreateMediaPlayer"
017d5e6abe9135e67d32c55801d94eb1d5ecba61 20-Dec-2011 Glenn Kasten <gkasten@google.com> Merge "Consistent formatting for if ("
ae0ba3a39cd3bdab11df5fc571ab49c2f3334cb6 20-Dec-2011 Glenn Kasten <gkasten@google.com> Merge "Add curlies to if / else"
4f072d771bb22e050b4b42e39e279358352954f1 20-Dec-2011 Glenn Kasten <gkasten@google.com> Merge "Remove redundant this->"
c4374bd42cd7eadda841a6b089234becb4f6c508 16-Sep-2011 Glenn Kasten <gkasten@google.com> Remove virtual from methods that don't need it

The virtual suggested to the reader that the methods are overridden,
when actually they aren't.

Change-Id: I8283c9c7aaa73cd9bafd2d643bb40854d718489b
rc/android/android_GenericPlayer.h
544ea5bf75d741a745d0394b64f893a66bb5f788 16-Dec-2011 Glenn Kasten <gkasten@google.com> Merge "Extract out audio DSP primitives from AudioFlinger"
22ced1dc023dc000118e3a26517b14e9babd7c5a 12-Aug-2011 Glenn Kasten <gkasten@google.com> Fix indentation and redundant whitespace

Change-Id: I8e0193ad5aa9405f64203bf7814d8a9e434c5dde
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/android/VideoCodec_to_android.cpp
rc/itf/IEqualizer.c
rc/itf/IStreamInformation.c
rc/itf/IVirtualizer.c
ests/native-media/jni/native-media-jni.c
ools/hashgen/Makefile
72042d4448cee63528c619537321ba73944c6382 16-Nov-2011 Glenn Kasten <gkasten@google.com> Cleanup CreateAudioPlayer and CreateMediaPlayer

Fix minor bug in MediaPlayer, it was missing an assignment if invalid locator:
mp->mAndroidObjType = INVALID_TYPE;

Cleanup:
- add placeholders for android::AudioSystem::acquireAudioSessionId and
releaseAudioSessionId
- remove duplicate initialization of some fields.
- android_audioPlayer_create can never fail, so make it return void
- add comments
- remove unused method audioPlayer_setInvalid
- simplify android_audioPlayer_create

Change-Id: I237b796f6b828cf53bf2c628e52a05a4bdf86c06
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/MediaPlayer_to_android.cpp
rc/itf/IEngine.c
70e776a54bc945a6a01717a784e66476bc5d450f 16-Sep-2011 Glenn Kasten <gkasten@google.com> Remove redundant this->

Change-Id: I86eabf51bf79c145d3ceff68f5aa527199d14ef7
rc/android/android_GenericPlayer.cpp
ca426f63e9c900ecbd28f8e3037aaf47ef739dd4 03-Oct-2011 Glenn Kasten <gkasten@google.com> Consistent formatting for if (

Change-Id: I4213dbe94c7dbc95565a20d12d66eb16707d0caa
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
ab7724988c1ff39ad3fc95a7ae0e638357708f7c 29-Jul-2011 Glenn Kasten <gkasten@google.com> Add curlies to if / else

Change-Id: Id697a96cc9bafa56f8ebbb2ad542a70181ed561d
rc/itf/IPlay.c
rc/itf/IVolume.c
rc/sles.c
cc247845e19299051cc346a8ed3f193576fd277e 09-Dec-2011 The Android Open Source Project <initial-contribution@android.com> am 9f61907c: Reconcile with ics-mr1-release

* commit '9f61907cc1991fd56c008cb5042d8d3d2d0db51f':
6e06b4f89805bb24ab5b1d8abdfc819559b9a5ea 08-Dec-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I04db6f7d07f213a6dabec96efd393041f109e174
1421fde4e1fe91de3491ed708b4b1afef007f681 07-Dec-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I2e44bc34002b9d53adf8f7df72c9980f612e6274
e96622ef43ac28c58e8f5f178a7d2b5d9724ac3f 07-Dec-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
7f845084ebb829e46aea5ee672769aa7f947dea9 07-Dec-2011 Eddy Talvala <etalvala@google.com> am 28cd3686: Merge "CTS-like Test for Face Effects recording support" into ics-mr1

* commit '28cd368665e7e5576102edfa8fa67ec09a6d3c69':
CTS-like Test for Face Effects recording support
0d373173e942be7c18836773099571c718df73df 06-Dec-2011 Eddy Talvala <etalvala@google.com> Merge "CTS-like Test for Face Effects recording support" into ics-mr1
c5586b8fd67cfab16004262443af4e16bdb6337d 06-Dec-2011 The Android Open Source Project <initial-contribution@android.com> am b7b605ff: Reconcile with ics-mr0-release

* commit 'b7b605ff5b4682bc650461c2b987aa031a1071ca':
DO NOT MERGE: Fix ordering of SurfaceTexture startup in SurfaceTextureSource.
f10ebf7ec104a740de2deb6259c7e682f5ad8763 06-Dec-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr0-release

Change-Id: I5f6ea1b12b77924424ff87495db2b2a262f8f3f4
448bc9bb1c2dad274b101c42b853ba986bd3facb 30-Nov-2011 Eino-Ville Talvala <etalvala@google.com> am 6b77115d: (-s ours) am 3e843769: DO NOT MERGE: Fix ordering of SurfaceTexture startup in SurfaceTextureSource.

* commit '6b77115da5de1e6d82a1e96e30ffdb3f1a90a54d':
DO NOT MERGE: Fix ordering of SurfaceTexture startup in SurfaceTextureSource.
342a30daa9556d45238bc6e07530c15987687dd5 30-Nov-2011 Eino-Ville Talvala <etalvala@google.com> am 3e843769: DO NOT MERGE: Fix ordering of SurfaceTexture startup in SurfaceTextureSource.

* commit '3e843769e46d3d53aa2565bf80af1e800a3bbf1e':
DO NOT MERGE: Fix ordering of SurfaceTexture startup in SurfaceTextureSource.
a4df9c36e45a76d3835984f9a54b9ea85028e26b 30-Nov-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I028ce272d04e55877b502cfeaabe6bd7e59ca05e
e62501a9aa791a22f8f35491e74a36a14c8ddd29 30-Nov-2011 Glenn Kasten <gkasten@google.com> am 30f49ce0: Merge "Bug 5622637 missing XA_PLAYEVENT_HEADATPOS" into ics-mr1

* commit '30f49ce0c8f9ee464e87552a6fb4fb3d6b09959c':
Bug 5622637 missing XA_PLAYEVENT_HEADATPOS
02a171afdb1a5198b22f38ed1b306bb8cc6e7043 30-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> resolved conflicts for merge of 2917f475 to master

Change-Id: I63f4689fabb2aee1682d785ad9c41f06de380396
d6081a1be1e361766ba3b590c53d28e235298309 30-Nov-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
0b8669e6f9d46842bdbe13536283ae468738d211 30-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5622637 missing XA_PLAYEVENT_HEADATPOS" into ics-mr1
4d919aa2a89c65869058a98efcaf9066eab8c125 30-Nov-2011 Andreas Huber <andih@google.com> am 7898a5c5: Reflect (internal) API changes made to the IStreamSource interface.

* commit '7898a5c5f283c9487da48ef92f623c149d8a7a72':
Reflect (internal) API changes made to the IStreamSource interface.
af9b87de97356722370d11d2c5797d75cb43969e 29-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5553055 support video only format change in MP2TS

Allow command data when enqueueing a format change command.
Support format change where the application signals that the
change is for the video stream only. Consider any other change
or format change command with invalid data as a full format
change.

Change-Id: I6c684eab36a51dded7e3d7e72b8effe13dac6cc8
nclude/OMXAL/OpenMAXAL_Android.h
rc/android/android_StreamPlayer.cpp
rc/android/android_defs.h
rc/itf/IAndroidBufferQueue.c
9dc142db9439e53a3831d7c9e607affe87138db5 29-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Bug fixes and cleanup for video codec profiles"
df200f6a98da83bf2c1b14aff0ed356263dfb8b7 11-Nov-2011 Glenn Kasten <gkasten@google.com> Bug fixes and cleanup for video codec profiles

Bug fixes:
- removed the line VideoDecoderNbProfLevel[c] = 0;"
it could overwrite the MPEG2 entry if only one codec implementation,
or worse if there were multiple codec implementations
- android_videoCodec_getProfileLevelCombinationNb was returning success
and zero count if a decoder has zero profile/level combinations,
but OpenMAX AL 1.0.1 spec says it must fail in that case.

Minor cleanup:
- omx does not need to be global
- We only use the first codec implementation for a given
decoder ID / MIME type, so simplify the code that iterates through
the array of codec implementations
- Add some const
- Add some comments

Also includes #if 0 code to restrict reported video codec profiles,
as a placeholder -- disabled for now.

Change-Id: I81991f164efaf3606beb5789e1a79cf76ad033a0
rc/android/VideoCodec_to_android.cpp
rc/devices.c
rc/devices.h
rc/itf/IVideoDecoderCapabilities.cpp
665ca3f1b0fc90cd5980a435d164354b2529c0b5 29-Nov-2011 Andreas Huber <andih@google.com> Reflect (internal) API changes made to the IStreamSource interface.

Change-Id: I5cde6bc0d4bd9c62b4851d7e6375cd9216c7c062
related-to-bug: 5553055
rc/android/android_StreamPlayer.cpp
1f20e5c4db4c920bbe7b9e6cd6390ed8df64be9a 29-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Remove AudioTrackProxy since AudioTrack is RefBase"
2d474a2078b8a0d77f921872e8420780a02ee393 29-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5550980 test xaVideoDecoderCapabilities"
dcc6a97a16b6536f455f29a03c02295c39583dcd 29-Nov-2011 Glenn Kasten <gkasten@google.com> Bug 5550980 test xaVideoDecoderCapabilities

Print video codec profiles and levels as strings in addition to numbers.

Change-Id: I88d84121fe15c1cc1ba84067ec6b6bdb3405d704
ests/examples/xaVideoDecoderCapabilities.cpp
eccbfb7d9e4065d5a5a5c1995c69e0eb6b526f5f 29-Nov-2011 Glenn Kasten <gkasten@google.com> Bug 5622637 missing XA_PLAYEVENT_HEADATPOS

Fix problem with a missing XA_PLAYEVENT_HEADATPOS after seek backwards,
due to a race condition between getPosition and onSeekComplete.

Change-Id: I408c8675df8a9b3cbd2874435fbeccdca355bc46
rc/android/android_GenericPlayer.cpp
8ed5993c605b62423d63e63092a4aaf0c855aa0f 22-Nov-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I75bc4cd928873b79be9bf0d8561f765f61e6fbde
6b5c41c5176f5052004f8bb51a96c23d6bb6cdcb 22-Nov-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
ea175b3226b5ae82427066b7f1bf1db15c21af2e 19-Nov-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I65e29d550f42cd3614ad170b79589cec9a5a1d93
544c1626750beacb2c7a4337c6c62b65ada5cbb8 18-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5238515 AndroidBufferQueue miscellaneous"
74697724c41c83cbfaecb70804c93047e245fb96 18-Nov-2011 Eino-Ville Talvala <etalvala@google.com> am b47a61dd: Fix ordering of SurfaceTexture startup in SurfaceTextureSource.

* commit 'b47a61dddc87d4ccc2cfc1031991172a043b906a':
Fix ordering of SurfaceTexture startup in SurfaceTextureSource.
ae1a5c8dc1fccf7c121eda830f8d23bd094c0f16 15-Nov-2011 Glenn Kasten <gkasten@google.com> Remove AudioTrackProxy since AudioTrack is RefBase

Change-Id: I4a1f755178699e0fdedf58e1f3cbd82e6067e071
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioTrackProxy.h
rc/classes.h
rc/itf/IEngine.c
rc/locks.c
682f9be91e641e80739c21d6ff124379a806182a 16-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5238515 AndroidBufferQueue miscellaneous

AndroidBufferQueue:
- errors found by setItems are now hard errors, and cause Enqueue to
return an error result (e.g. PARAMETER_INVALID or PRECONDITIONS_VIOLATED)
- disallow EOS with non-zero data
- disallow Enqueue after EOS
- Enqueue checks MPEG-2 sync byte of first packet to reduce chance of downstream failures
- use MPEG-2 terminology "packet" instead of "block"
- Clear and init don't need to erase buffer content, as it is inaccessible
- put placeholder in IAndroidBufferQueue_SetCallbackEventsMask
for additional events beyond SL_ANDROIDBUFFERQUEUEEVENT_PROCESSED
- comment unused field mBufferState in AdvancedBufferHeader
- fix a minor typo
- add dump method, #if 0 out by default

Change-Id: I11921e3784bfdb30e2cebaa1dabb705ea5ab0b92
rc/android/android_defs.h
rc/itf/IAndroidBufferQueue.c
rc/itf/IEngine.c
rc/itfstruct.h
rc/sles_allinclusive.h
09bc46f629d43102e8fe41d9a552e73d445b0f01 16-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Remove private ANativeWindow_fromSurfaceTexture"
e5ce0bdb3aca8976465b9e2e55b1267e48aef44d 28-Sep-2011 Glenn Kasten <gkasten@google.com> AAC decode test additions

Add prefetch status check: believe it or not, this can actually fail if
the first AAC frame is invalid (I found this out the hard way).

Use SL_PLAYEVENT_HEADATEND event to detect end of decode.
No more sleeps!

Fix typos in checking the per-buffer context.

Display message when corrupt AAC frame, and display frame sizes.

Add option to enable raw output, on by default.

Use same naming conventions as other tests: slesTest_decodeAac.

Clean up the comments.

Move metadata key queries (but not values!) to before prefetch started.

Change-Id: I69e89f3c67c5310e45117dffd08c55bed9f5914a
ests/examples/Android.mk
ests/examples/slesTestDecodeAac.cpp
e8433e52441e8328281ff149c9fbacd41a5078ed 15-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Simplify code for the AAC decode use case"
70e6a0238597223221a8bf5e506c92acf28aa35f 29-Sep-2011 Glenn Kasten <gkasten@google.com> Simplify code for the AAC decode use case

Details:

AacBqToPcmCbRenderer constructor
now takes an additional parameter: the IAndroidBufferQueue * interface.

So now there is no need to register a callback after construction,
and AacBqToPcmCbRenderer::registerSourceQueueCallback
can be deleted.

This allows android_audioPlayer_androidBufferQueue_registerCallback_l
to be deleted.

AacBqToPcmCbRenderer::mBqSource is always non-NULL and const, so this
allows removal of mBqSourceLock and some error-checking code.

BufferQueueSource source constructor now takes the IAndroidBufferQueue *
interface instead of the list [user, context, caller].

This allows mAndroidBufferQueueSource to be const, which then allows
more code to be deleted in IAndroidBufferQueue_RegisterCallback.

new AacAdtsExtractor can't fail.

Change-Id: I1f39ccc1e69833fe6df616feb76edbe4ce82fca7
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/BufferQueueSource.cpp
rc/android/BufferQueueSource.h
rc/android/include/AacBqToPcmCbRenderer.h
rc/itf/IAndroidBufferQueue.c
1cbcb3d2c9cb208060ad18b16277c8d0e36832f5 15-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "More logging of media events for debugging"
25d6bcb2fa8c9583dc5e3f6b53956a4f2631ae52 15-Nov-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
86d4c6adc589ad73ff38e480151e65e755a7071a 14-Nov-2011 Glenn Kasten <gkasten@google.com> am e75ba3ef: Merge "Bug 5201321 recover from mediaserver crash" into ics-mr1

* commit 'e75ba3eff247622fdf36974d2216dcaff269ea5c':
Bug 5201321 recover from mediaserver crash
6a1b1795105785ec917513b02f08748ce14d622d 14-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5201321 recover from mediaserver crash" into ics-mr1
bbb4655200e0597ea8a7e282709162dd42b198d2 13-Nov-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
74b9720d8ce4a6f1d643c27721038b8a8518932a 12-Nov-2011 Pannag Sanketi <psanketi@google.com> am 760eb949: Fixing mirrored background video in camera effects

* commit '760eb949cf0abe299e6c6710cda5c52364945ae0':
Fixing mirrored background video in camera effects
738e761c42f146b655fa01707b82be25c2200d63 12-Nov-2011 Glenn Kasten <gkasten@google.com> Remove private ANativeWindow_fromSurfaceTexture

ANativeWindow_fromSurfaceTexture was a private API that is now deprecated
and is being removed in a separate CL. This change replaces all the
known uses by the preferred API ANativeWindow_fromSurface.

Note: a Surface can be derived from a SurfaceTexture by:

SurfaceTexture st = ...;
Surface s = new Surface(st);
// use s
s.release();

Change-Id: Ia55c023fc1487177ec76ae406ed77193083c9eac
ests/native-media/jni/native-media-jni.c
ests/native-media/src/com/example/nativemedia/NativeMedia.java
aeaf3abab0929cb82222e139cba0a663eb6db8f5 11-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "MediaPlayer kEventPrepared similar to AudioPlayer"
513222822545c3e954176476b263df52a47f43a4 10-Nov-2011 Glenn Kasten <gkasten@google.com> Bug 5201321 recover from mediaserver crash

Add a media player death notifier to recover from media server crashes.
Downgrade some logs.
Destructors should be protected.

Change-Id: I7774733bcb12fc7fbfe237bdbeffca1adde46e78
rc/android/AudioPlayer_to_android.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_StreamPlayer.cpp
7f250a17c145382b866d5d4d7ef23d65fada6236 30-Sep-2011 Glenn Kasten <gkasten@google.com> MediaPlayer kEventPrepared similar to AudioPlayer

Now that AudioPlayer kEventPrepared logic for successful/unsuccessful
prepare completion has been combined, make MediaPlayer work the same
way. This will make it easier to merge similar code AudioPlayer and
MediaPlayer in an upcoming CL.

Change-Id: Iaa58dcc85b0ede82036c0a5f45d61d0e7853fe0b
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
5a4356cb83141025ab9d25803f4e1ef55ee83e0f 10-Nov-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I448b449f721790e8a952fedb8696dfffa5daccb3
ce6c2b616a091371079b0c655f3e3ebeaab7a5cb 10-Nov-2011 Eddy Talvala <etalvala@google.com> am e0746488: Merge "Bug 5353078: Reduce foreground holes in Backdropper." into ics-mr1

* commit 'e07464884a4bcb4d1548e7408015364dc037bdc1':
Bug 5353078: Reduce foreground holes in Backdropper.
fdeef19c4caa47a281d8813039c2c74470bce6f5 10-Nov-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
01d2f560058ab5a5f4cad83aa697d4b05d405522 10-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am 5696c8a7: Merge "Bug 5585323 Authorize audio decode for system" into ics-mr1

* commit '5696c8a7a0e2fde4b051230544a58db853d3551f':
Bug 5585323 Authorize audio decode for system
a5c0cf350f2559bb96e1ff0b180927b0a420d331 10-Nov-2011 Glenn Kasten <gkasten@google.com> am b9217405: Merge "Bug 5578928 Fix race in stop for destroy" into ics-mr1

* commit 'b921740510e15a4e403e2819f1a8f0a9a6c03da9':
Bug 5578928 Fix race in stop for destroy
20ae7fbea32b7b542964aaa9013c95c08cb6358d 09-Nov-2011 Eddy Talvala <etalvala@google.com> Merge "Bug 5353078: Reduce foreground holes in Backdropper." into ics-mr1
fc0eb937081f8d8f58d88c26f16c4ea44f6e8432 09-Nov-2011 Pannag Sanketi <psanketi@google.com> am e8c04ee9: Merge "Fixing the mirroring in MediaSource Filter" into ics-mr1

* commit 'e8c04ee9ea63b90667aaf5be6fbb3475ecd93520':
Fixing the mirroring in MediaSource Filter
20dfaf62830758bf719cbcf062561cc3d45a3bcf 09-Nov-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
22dc81e75a7d50a7fbe07d429a7e8b7ab2a04bd1 09-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5585323 Authorize audio decode for system" into ics-mr1
f17145ab7ec3eda0c21aafd3b77e9bef97ee3d7c 09-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5578928 Fix race in stop for destroy" into ics-mr1
c01a332a134a46ed334c96e69cc7dd42961efdb4 09-Nov-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
ba7d48ff6ef57d0494358b6280abc8ce6f7d3d28 09-Nov-2011 Pannag Sanketi <psanketi@google.com> Merge "Fixing the mirroring in MediaSource Filter" into ics-mr1
0c7d40a5f11f6930e6c4b2551a14f41dd721f936 08-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5585323 Authorize audio decode for system

Authorize the use of specific audio codecs for audio decoding
by the system, which guarantees audio is decoded for playback,
when the appropriate system permission is used.

Change-Id: I0633b04b4d0aebe89804ef48752bf05d72abc56d
rc/android/android_AudioSfDecoder.cpp
3c59249869119ec0f1dd53b8b3045f785c514046 08-Nov-2011 Andreas Huber <andih@google.com> am e87e28c3: Merge "Remove MediaPlayer::setVideoSurface legacy." into ics-mr1

* commit 'e87e28c32f35ed40a12b18ef51cc6af0f44ec270':
Remove MediaPlayer::setVideoSurface legacy.
b3990dc973bd3efa83ef56f210560503739108eb 08-Nov-2011 Andreas Huber <andih@google.com> Merge "Remove MediaPlayer::setVideoSurface legacy." into ics-mr1
8ab6c02fa1384397d24eb8c15029577b17ab7c71 07-Nov-2011 Glenn Kasten <gkasten@google.com> Bug 5578928 Fix race in stop for destroy

Change-Id: Ic5c84406bffa372a2fd3e92ad1aca1f6f5185026
rc/android/android_StreamPlayer.cpp
047916c6e882878075e42a7a5986a6bc1b0cf489 07-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "CT and spec errata for MuteSolo::GetNumChannels"
90ccf2e90fa295dd189abbf8e4f05efafbe74547 07-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Comments"
e2e8fa36bd7448b59fbcdf141e0b6d21e5401d91 29-Jul-2011 Glenn Kasten <gkasten@google.com> Comments

Change-Id: I1592d1979ce5f5811ff5a47b4b60db93e8670313
rc/Android.mk
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_Effect.cpp
rc/android/android_Effect.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
ools/mphtogen/Makefile
6cb52acc3e6fc1ef23b26d0bf9827f168bb8b71e 07-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Fix line length"
68686bd0cb31f99f07ebc176176f8b51adf8d1d5 21-Jul-2011 Glenn Kasten <gkasten@google.com> Fix line length

And add explanation for -p# option of slesTest_recBuffQueue

Change-Id: I32a06caf633c6796e263a1beeec93513cd775096
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestRecBuffQueue.cpp
ests/examples/xaVideoDecoderCapabilities.cpp
ests/native-media/src/com/example/nativemedia/NativeMedia.java
ests/sandbox/streamSource/slesTestPlayStream.cpp
04a960c641a5885784f84382c0dabd6d34f70226 07-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "xaplay test additions"
c9a59d2a184ac461f46c3d878c6fc2574f1805f0 28-Sep-2011 Glenn Kasten <gkasten@google.com> CT and spec errata for MuteSolo::GetNumChannels

The question of what to return when channel count is unknown was dicussed
by Khronos working group. They decided to return zero channel count
and success if unknown. Both the spec errata and CT have been updated for this.

Change-Id: I820291271f83bad2142046372d9b22e4d05faf07
rc/itf/IMuteSolo.c
ests/listening/slesTest_playMuteSolo.cpp
7df272342694ddc96957ce0c33abb19ee1f5fd9d 07-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "DataSource::getSize() returns ERROR_UNSUPPORTED"
b17edb96ba759cd1197bf13cd13e279ee144da60 30-Aug-2011 Glenn Kasten <gkasten@google.com> xaplay test additions

Allow playing a subset of input file.
Add format change test.
Call gComposerClient->dispose before exit.
Remove dead code related to re-initializing the engine.
Add position, seek, loop tests.
Force callback failures with -c option.
Don't enqueue EOS more than once.
Add STOPPED at end of xaplay.
Add temporary set play state to paused.
Added discontinuity test.
More stream information queries and printfs.
Shorter marker to make it easier to hit when looping.
Add explanation of command line options.

Change-Id: I5b425a52f9afc2c8f9083badb6de0773f711c6d9
ests/sandbox/nativewindow.cpp
ests/sandbox/nativewindow.h
ests/sandbox/xaplay.c
08dfbda28af08958b3f0afccaf61638bcebf7264 04-Nov-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I3217d6a7871bd15bfa77f492f01d343237ed4dff
22dfd403dbb51c8da9ade19b85e2077a724ce743 03-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Fix build errors and warnings on native"
1b775138b2b353710c66de7592a30f274c9026f6 02-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am 762f1065: am c157a9c2: Bug 5544082 Filter out unsupported codecs in OpenSL ES

* commit '762f10659c2ac6fb66afd09be5bddd7ffebbf9df':
Bug 5544082 Filter out unsupported codecs in OpenSL ES
167a2af67dcc0d20e6e3e995a23a0567715e0ee1 07-Oct-2011 Glenn Kasten <gkasten@google.com> AudioPlayback_Parameters cleanup

Use AudioPlayback_Parameters more consistently in parameter list of
constructors. Also, StreamPlayer::StreamPlayer was over-assigning to
mPlaybackParams (already assigned by its superclass's constructor).

Move initialization of AudioPlayback_Parameters from each case
to before the switch, as it is shared by each use case.

Remove old asserts.

Change-Id: I8925d36da031c80308457c7e940418d3a4e47b62
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/AudioPlayer_to_android.cpp
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_AudioToCbRenderer.h
rc/android/android_GenericPlayer.h
rc/android/android_LocAVPlayer.cpp
rc/android/android_LocAVPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/android/android_defs.h
rc/android/include/AacBqToPcmCbRenderer.h
39fa9db7f2b75847866c20b63efde3f6ca3a700a 02-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Finish out the StreamInformation interface"
193e3c53c3b288fb116039641d948ac7b6278709 02-Nov-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
631aa9c3c2a45b81552ad0a6b22cb3a661f97182 01-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Reverb comply with OpenSL ES 1.0.1 spec"
37a0d0ad678553af318d4d3b9ca93e2377b78a31 01-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am c157a9c2: Bug 5544082 Filter out unsupported codecs in OpenSL ES

* commit 'c157a9c259474d4e1736c4f9ccccad10b5000734':
Bug 5544082 Filter out unsupported codecs in OpenSL ES
3597268c2bf4ff71521e3cbe522d7ee02c41f175 01-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5544082 Filter out unsupported codecs in OpenSL ES

When decoding compressed audio data, disregard tracks
encoded with unsupported codecs.

Change-Id: If0535013990923c6859829106ccf9e92e5856f90
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
c098e2ef366c35d952705505cc0b78014ec838d0 31-Oct-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with ics-mr1-release

Change-Id: I89995f978dbd3c063c1f5f6a815c609f7e962d87
241b9c06493479dc632a8851097c193b724a2b41 26-Oct-2011 Andreas Huber <andih@google.com> Remove MediaPlayer::setVideoSurface legacy.

Change-Id: I95aa181f39b375087b30ac65fea37589108c9f16
rc/android/MediaPlayer_to_android.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.h
rc/android/android_StreamPlayer.cpp
281fd3248b516b9805a68159c2f2340512f2e9ae 30-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
220b874d41bc8d105ea446d5d556fb3592de965c 28-Oct-2011 Glenn Kasten <gkasten@google.com> am 13ffc7f7: am d0b07222: Merge "Bug 5526807 inform client of errors after prepare" into ics-mr0

* commit '13ffc7f7c69e2fabf1ef70ebb2ea81489be9bd74':
Bug 5526807 inform client of errors after prepare
b6aed97f98afa0c20f5b1e854ac07ccacfcdacc6 28-Oct-2011 Glenn Kasten <gkasten@google.com> am d0b07222: Merge "Bug 5526807 inform client of errors after prepare" into ics-mr0

* commit 'd0b0722276aea9a06a118a64abfc8b3e9498e931':
Bug 5526807 inform client of errors after prepare
6e413fb8c5cde438092736e7fb58abb48e51637d 28-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5526807 inform client of errors after prepare" into ics-mr0
870299140ace824f90086664af176cb06ade4fd6 27-Oct-2011 Glenn Kasten <gkasten@google.com> am 21b2f0ce: am d7762ba2: Bug 5526272 ignore player events during destroy

* commit '21b2f0ce677aa42c34df65995eefb30e20f2c3aa':
Bug 5526272 ignore player events during destroy
d92b6a98b7ff947becfc8824cd4aa2ed12ed68b6 27-Oct-2011 Glenn Kasten <gkasten@google.com> am d7762ba2: Bug 5526272 ignore player events during destroy

* commit 'd7762ba20bc7d13e1af73539d7a2a75183e2960b':
Bug 5526272 ignore player events during destroy
5e4d65e369f28746767aba11b618dee314bb8197 27-Oct-2011 Glenn Kasten <gkasten@google.com> Bug 5526807 inform client of errors after prepare

Change-Id: Ic5c88f8e1c8e7d6226a7a71a2a89a70f0fa876f8
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_defs.h
9d8a98601357c0669dca4de63e43196c0a70553d 27-Oct-2011 Glenn Kasten <gkasten@google.com> Bug 5526272 ignore player events during destroy

Change-Id: I45c67660c7cbfabcf66b0ffffbaedf56c17453d7
rc/android/MediaPlayer_to_android.cpp
f7d64440b6b26d991ee58b87df3d496ed2045a61 26-Oct-2011 Ed Heyl <ed@google.com> am 9a371a20: Merge remote branch \'goog/ics-mr0\' into ics-mr1

* commit '9a371a201366ff0c0c132a31029a6c2357400b3e':
6354da6797eca78f8da3e61d78b4bbb575ad3005 26-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-mr1-release history after reset to ics-mr1
de7c7da8460de9fb1e8739978f25e1463e2e1666 26-Oct-2011 Steve Block <steveblock@google.com> Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I4c0e3dc9da0a0cdf9aef8be4fae7b24da876dc17
rc/android/android_AudioSfDecoder.cpp
rc/android/android_GenericPlayer.cpp
ests/automated/BufferQueue_test.cpp
ests/native-media/jni/native-media-jni.c
409b09b0436e0268b0025a935a42076f8274b7d7 25-Oct-2011 Ed Heyl <ed@google.com> Merge remote branch 'goog/ics-mr0' into ics-mr1
f0605e369850d13c4e5aa30b6548cdf20e3c7a56 24-Oct-2011 Glenn Kasten <gkasten@google.com> am ba6d04f5: Bug 5505856 remove incorrect setDataSource(NULL)

* commit 'ba6d04f523bf6c3c2d4ed6975109e72f328889b8':
Bug 5505856 remove incorrect setDataSource(NULL)
7c40d3b78c609b2a84acd0dd6e874ab24a73f8d7 24-Oct-2011 Glenn Kasten <gkasten@google.com> Bug 5505856 remove incorrect setDataSource(NULL)

Change-Id: Id23cbc43b56c014f5931cd1e941c12a773dba2b5
rc/android/android_GenericMediaPlayer.cpp
f0dea14373bd07f46d75c0658c4ee252fb7c10fe 23-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
1a7c35f14408b5cbd476c77e47751d452bb73747 21-Oct-2011 Eino-Ville Talvala <etalvala@google.com> am f52b953c: Fix NPE in AsyncRunner when runner is stopped immediately after start.

* commit 'f52b953c0acb730289c6f5a664ec5624d6ba5d36':
Fix NPE in AsyncRunner when runner is stopped immediately after start.
e3898f771284aa9d8a35102aea6587b95e4f91cf 20-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
5bc437fb23b24f433aff4d328ce993e216e37830 20-Oct-2011 Pannag Sanketi <psanketi@google.com> am 0ea5e57c: Support for max duration recording with effects

* commit '0ea5e57c6cc314a5d3a14aa0745c56c2a9101f0f':
Support for max duration recording with effects
d88c2a1826a6db0f3644837d41a2b5b1b1e1297f 19-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
d0d88e80405c9d39e3eb085945c2dafb8161c386 19-Oct-2011 Scott Main <smain@google.com> am bffd2f01: Merge "docs: add package summary for media effects" into ics-mr0

* commit 'bffd2f0106fac140de9b12ee20169de86e33f4e3':
docs: add package summary for media effects
f2a8a8dfc0ade50faf67ccc92ad0ca7706957d91 19-Oct-2011 Scott Main <smain@google.com> Merge "docs: add package summary for media effects" into ics-mr0
73bcf8087095e365d6dd31d89b198250f4766a0c 19-Oct-2011 Pannag Sanketi <psanketi@google.com> am aef7e413: Merge "Add timeLapse support in MediaEncoderFilter" into ics-mr0

* commit 'aef7e41306f276071fae1954c59d93235c47867f':
Add timeLapse support in MediaEncoderFilter
34b99d11ad4850cfb4426b46bf4dc25f4d90a460 19-Oct-2011 Pannag Sanketi <psanketi@google.com> Merge "Add timeLapse support in MediaEncoderFilter" into ics-mr0
b96e08a32c49c8caeae52e35f7dedfd6e85d2dd8 18-Oct-2011 Jamie Gennis <jgennis@google.com> am 543c7826: wilhelm: fix native-media SurfaceTexture test

* commit '543c7826963411caef0c8052bb4866874def7cd7':
wilhelm: fix native-media SurfaceTexture test
9bb7e82103c93a756646b77f8ace4177c45f1a37 18-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Simplify the native-media demo."
c9034c3a484855366b663ce4b9b8c023be65ff95 18-Oct-2011 Ming Jia <mjia@google.com> Simplify the native-media demo.

1. Removed the old glsurfaceview.
2. remove physics and accelerometer related codes.
2. remove touch action.
4. Rotate the card a bit to show the tilting effect.

Change-Id: Ib2a7aeeef0b643644b22c285e6a295f5c09d3951
ests/native-media/src/com/example/nativemedia/MyGLSurfaceView.java
c87205f91c13d5ca914112ad06fa4e38fff1989e 18-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
1fa5c3206d06bbebdea2dc92f378ce6b8a211e23 30-Sep-2011 Glenn Kasten <gkasten@google.com> Fix race in getting duration

mDuration is protected by mSettingsLock because it is accessed from both
the ALooper thread and from the application thread, but only one of the
two "set"s was using the lock, and the "get" was not using the lock.

Also added some comments about the lock, and moved lock closer inside { }.

Change-Id: I7c96186f31baaad1b941d934549cb50d4f82d0c8
rc/android/android_AudioSfDecoder.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
8cae77b0b4d0fb72ff2aba2066b65c0d73c98355 18-Oct-2011 Jamie Gennis <jgennis@google.com> wilhelm: fix native-media SurfaceTexture test

This change updates the Java portion of the native-media test to use the
new MediaPlayer#setSurface method rather than the MediaPlayer#setTexture
method, which is no longer present.

Change-Id: I0b89129b65fc3765b343ba5da7672e5d72afe775
ests/native-media/src/com/example/nativemedia/NativeMedia.java
00ac53c02bd0cbc10daff244ed71b2d6d73cca88 17-Oct-2011 Pannag Sanketi <psanketi@google.com> am 6b9780ef: Fixing file sizelimit error in video capture intent with effects

* commit '6b9780efb2b34058f24e462ae54e6a5b6df85e46':
Fixing file sizelimit error in video capture intent with effects
a216c788f43ee2947b1b561c6d2841d3aaa8ecc5 16-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
b5b68e8d3b4420eed7cb18cac212c28af138048e 14-Oct-2011 Glenn Kasten <gkasten@google.com> am fcdc9c4c: Merge "Improved deadlock detection logs." into ics-mr0

* commit 'fcdc9c4cc7da7044f92399b1b5c7a4ddd5fec3b4':
Improved deadlock detection logs.
0e5f0772fac49acfed60f0dcdf02e97fc5e3b5d7 14-Oct-2011 Glenn Kasten <gkasten@google.com> am 70db434d: Merge "Bug 5267571 disable callbacks earlier" into ics-mr0

* commit '70db434d0dc2a58656e792ac8cdcd9a09ee5f17a':
Bug 5267571 disable callbacks earlier
9c56ff31ba35f87294e6f44107a7815913f973bc 14-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Improved deadlock detection logs." into ics-mr0
9b6c7b96e8ae549e9797d392feb227824d7f4230 14-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5267571 disable callbacks earlier" into ics-mr0
e5af940aa71966857fb222454551ed2a4e71a89a 14-Oct-2011 Rodrigo Carceroni <carceroni@google.com> am 4aad9a24: Bug 5383077: Add callback to finalize media when recording of video with effects is done.

* commit '4aad9a241281b973b05c14eb48752d3afafec4ce':
Bug 5383077: Add callback to finalize media when recording of video with effects is done.
b66dfcb9e7b944c45927314ef2282d6cc95cfa0a 14-Oct-2011 Glenn Kasten <gkasten@google.com> Bug 5267571 disable callbacks earlier

Change-Id: I0da3b85dcce93a8a250b8b225a998b80d92f436b
rc/android/MediaPlayer_to_android.cpp
489068aec538417416d8c6f8b4cc78640f7f60b6 14-Oct-2011 Pannag Sanketi <psanketi@google.com> am 7177efa8: Merge "Fixing crash in video capture intent with effects on" into ics-mr0

* commit '7177efa8da13a1b0d4c8939cd110897bcaee8bb9':
Fixing crash in video capture intent with effects on
0aa9909970fbd93b42edf50fa2116cb84a3d89ab 14-Oct-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fix color transforms in BackDropperFilter."
6a5619156a69bd17d6454633b6d715af5738d27e 13-Oct-2011 Pannag Sanketi <psanketi@google.com> am d115b191: Merge "Fixing a bug in gl_env release surface" into ics-mr0

* commit 'd115b1919a31b086f2e60a1136ee5d4de7357cea':
Fixing a bug in gl_env release surface
7d77f0aed328363b188d2caa829bb836ba1abcc8 28-Sep-2011 Glenn Kasten <gkasten@google.com> Reverb comply with OpenSL ES 1.0.1 spec

According to OpenSL ES 1.0.1 spec, SL_RESULT_CONTROL_LOST is not
a valid result code for the "Get" APIs. They are supposed to return
SL_RESULT_SUCCESS and the last known setting. This affects ability to
run Khronos CT.

Change-Id: I8ee4c0f9ef95da2ac3d59ca1cde9b4ace32e88fe
rc/itf/IEnvironmentalReverb.c
rc/itf/IPresetReverb.c
887b8d1551370e592f527dcba3e76cf6916cf677 11-Sep-2011 Glenn Kasten <gkasten@google.com> Finish out the StreamInformation interface

Return SL_RESULT_FEATURE_UNSUPPORTED instead of
XA_RESULT_CONTENT_UNSUPPORTED for unsupported APIs.
First pass at implementing QueryStreamName.
Use shared not exclusive locks for read-only access
(serves as a comment only, since really the same).

Change-Id: I54c5f3456d541f4f9afa0271721e6c958eaae1d9
rc/itf/IStreamInformation.c
0384250ce4221e4a6a16db2725e1232c71a60965 30-Sep-2011 Glenn Kasten <gkasten@google.com> More logging of media events for debugging

Do range-checking of MEDIA_BUFFERING_UPDATE parameters.

The other new logs are LOGV so disabled by default.

Don't forward empty MEDIA_SET_VIDEO_SIZE notifications, as
mediaserver seems to send these even for audio-only tracks.

Change-Id: I49063f83cec7bdfedb768b32f94735983755ebf2
rc/android/android_GenericMediaPlayer.cpp
7da229586b6c8893a1731bfe3eae7996e2ccffc6 23-Sep-2011 Glenn Kasten <gkasten@google.com> Fix build errors and warnings on native

android_audioPlayer_metadata_* APIs don't exist on non-Android.
handlers.c needs a definition for NULL.
handler_AudioPlayer_gain isn't present on non-Android.
Fix typo in declaration of ThreadPool_add.
Fix warning: unused variable len.

Change-Id: Ia7d516c2cf3a51f5a657a3aad76188041dcc6620
rc/ThreadPool.h
rc/autogen/IID_to_MPH.c
rc/handlers.c
rc/itf/IMetadataExtraction.c
rc/objects/CMediaPlayer.c
ools/hashgen/part6.c
1056f1a140470cdee12e2243d659664f479091cc 13-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Fix bugs in get decoder/encoder counts"
567ff1698fc0fbe06f84f322bccf6bf6822dccc5 13-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
4ce38604afa7e4f629d568f400b0634504e60a2e 29-Jul-2011 Glenn Kasten <gkasten@google.com> Improved deadlock detection logs.

This should make it easier to debug the "object was locked by" logs.

Display tid and pthread_t of both the lock owner and the caller in the
"object was locked by" warning log about potential deadlocks.
This makes it easier to figure out what's going on with ps -t
which only shows the tid not the pthread_t.

Reduce false positives by using a generation counter to look for forward
progress, at the risk of increasing the chance of more false negatives.

Use lock with timeout to reduce chance of missing an "unlocked" window.

Change-Id: I15e158a20d7076624188110842a01c1bf2c5c8ae
rc/Android.mk
rc/itf/IObject.c
rc/itfstruct.h
rc/locks.c
6332cecf7470eddceb21156b8f1a6ad6fb6aa2a1 12-Oct-2011 Pannag Sanketi <psanketi@google.com> am d3832235: Support for MediaRecorder stop exception in Camera

* commit 'd383223561fe30ed667a347f87c442d4f21bff64':
Support for MediaRecorder stop exception in Camera
02581cf1ea8e4392760f370b9d64f097ea2c81f4 12-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Final revisions for NDK API level 14"
965a27a1be8b936fd167240fb7999ec2b5e9b23e 12-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
c0030ccb947c24939511020b23f37142fdc70e36 12-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Error logging in AAC"
9b735301451c2e0d73e1cdc247e1b4344d6781e5 11-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
2f8642e546ca9d53319573616aab840bf6cb2967 11-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Multithread safety and code reduction"
b4393ef4ef3edb785746c37fd7b68950e85283ae 30-Sep-2011 Glenn Kasten <gkasten@google.com> Multithread safety and code reduction

Remove unsafe GenericPlayer::getSampleRate(). getSampleRate() was not
thread-safe as it accessed a member variable updated in the looper thread
without a lock. If getSampleRate() is ever needed again, the sample rate
is available in the mPcmFormatValues array, which does have a lock.

Replace member variables mChannelMask, mChannelCount, and mSampleRateHz
by local variables for locality and performance.

Change-Id: Ibf92ed090430153d748ded4d0b835e429df47eea
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
12b2ad7d0dd93d5c0f66027def3d05b762103483 11-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Khronos bug 8080 GetMarkerPosition"
c3b82a293ed06001ba6d50f111608160c6065ef2 18-Sep-2011 Glenn Kasten <gkasten@google.com> Final revisions for NDK API level 14

Rename ANDROID_MIME_MP2TS to XA_ANDROID_MIME_MP2TS and
ANDROID_MIME_AACADTS to SL_ANDROID_MIME_AACADTS and make public.
ANDROID_MIME_AACADTS_ANDROID_FRAMEWORK remains private.

Change-Id: Ie2cda273b6adb2db453aad188b28e64147f9e6b0
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
rc/android/AudioPlayer_to_android.cpp
rc/android/android_defs.h
rc/itf/IEngine.c
ests/examples/slesTestDecodeAac.cpp
ests/native-media/jni/native-media-jni.c
ests/sandbox/xaplay.c
a3de08c6ee93a63643e9c6118dd66c0eb6398de1 11-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5293383 ~StreamSourceAppProxy wasn't reached"
f5d670d0bdff70564148f54132c034f454bdce61 10-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "EnvironmentalReverb::SetDensity copy/paste"
f5d4ad08eb6318676651f5b026ed8ddd85d122e7 10-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "AudioPlayer kEventPrepared"
58185512b8c804a072bdfe63b99dfd8bbb522205 10-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Khronos CT PresetReverb::GetPreset"
a0fa47f72f47fffb80ab2ae791739ce73de1e8f4 12-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5293383 ~StreamSourceAppProxy wasn't reached

Fix bug where StreamSourceAppProxy destructor wasn't reached,
which caused all sorts of other problems later on. To see this,
enable the logs StreamSourceAppProxy::~StreamSourceAppProxy and
StreamPlayer::~StreamPlayer. You'll see that StreamPlayer was destroyed,
but not StreamSourceAppProxy.

As StreamSourceAppProxy is child of StreamPlayer, make the reference
from StreamSourceAppProxy to StreamPlayer a weak reference in case
StreamSourceAppProxy's lifetime exceeds StreamPlayer. It is not supposed
to any more with this fix, but the wp<> provides extra safety.

StreamPlayer preDestroy no longer bypasses the preDestroy in
GenericMediaPlayer.

Do a full disconnect in GenericMediaPlayer::preDestroy.

Push decremented reference counts for strong pointer through binder
to workaround binder's "optimization".

Extra error-checking in setListener and setBuffers to verify
that mediaserver is calling them correctly.

Use mutex mLock consistently in StreamSourceAppProxy.

Add an explicit StreamSourceAppProxy::disconnect to break
a circular reference, and call it in StreamPlayer destructor.

Make methods private: receivedCmd_l and receivedBuffer_l.

Add explicit clear during preDestroy to give up references earlier.

Warning: setDataSource(NULL) is not supported by NuPlayer yet,
this depends on another change in frameworks/base, so it is
commented out for now.

Rename mPlayerPrepared to mPreparedPlayer to avoid confusion with the
enum mPlayerPrepared.

Change-Id: Ie5f554c206027d22204eb86edd15489c6281b512
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
d21603830ea24f90ce7c9bc00d321f43f963a2fc 10-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Fix typos in usage: requires local filename"
7813fe24115f4b363a4bd952f15156d81b861cb4 10-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5406664 workaround GetPosition for decode"
209c05d9104db8b77ef0846ee8eb3b161bf44031 04-Oct-2011 Glenn Kasten <gkasten@google.com> Bug 5406664 workaround GetPosition for decode

Change-Id: I6158108a8ca192f704558caca2006bf704c80d6e
rc/android/android_AudioSfDecoder.cpp
45b349f3c585a0750417722f72224a35baaab734 30-Sep-2011 Glenn Kasten <gkasten@google.com> Khronos bug 8080 GetMarkerPosition

Play::GetMarkerPosition returns SL_RESULT_PRECONDITIONS_VIOLATED
if no marker is set. Play::SetMarkerPosition returns
SL_RESULT_PARAMETER_INVALID is parameter is SL_TIME_UNKNOWN. Similar
changes for Record, and also bring in all the recent changes from Play.
Add missing curly brackets.

Change-Id: Ibcfdcab5d4342815fe8d0fb1174053e1599aaf5d
rc/itf/IPlay.c
rc/itf/IRecord.c
dfc864b1f84f1d050763cf84109b9fdca4415bba 10-Oct-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 5374629 Can't create AudioPlayer playing from MP2TS ABQ"
e9f0847ff5df38f50b750c87898a19854e029b39 10-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Don't update prepare state more than once"
93a361e3f2d39870ce307126dc5377715feb3e16 10-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Reduce log spam from callback protectors"
6e0a69b1185405c11a88e3d7c8a8278ac93ccd54 03-Oct-2011 Glenn Kasten <gkasten@google.com> Error logging in AAC

Change-Id: Ie0b620871543b18e58964a42842d1bb9f193c235
rc/android/util/AacAdtsExtractor.cpp
4efb2aa0d563b86b3c95d418d6d61d97f51c0bbb 07-Oct-2011 Glenn Kasten <gkasten@google.com> DataSource::getSize() returns ERROR_UNSUPPORTED

Per <media/stagefright/DataSource.h>), if a DataSource doesn't know the
size, then getSize() should return error ERROR_UNSUPPORTED.

This exposed a problem in error handling for calculating duration.
The calculation for per-frame duration should still be possible, even
if we can't calculate the total duration when getSize() fails.

Change-Id: I9004e78f8453982025df601b34cc7be3a967f293
rc/android/BufferQueueSource.cpp
rc/android/util/AacAdtsExtractor.cpp
cb41b5cc6c7eda60dc7bd3cae5181c76ae0882be 09-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
d483f834da2257a3c5084225f4456a84913943cd 28-Sep-2011 Glenn Kasten <gkasten@google.com> Fix bugs in get decoder/encoder counts

Khronos CT found this problem for
AudioDecoderCapabilities::GetAudioDecoders and
AudioEncoderCapabilities::GetAudioEncoders. These APIs are not currently
supported, but are faked out to allow the CT to proceed to other tests.

Change-Id: I5e73324c51ea37e76f621c161393df700b6155c4
rc/itf/IAudioDecoderCapabilities.c
rc/itf/IAudioEncoderCapabilities.c
8a9cb417dff7359e6665c76e85af01d8527ecbd2 06-Oct-2011 Glenn Kasten <gkasten@google.com> EnvironmentalReverb::SetDensity copy/paste

There was a missing assignment to the density field

Change-Id: I0dc3332da04b0d3f569625781258df560a89f3b9
rc/itf/IEnvironmentalReverb.c
ab657fa824d329357b66ceee2b350b9049847f06 06-Oct-2011 Glenn Kasten <gkasten@google.com> Khronos CT PresetReverb::GetPreset

OpenSL ES 1.0.1 spec and conformance test do not permit result to
be SL_RESULT_CONTROL_LOST. They say that even if control is lost,
PresetReverb::GetPreset should return the last known preset value.

Change-Id: I11fa6434d35b8e32c660f13f6d96c1db5193bedf
rc/itf/IPresetReverb.c
796eb075da9c84c5479bdd4dedd9c46c632e8e60 30-Sep-2011 Glenn Kasten <gkasten@google.com> AudioPlayer kEventPrepared

Combine execution paths for successful and unsucccessful paths of
android::GenericPlayer::kEventPrepared: for AudioPlayer to make it easier
to see the similarities and differences (and make some other changes soon).

Remove old asserts.

Change-Id: I59304d368a9b7611f2a16c1c687cf8d827526b58
rc/android/AudioPlayer_to_android.cpp
6be131483b1ae3fefd5adda17294a22cff4db806 03-Oct-2011 Glenn Kasten <gkasten@google.com> Fix typos in usage: requires local filename

Change-Id: I6061757f3919718fc2b4da9392e37ed2c795f8b5
ests/sandbox/streamSource/slesTestPlayStream.cpp
f6886cc347af9969723a44c81b53ec78bc8a1822 05-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
83c36078465817323d499670a409618cdc134f90 04-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5385386 missing HEADATNEWPOS"
30e81d75c9066a0ba51eadd4289131d9d4f966cf 04-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5161265 Error recovery getting video codecs"
284f60eabd241dfd7296b643e6339a3aefa3a183 04-Oct-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Updates to frame transform handling in several source filters."
832241d1ec2286e30b8efd3d8645d4653c3ae977 04-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
0d1c7e2ccd98bf7e2285c3db98ea263c79b24978 04-Oct-2011 Glenn Kasten <gkasten@google.com> Don't update prepare state more than once

If a MEDIA_ERROR event is received during preparation, it indicates
that prepare has completed unsuccessfully. However, MEDIA_ERROR can
also legitimately be sent after successful prepare. In that case, don't
update the prepare state.

Similarly, in the unlikely case that MEDIA_PREPARED is received after
prepare has already completed successfully or unsuccessfully, ignore it.
This probably indicates a buggy mediaserver, but we wouldn't want that
to take down the client also.

Change-Id: I2a92e98d13b70d1aa5ff6f440ad528f6896a2ead
rc/android/android_GenericMediaPlayer.cpp
15c706b25a8b9993b5391de574ed52c1628060be 04-Oct-2011 Glenn Kasten <gkasten@google.com> Reduce log spam from callback protectors

Change-Id: I83f40370bf86878e6d8dcabfff3847cab2cbbd6c
rc/android/CallbackProtector.cpp
6fab564fe7ec778b56c4684a888f4c8c28d474f7 03-Oct-2011 Ruei-sung Lin <rslin@google.com> Merge "make BlendFilter use alpha. Part of the fix to:"
a7d1891983fb8c182288a22c03e04415449d449c 03-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Update the URI slow-down (playback rate) test"
6962bc7bee9f539a4e066649f017f49d4a4f049a 03-Oct-2011 Marius Renn <renn@google.com> Merge "Additional fixes for bug 5357970: Handle exceptions in async runner."
3e1a45eb4882ae42fb1d55cf89d94b7e30e97f2a 03-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5399251 notify on AAC decode prepare success"
0d858f19abdbfbae7757ab3f3264b276e8ccf246 03-Oct-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
4c178cd8b962c2bcd84cf8a9e9dcf066bcb2f292 01-Oct-2011 Glenn Kasten <gkasten@google.com> Merge "Remove dead code"
457b9394608d48020d156e9525354b421f8f3e08 01-Oct-2011 Glenn Kasten <gkasten@google.com> Bug 5399251 notify on AAC decode prepare success

Change-Id: I35715be7812c6fe671f74afb7a92ebe60b4a6710
rc/android/AacBqToPcmCbRenderer.cpp
779a533785a4b8d2521123bc3c0a035b93ba078d 30-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5374629 Can't create AudioPlayer playing from MP2TS ABQ

An AudioPlayer playing audio coming from MP2TS data stored in an
AndroidBufferQueue couldn't be created and realized anymore due
to:
- a regression that prevented an OutputMix to be used as the
sink of an AudioPlayer that had an ABQ as a data source
- a missing update when the Realize() method became fully
locked on the object, android_audioPlayer_realize() was
still trying to lock the already locked AudioPlayer.
Both issues are covered by a CTS test.

Also verify the SLSeekItf is not required when using an ABQ
source.

Change-Id: Ibb1b753dcce59b7cf23ba118e287349e00e7fff4
rc/android/AudioPlayer_to_android.cpp
rc/data.c
9688e432421a656f21fa3c72f40621d5aa2ae19e 30-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5334969 MediaPlayerNotificationClient safety"
3888f4ba1b3c391104c104ce054f7ad4ec71556c 30-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5161265 Error recovery getting video codecs

Retry if mediaserver happens to be down when asking for OMX codecs.
Use IMediaDeathNotifier::getMediaPlayerService which tries a few times.

Change-Id: Ibeb69c82303f35fbc9e5948997f568e816721328
rc/android/VideoCodec_to_android.cpp
c0a40f3efef1706f861777ff68003fe344730055 28-Sep-2011 Glenn Kasten <gkasten@google.com> Remove dead code

Change-Id: Ic68d4d7b942ef99120ad30ee3ef7ce48ff1d697a
rc/android/AudioPlayer_to_android.cpp
rc/android/BufferQueueSource.cpp
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_AudioToCbRenderer.h
rc/android/android_GenericMediaPlayer.cpp
a9f22e6f5f53e90daa779e38b22f88e4faa35c95 29-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5385386 missing HEADATNEWPOS

Workaround for mediaserver bug where it does not send MEDIA_SEEK_COMPLETE
to the MediaPlayerNotifier after a discontinuity is processed.

Instead, we simulate a seek complete event in this case.
A short delay is applied to compensate for shared memory latency.

A longer-term fix will be to have mediaserver send the event.

Change-Id: Id0d01b842a145fa5762d44f03144741152f7b03f
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_StreamPlayer.cpp
54f2e371454eb70b101c99897dd83618638afe22 29-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
3df2017547e7c9b9818068fc6fd83f66fa58bdc1 03-Aug-2011 Glenn Kasten <gkasten@google.com> Update the URI slow-down (playback rate) test

Use prefetch status callback to detect bad URI and signal to main thread.
Check return value of GetFillLevel and GetPrefetchStatus.
Display rate capabilities in a nicely formatted way.
Fix compile warnings.

Change-Id: I3f96ceb72a7a17ffe3dbcdcbda7053b3e736eb12
ests/mimeUri/slesTestSlowDownUri.cpp
16443e45c2b547636514328a5e8833a00ef5818a 28-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
3ac5dcc05fe321e4f01918aef2e3e54e22c9a5c1 17-Sep-2011 Glenn Kasten <gkasten@google.com> Remove dead code

AudioPlayback_Parameters fields trackcb and trackcbUser
audioTrack_callBack_uri
android_Player_androidBufferQueue_registerCallback_l
GenericPlayer field mLooperPriority
StreamPlayer::registerQueueCallback
CAudioPlayer::mpLock
AudioSfDecoder::startPrefetch_async
IAndroidBufferQueue does not support AudioRecorder object
android/BufferQueueSource.h #include

Change-Id: I9d7cef243167e10279df452e7c62e66d8f5fe3b6
rc/android/AudioPlayer_to_android.cpp
rc/android/BufferQueueSource.h
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/android/android_defs.h
rc/classes.h
rc/itf/IAndroidBufferQueue.c
rc/itf/IEngine.c
29de1c6729c53706c039b061442732b974579166 27-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Use prefetch for error handling in mutesolo test"
ef2c495c9879347259de2fc3c8535b559ccd6792 27-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "AAC decoder test"
a2478f0cb82910d4ef1202ff0a6b1723565d009f 13-Jun-2011 Glenn Kasten <gkasten@google.com> Use prefetch for error handling in mutesolo test

Change-Id: I526da804bd7f47b124d0aff3a47b1888fde3642f
ests/listening/slesTest_playMuteSolo.cpp
e5cba3cbd006f0082af290cb34af8551c2710a03 02-Sep-2011 Glenn Kasten <gkasten@google.com> AAC decoder test

Record and display statistics on AAC frame sizes.
Record and display the number of buffer queue completions.
Make it optional whether to create a .raw file with PCM data.
Enable and display play events: HEADATMARKER and HEADATNEWPOS.
Add option to pause in middle of decoding.

Change-Id: Iaaa37337260cd061a13f942f6b5c07d7611b13a7
ests/examples/Android.mk
ests/examples/slesTestDecodeAac.cpp
c5479c4ca740a782d1ff4c82d1dc0f14de26962c 27-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Check result of GetFillLevel and GetPrefetchStatus"
41905ae712cbe5443d80224291e873f53c10ba5f 27-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Return after prefetch error in get position test"
1789f38026dd89f1650338295715ca6df2d0884c 27-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Decode to buffer queue test updates"
888e32299ad5a13e37b03beed031106eb9d87079 27-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
aad45518461f3ffa9cf4839962b08877d524d06d 26-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5365486 GetVideoDecoderCapabilities"
05c7b2d09d54b9260ff7f3f5e491f38d0097c406 21-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5369977 check required interface compatibility

Use required not exposed in checkSourceSinkVsInterfacesCompatibility.

Change-Id: Ib71826b989ddef2e87dd60bec0306ca2a4021fe3
rc/data.c
rc/data.h
rc/entry.c
rc/itf/IEngine.c
rc/sles.c
rc/sles_allinclusive.h
68c5e4b21a4d31f6f750bc65876398f5300959d2 25-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
b4bdbe2d5d308effc7b9368491b0224d5cce6c1b 22-Aug-2011 Glenn Kasten <gkasten@google.com> Check result of GetFillLevel and GetPrefetchStatus

Change-Id: I07e962526215cbfe6ecf39bd8d0029e2b345bef3
ests/mimeUri/slesTestPlayUri.cpp
089a7c63adb033aec7b3200753e66b30ec8932be 29-Jul-2011 Glenn Kasten <gkasten@google.com> Return after prefetch error in get position test

Change-Id: I7de1ddd05e4d2115dc54215d62f8af76f6c352ff
ests/mimeUri/slesTestGetPositionUri.cpp
d6cdd7f7efdce16fc321f11bf5a3f88b3f28e244 03-Sep-2011 Glenn Kasten <gkasten@google.com> Decode to buffer queue test updates

Decrease frequency of decoder PCM buffer queue callback;
only display a line every 1000 PCM buffers.
Check result code returned by GetFillLevel and GetPrefetchStatus.
Share common call to GetPosition in DecProgressCallback for all HEAD* events.
Print error messages to stderr.

Change-Id: I088f7792c80693aa7742bfad36df1fada02fe1a4
ests/examples/slesTestDecodeToBuffQueue.cpp
947ccd3690e84649878f2583c701ca8de1b19ed4 24-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5365486 GetVideoDecoderCapabilities

If OMX IL implementation reports a codec with 0 profile/level
combinations, it should not be an error for the application to query
the number of profile/level combinations.

Change-Id: I6838ba1168da70a5c5e7d5a2832ec3ee1ee9aef3
rc/android/VideoCodec_to_android.cpp
rc/itf/IVideoDecoderCapabilities.cpp
ests/examples/xaVideoDecoderCapabilities.cpp
64bf5ee8477aaa61fa31f387226036303e8a69b0 23-Sep-2011 Marius Renn <renn@google.com> Merge "Fix for 5357970: Handle exceptions in AsyncRunner."
d1e9fd4cff80becfef5077090fc90328ba63999a 22-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5267593 Workaround for crash at Destroy

Call IMediaPlayer->stop() from ALooper thread for now, as NuPlayerDriver
does not currently support multi-threaded clients. This fix should be
reverted after NuPlayerDriver is multi-thread safe.

Change-Id: I94dc91bdcc9f840f50c3ed831aa6e15e09a0f96e
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
bfea40657c35cc22dd1eb5ba29dae113913a1dd4 23-Sep-2011 Ruei-sung Lin <rslin@google.com> Merge "parameter change according to api"
694466442b595ad10aa90b09e6415488951f34d9 22-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Use async notify everywhere"
98eb0d336bec8fa100ebccc8e92a053a40ea623c 22-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
f4b45a37248899ae2d27bb172f8387fbf1edff8e 12-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5090073 Callback protectors

Add callback protector for decode to PCM usage cases.
Move callback protection up earlier for URI decode use case only.

Other:
Remove redundant mCallbackProtector field.
Optimization: on exit from callback protector, only broadcast if !mSafeToEnterCb,
that is if destroy has requested callback protectors to finish up.
More callback protector logging.
Add callback protector requestCbExit() [no wait], not yet used.

Unrelated:
3rd parameter of adecoder_writeToBufferQueue is always CAudioPlayer * instead of void *.

Change-Id: I57a46acf0e5ecb213540b13ca08098177ad7ad6e
rc/android/AudioPlayer_to_android.cpp
rc/android/CallbackProtector.cpp
rc/android/CallbackProtector.h
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_AudioToCbRenderer.h
rc/android/android_GenericPlayer.h
rc/android/android_defs.h
22de06ce0df9144d47069c235e60c9d2b08c0fff 21-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Set mAndroidObjState to ANDROID_READY once"
bc9d64ab447822137b747c38b07b96ce7bf92e7d 19-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
bc192d2f064588e2620af1986cc85b90a3e5544e 18-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Fix typo"
074a62e815b5f08df7874afd1e9e922905c974f6 18-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Move macro definition to more appropriate place"
64e218a50ccac69112759408e427f0d041fd0e3a 18-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
91ff087fb814063f9faa23ab37a61e8fe4e38f45 16-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5334969 MediaPlayerNotificationClient safety

Fixed race due to missing mutex around 2 updates to mPlayerPrepared.

MediaPlayerNotificationClient had a raw reference to GenericMediaPlayer;
if for some reason the binder thread out-lived the GenericMediaPlayer,
then it might reference a destroyed object. Made it a weak reference,
and issue warning if the GenericMediaPlayer has been destroyed.
This has similar effect as a callback protector.

Minor related:
- mHasVideo is read without mutex, safe since never changed but make it const
- GenericMediaPlayer's reference to MediaPlayerNotificationClient is now const also

Change-Id: I67b50e861a055c73fd490fb537a3d6d23d25c3d2
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
d6be802c5267a3c8599c11af2c38ead666f74a72 17-Sep-2011 Glenn Kasten <gkasten@google.com> Use async notify everywhere

We use asynchronous notify in all places except PLAYEREVENT_PREPARED.
Since there doesn't seem to be a clear reason why this should be
different, make it be the same.

Change-Id: I0a83d4ac7a7e8e16e3404a25f081176701de01ae
rc/android/android_GenericPlayer.cpp
f66b430471d691de4bf7b6bbc1a6527897f61cbd 17-Sep-2011 Glenn Kasten <gkasten@google.com> Set mAndroidObjState to ANDROID_READY once

The mAndroidObjState field should only be set to ANDROID_READY once,
after prepare completes either successfully or unsuccessfully.
Remove a couple of redundant assignments.

Change-Id: I4b73bc94aea4f8d4afc1111d7fcdccce4bf8a92d
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
9490b29e86b61a3f0ffb467789854855a6867220 16-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5263052 play events for decoder use case"
7349b2e742b2cedc6d149fac62ed661ad7d47dec 15-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5263052 play events for decoder use case

This version should be more resilient to decode time vs. real time.

Miscellaneous:
- comment about GetPosition accuracy
- remove unused AudioSfDecoder::onRender implementation

Change-Id: I16a7726e0b1459ed1421fe50cb4d683d5c3bdd6b
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
377c6471dbefd6251c11d9c5633193cd57598991 12-Sep-2011 Glenn Kasten <gkasten@google.com> Fix typo

Change-Id: I673830007c2533110006e88b2c344bca3adaf448
rc/android/AacBqToPcmCbRenderer.cpp
01679db9a9318689f17b3ea4f69dbfc66a4a0583 26-Aug-2011 Glenn Kasten <gkasten@google.com> Move macro definition to more appropriate place

When sles_allinclusive.h was split up into separate files, this hunk
ended up in the wrong file. sles_allinclusive.h still needs some more
re-factoring, but that's a separate issue.

Change-Id: Iafa92c6b4d22f79b080db6ddf9078acc4296dd7b
rc/sles_allinclusive.h
rc/trace.h
ef9c4d2232ad7e9c195359749438570c75093fe7 15-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
0dfc86d4f00d31f6a2468bc103c4191499880bc8 15-Sep-2011 Marius Renn <renn@google.com> Merge "Rename of DoodleEffect as part of cleanup (Bug 5287103)."
fa71b42a6c88429527ba5cd0d848bb63be0d2083 13-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
7133228a478e16458b659946f2180ecddd13fda7 09-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5287555 create StreamSourceAppProxy once

Create StreamSourceAppProxy once in the StreamPlayer constructor,
rather than dynamically in StreamPlayer::registerQueueCallback.
As StreamPlayer::registerQueueCallback can be called multiple times
(or even not at all), this guarantees we always have only one
StreamSourceAppProxy that never changes.

Also fix bug where we weren't using a stream protector for AudioPlayer
with MPEG-2 TS AndroidBufferQueue data source (we weren't calling
setCallbackProtector on it).

This has some unexpected side benefits of simplifying the code:
- remove unused parameters and member variables
- mAppProxyLock not needed since the callback protector is created early
- remove GenericPlayer::setCallbackProtector
- inline android_StreamPlayer_realize_l for the use case
AUDIOPLAYER_FROM_TS_ANDROIDBUFFERQUEUE to be like MediaPlayer

Change-Id: I090c11cde9474285185481192dba2b5c01338a50
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
dac31e514613ac4d1559f6d41c3673f966a8d4ab 12-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5287473 realize locks"
913bb2da94179c3be06a6d61806010fa2f06a099 11-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
4260ff7b8f65fdfe8d0176cdce66faf0a10c4b10 10-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5287473 realize locks

Realize had inconsistent and partial locking.
Now realize runs completely locked by default.

Change-Id: If453cfc0ac874f32cf5a1fcfe7795d24bd2a48d4
rc/android/AudioPlayer_to_android.cpp
rc/itf/IObject.c
rc/sles_allinclusive.h
a07e6cd61b12a5c6ed78adaa88a08abd028f5a64 10-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5236913 Update sample app for PLAYEVENT_HEADATEND with MP2TS

Update the sample application to receive the PLAYEVENT_HEADATEND
event after EOS has been processed.
Remove dead code in the corresponding implementation (in class
StreamPlayer).

Change-Id: Ibe484a8c0e9605c05cd47b154d6c0aff1e70d49e
rc/android/android_StreamPlayer.cpp
ests/native-media/jni/native-media-jni.c
6bc8af4e67051af7c86c311cb9c50e294e547500 09-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5236913 Callback for MP2TS when EOS was processed

When the buffer containing the EOS item in the Android Buffer Queue
gets processed, make sure the application callback gets called.

Change-Id: I7476a908419ec99c52c3d3f3938de3f86ab926c6
rc/android/android_StreamPlayer.cpp
ests/native-media/jni/native-media-jni.c
f8b4af60627f6bda2934ab3cdb8460c833e90417 09-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 5236913 EOS causes HEADATEND event in play callback"
d93a9cb6509ad540125e2aa7f49638b95ec361ee 09-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5236913 Callback for AAC decode when EOS was processed"
113a9f14ea680a441540436b342f5008605aba27 09-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5236913 EOS causes HEADATEND event in play callback

In AAC decode through an Android Buffer Queue, after receiving
an EOS command, prevent reading from the queue by returning
a size of 0, which causes the decoder to signal an end of
stream. This will cause the SL_PLAYEVENT_HEADATEND to be
fired (from the same thread that sends the decoded data)
if the event was part of the play event mask, and a callback
had been registered.

Change-Id: I435e8a66dbe9bc37f24c9e1f1c13f0dbd670b395
rc/android/BufferQueueSource.cpp
rc/android/BufferQueueSource.h
rc/android/util/AacAdtsExtractor.cpp
ests/examples/slesTestDecodeAac.cpp
f6aec29b8c6112d4eaa069eb66ff73d75c8fd296 09-Sep-2011 Rodrigo Carceroni <carceroni@google.com> Merge "Optimize Backdropper mask generation"
8a1658eeb27803b4d8d4fab8d6a83a3f34c7990f 09-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5280072 decode AAC ADTS fails for CRC content"
145156a92c1d379e494cb69920d49b87f9c0e300 09-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5280072 decode AAC ADTS fails for CRC content

Also copy in the length check from Stagefright.

Change-Id: I6758dbe370dd3a7178061183bbb83d289e5c00c5
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/util/AacAdtsExtractor.cpp
f3365270d03f0601d9c070756fb2cf80b2fb92b4 09-Sep-2011 Pannag Sanketi <psanketi@google.com> Merge "Fixing disconnect issue within MFF encoding"
5760ef34bd7f50060fd8fbda10e359f8a830bfbc 09-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5236913 Callback for AAC decode when EOS was processed

When the buffer containing the EOS item in the Android Buffer Queue
gets processed, make sure the application callback gets called.

Change-Id: I0c8dfb61404ea33322a5755afa7c44213e53ce02
rc/android/BufferQueueSource.cpp
ests/examples/slesTestDecodeAac.cpp
bc22c982d936ff70c72c6ca287a8b65edc45a9c6 08-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
cdff699c0cee3eb8e7521c5e5480dbb083699ba2 07-Sep-2011 Rodrigo Carceroni <carceroni@google.com> Merge "Adjust backdropper acceptance thresholds to make foreground borders tighter."
b5da9b7e88b7f72d5be3e4e25f52cdb9c5cf35c0 07-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
deed26b83e82399fab135748a4af0f6c236de5a1 07-Sep-2011 Marius Renn <renn@google.com> Merge "Fix bug 5150875: Remove handling of possibly leaking frames."
251f90a1a07a721e873a5bfbee96a11cfc33b200 07-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix 5249076 Don't let the shared memory buffer drain"
d9193f90228723898127d6a21b1404c222a479a3 07-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5262776 reliability of play event callbacks"
bc0e642e6c1a51b3ae3a02d490d94b03e718e6b5 02-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix 5249076 Don't let the shared memory buffer drain

Whenever pushing data to the shared memory from the
AndroidBufferQueue, post a message to do the same operation
again if there is still room in the shared memory. This
ensures the consumption of data will keep the
shared memory buffer full, not the notification of space
available in shared memory, which may happen while the
Android Buffer Queue is empty (after a clear() for
instance).

Change-Id: I397d70ebb927fa6a1d0fb97321a70db0440b96fe
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
ddaf8fec2c6362785f8f27e59e30bf6bfe858f3b 03-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5262776 reliability of play event callbacks

This makes HEADMOVING and HEADATMARKER work more reliably, especially
at the beginning of track and under heavy load. Previously if an event
update was missed because update period is too small or mediaserver/client
is too busy to keep up with notifications, then subsequent events
were lost. This happened more than you might expect; the first event
was often lost and things just got worse from there.

Cleanup in AudioSfDecoder:
- Call up to superclass (GenericPlayer) onSeek and onLoop
to make future maintenance easier.
- Delete dead code in onMessageReceived.
- Logic depends on mLastDecodedPositionUs not being ANDROID_UNKNOWN_TIME
- Simplify getPositionUsec

Add more logging in GenericPlayer::updateOneShot.

Change-Id: Iacddafeb3a20b25bee6da602f6a783201d80be10
rc/android/android_AudioSfDecoder.cpp
rc/android/android_GenericPlayer.cpp
0f92f48017588949daf7d24a339423e149bb2555 01-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5244675 PCM sample rate metadata units

The current metadata key macro name ANDROID_KEY_INDEX_PCMFORMAT_SAMPLESPERSEC
is confusing. This change renames it to ANDROID_KEY_INDEX_PCMFORMAT_SAMPLERATE,
and documents that it is in Hz rather than milliHz. The key string is
renamed from AndroidPcmFormatSamplesPerSec to AndroidPcmFormatSampleRate.

Details:

OpenSL ES 1.0.1 PCM struct SLDataFormat_PCM field samplesPerSec
[sic] is in milliHz. OpenSL ES 1.1 preserves that struct, but adds
struct SLDataFormat_PCM with field sampleRate also in milliHz. If the
ANDROID_KEY_INDEX_PCMFORMAT_* metadata keys were intended to exactly
model the OpenSL ES PCM data format struct, the metadata sample rate
would also be in milliHz units. However, the rest of Android operates
in Hz so we use Hz here also.

Backwards compatibility for the name should not be an issue,
as the initial beta developer has not yet started using this metadata.

Related change: delete a duplicate header file.

Change-Id: Ib8f620dfe7a328f621ddbb19f55e5691eb22d7b5
nclude/SLES/OpenSLES_AndroidMetadata.h
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/OpenSLES_AndroidMetadata.h
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
ests/examples/slesTestDecodeAac.cpp
ests/examples/slesTestDecodeToBuffQueue.cpp
d94f528149003c48b63f90e0c5cc51ac72647969 06-Sep-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Replace pBuffer with a SurfaceTexture as default dummy surface."
0a92bca67e1ca2417145f14acbc5872988586b43 06-Sep-2011 Rodrigo Carceroni <carceroni@google.com> Merge "Backdropper: no-brainer optimizations"
3dc1e0fd0dc80502b5c04af1232f97ad08d91020 06-Sep-2011 Rodrigo Carceroni <carceroni@google.com> Merge "Allocate correct frame sizes within back dropper."
96e8a85de73ea90c7e60611d30744735e0cc6968 05-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
1ae7035c531a7360467c02222488a5e387d5ced0 03-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
d6cd4e9b5c7a02ffa27096b530db5bb9f8a6ecc4 02-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5244675 default channel mask based on count"
c93cf30bdf4b91a9695ee78a4d78fe151e72ff4b 02-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "MediaPlayer GetPosition returns 0 before prefetch"
e52e877354b1477d5cb34d24c70417820b013521 01-Sep-2011 Dave Burke <daveburke@google.com> Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia7b9b75feb5b43fe9358bbbca6b619112984246c
rc/android/android_LocAVPlayer.cpp
rc/android/android_StreamPlayer.cpp
20d9a1229c7647dd2c6f1bece715080ec6202eca 31-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5244675 default channel mask based on count

Change-Id: Ica0b1bd5a23d9bbc318003509e2463a588d9bd39
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_sles_conversions.h
rc/data.c
136965c92c625d52a6cbad42f82a2091d7769c9c 02-Sep-2011 Glenn Kasten <gkasten@google.com> MediaPlayer GetPosition returns 0 before prefetch

This makes MediaPlayer work the same way as AudioPlayer,
to return current position as zero before prefetch started.

Change-Id: I538919d05074002d46c3dc1632caa4d5a85e8fad
rc/android/MediaPlayer_to_android.cpp
98effed0f11095eadc14cf3aec121d2d78c6e74b 02-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5249076 When starting to stream, have at least one buffer in shared mem"
f40b3718588c201794e9201d07671f5e293533eb 02-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Rename Android buffer queue GUID for future sink"
53445ae321e15496dca8f26398766b39a4c18b56 02-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5244675 handle the switch cases of AAC decode"
b77773fbc5a8133e4ba3ba70d3f37a7549b0e8fc 02-Sep-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5244675 miscellaenous AAC decode test"
b712aebe63a6c50cc01f4493282fc77578242976 02-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5249076 When starting to stream, have at least one buffer in shared mem

StreamPlayer is receiving notifications from the MediaPlayer that
a buffer in shared memory is available during playback, which
causes StreamPlayer to consume data from the AndroidBufferQueue.
If the shared memory is drained while the player is paused, there
will be no new notification of a buffer in shared memory being
available to start the cycle of consumption from the Android
buffer queue.
This change causes StreamPlayer to consume from the buffer queue
to fill one buffer in shared memory.
A subsequent change will change the logic to make sure the
consumption from the buffer queue fills as much of the shared
memory as possible.

Change-Id: I886832629dd5ef449719b77899ebdcc7ffc64330
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
57ec2b5fbd0c7c08f068e1f7b9d7644b0932617b 29-Aug-2011 Glenn Kasten <gkasten@google.com> Check callback result code and warn if non-success

The result code is currently unused, but reserved for future use.
This change will help make sure that developers do the right thing now,
so that they will not be impacted when we begin to act on the result.

Change-Id: I8c712882d41d09506defa77340676079bb34de6c
rc/android/BufferQueueSource.cpp
rc/android/android_StreamPlayer.cpp
60ca9f9ef02f6e486c3338cb811f603dd7825c05 29-Aug-2011 Glenn Kasten <gkasten@google.com> Rename Android buffer queue GUID for future sink

This change will make it easier to have Android buffer queue as a sink in
the future. For backwards source code compatibility with beta developers,
retain the old name temporarily. As soon as they have switched to the
new name, we will remove the old name.

Details:
- rename XA_IID_ANDROIDBUFFERQUEUE to XA_IID_ANDROIDBUFFERQUEUESOURCE
- rename SL_IID_ANDROIDBUFFERQUEUE to SL_IID_ANDROIDBUFFERQUEUESOURCE
- rename MPH_ANDROIDBUFFERQUEUE to MPH_ANDROIDBUFFERQUEUESOURCE
- did not rename the data locators and interface struct,
as they can be shared across both source and sink
- did not rename the member field mAndroidBufferQueue in
CAudioPlayer / CMediaPlayer as that would be a huge change;
can do that later if necessary
- the SINK definition will be added later when needed

Change-Id: I36dc01050efb99d4d7802b2ca2b870f4d978ee21
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
rc/MPH.h
rc/MPH_to.c
rc/OpenSLES_IID.c
rc/autogen/IID_to_MPH.c
rc/classes.c
rc/interfaces.c
rc/sl_iid.c
rc/sles.c
rc/xa_iid.c
ests/native-media/jni/native-media-jni.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
ests/sandbox/xaplay.c
ab1ca1ef7f562e669a501ec875ec3a1a184746cd 01-Sep-2011 Marius Renn <renn@google.com> Merge "Class name cleanup. (1/3)"
ac8c7318e1d7ec1358bbf924e1bc2cee45b44fc6 19-Aug-2011 Glenn Kasten <gkasten@google.com> Add rewind (discontinuity) to native-media test

Change-Id: I0f32564d2a2937092436dd48fef877ed55b2d4f3
ests/native-media/jni/Android.mk
ests/native-media/jni/native-media-jni.c
ests/native-media/src/com/example/nativemedia/NativeMedia.java
33af4f47406b64af73e9e42e209c36320ea55410 31-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5244675 miscellaenous AAC decode test

Fix bug in counting encoded frames.
Test get play position and duration at various points.
Display all PCM metadata (in particular the channel mask).
Add example of expected output.

Change-Id: I0d0a629755a37b71a1540e79ae7a6f1ed7095a24
ests/examples/slesTestDecodeAac.cpp
ba7a071e24a823a2ce4eb9ec1c43243c5404067a 01-Sep-2011 Eric Laurent <elaurent@google.com> Merge "clean up in echo reference code"
09a68f1c8518cf366c28dfbca715ef0bdc237fed 01-Sep-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
fb4c1773e6a2581c118dee2e76925ffc2921b807 01-Sep-2011 Wei Hua <whua@google.com> Merge "Added a FixedRotationFilter."
70c72034e161379b1c21f2e91fb81f3f6943e90d 01-Sep-2011 Rodrigo Carceroni <carceroni@google.com> Merge "Make background replacement roughly independent of input size."
f5ff1a75f55677163bd9a8bd804e8f5c33ef592c 30-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5244675 handle the switch cases of AAC decode

Fix handling of AUDIOPLAYER_FROM_ADTS_ABQ_TO_PCM_BUFFERQUEUE decode use case:
- Play::GetPosition: explicitly list decode case and return media
player time; previously returned zero.
- Seek::SetLoop for AudioPlayer or MediaPlayer: return
SL_RESULT_FEATURE_UNSUPPORTED on non-URI data source. This is
correctly passed up to app.

The remaining have no immediate impact, but should make future maintenance easier:
- Play::GetDuration: explicitly list decode case and return unknown time;
no impact as already covered by default.
- Seek::SetPosition: explicitly list decode case and handle as no-op; no
impact as already covered by default.
- Seek::SetPosition for AudioPlayer or MediaPlayer: return
SL_RESULT_FEATURE_UNSUPPORTED with unsupported data source e.g. buffer
queue. No impact as the result is currently ignored, but added a
FIXME to pass this up to app.
- AndroidBufferQueue::Clear: explicitly list decode case as a no-op
other than the partial clear of upper layer queue.
- AndroidBufferQueue::onRefilled: explicitly list decode case as
a no-op, but with a FIXME that this may need more work later.

Change-Id: I53c8a0b736f32cd265ee9c94a70127d4f80869b5
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/MediaPlayer_to_android.cpp
rc/handler_bodies.c
rc/itf/ISeek.c
129a7d2104ca14d7a527cc4bfb26347099201f2f 31-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Updates to the MediaEncoderFilter."
9497a2501d764a9c2f9447302eb94ac30d62cb96 31-Aug-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
027fc8e9695b7567149a6f151d4322de63f6c085 31-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5217144 AndroidBufferQueue::Enqueue error chks"
1f0f9549e91f73e195f0639c1132d6d0be1ac096 30-Aug-2011 Jamie Gennis <jgennis@google.com> Merge "MediaSource: switch to MediaPlayer#setSurface"
90a3f42e9d269426828b1cd3d3d740749bc8e124 30-Aug-2011 Wei Hua <whua@google.com> Merge "Add fillblack option"
7ae9afb987d11d433c78168c4f1a6a0886500035 30-Aug-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
b43197156a20d3d382cbcdba7084f7d4a89f4d4a 30-Aug-2011 The Android Automerger <android-build@android.com> merge in ics-release history after reset to master
8a767482055c260d176d64de9c23eaf0d051a7e8 30-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Example of AAC ADTS decoding with OpenSL ES"
d0972d443cf4c1f56fc94b8370011a9f147e27e8 29-Aug-2011 Ruei-sung Lin <rslin@google.com> Merge "Fix Grain filter and optimize other filters"
bc7fe6bb512bb647c226342bfe31517f85b0c9d5 29-Aug-2011 Rodrigo Carceroni <carceroni@google.com> Merge "Fix b/issue?id=4882048"
677c76347d9aaca4cf3746b3dbfc8a741281066b 24-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5217144 AndroidBufferQueue::Enqueue error chks

Add more error checks to Enqueue:
- check for a NULL data pointer with non-zero data size
- check for a NULL item array with non-zero item array size

For the Enqueue item processing:
- examine all items if there is more than one in the array
- check for invalid combinations of items
- check that total length of item array is large enough for each
item's header and any optional data
- check for an EOS with a non-empty item data
- log if an unknown item key is found
- added the EOS item handling code for AAC ADTS
(the underlying implementation is still not yet done).

Fix copy/paste typo in initializeAndroidBufferQueueMembers.

AacBqToPcmCbRenderer::validateBufferStartEndOnFrameBoundaries:
- now returns a more specific result code rather than bool
- readAt return type ssize_t not size_t
- readAt return 0 (EOS) is a LOGV not LOGE.

Fix race in Android buffer queue callback: replaced logic in
BufferQueueSource.cpp by safer code from android_StreamPlayer.cpp

Change-Id: I423ccbd6d76a736a486b49b5dfdb7898b52cdd02
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/android_StreamPlayer.cpp
rc/android/include/AacBqToPcmCbRenderer.h
rc/android/util/AacAdtsExtractor.cpp
rc/itf/IAndroidBufferQueue.c
rc/itf/IEngine.c
91540f92d7f1bcda423859af6bd82df083c2afab 28-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5226085 miscellaneous metadata issues

The metadata keys are now exposed for AAC decode.

The metadata keys are now exposed at Realize. The keys were previously
only available after prefetching was complete. This made it more awkward
for an application to use them.

Fixed race condition in access to metadata values.

Change-Id: I3daed2da61f5ed0add6948f1558963cfe66795fc
rc/android/AudioPlayer_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
688178c51666cf7df5814e7eac3a01fc3e076c0f 25-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Example of AAC ADTS decoding with OpenSL ES

Put AAC ADTS in an AndroidBufferQueue, retrieve PCM data through
a BufferQueue.

Change-Id: I9718d7a9e030a2c3568de8579f3329b76f63d891
ests/examples/Android.mk
ests/examples/slesTestDecodeAac.cpp
d1df50751f8b112de78970c71f56fcd2edcb81c4 26-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Metadata keys for PCM decoding"
a8dc69ef99706bbd374033dd9bd9f2980ab80675 25-Aug-2011 Marius Renn <renn@google.com> Merge "General code / documentation clean-up."
46cf730ba036444a2da10dbc366f73abd113f0fe 25-Aug-2011 Wei Hua <whua@google.com> Merge "Change the OneShotScheduler to schedule only the source node once."
c83dd15473f0b3f4377fc60ae50814fad76a7aec 25-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "xaplay command-line mediaplayer for MPEG-2 TS ABQ"
68c8a1b6deea46eeca57848768a92e96d583aadd 25-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Metadata keys for PCM decoding

Declare in a public header the metadata keys an application which
decodes audio data would use to figure out the output PCM format.

Make the SL ES Android header also include the configuration and
metadata headers.
Update test apps to reflect this.

Change-Id: I298db4fdb800df2d48047691441aa7489aad4822
nclude/SLES/OpenSLES_Android.h
nclude/SLES/OpenSLES_AndroidMetadata.h
rc/android/android_defs.h
rc/sles_allinclusive.h
ests/examples/slesTestDecodeToBuffQueue.cpp
ests/examples/slesTestRecBuffQueue.cpp
ests/mimeUri/slesTestPlayStreamType.cpp
75290ff394698c53f35a21612c03b8ddd21fecf9 22-Aug-2011 Glenn Kasten <gkasten@google.com> xaplay command-line mediaplayer for MPEG-2 TS ABQ

Change-Id: Id5ea3f478f45d4fa4b86772593ae831d9eade952
ests/sandbox/Android.mk
ests/sandbox/nativewindow.cpp
ests/sandbox/nativewindow.h
ests/sandbox/xaplay.c
485a038f9f0f898227b8ab4218e94c5d56b6ed0b 24-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5193695 Fix crash after MediaPlayer destroyed

The StreamSource callback thread was continuing to run after the
MediaPlayer object was destroyed. Fixed by adding a callback protector
and a pre-destroy hook. GenericMediaPlayer::preDestroy now also
calls MediaPlayer::stop just in case.

Change-Id: I5bd771d4d1936f433d2a8c9959593782c96daed9
Miscellaneous:
- added an explicit destructor on CMediaPlayer::mAVPlayer for consistency
(probably not a bug since there was a clear on it earlier)
- updated comments for CallbackProtector
- made some CallbackProtector fields private since no sub-classes yet
rc/android/CallbackProtector.cpp
rc/android/CallbackProtector.h
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/classes.h
rc/itf/IEngine.c
rc/objects/CMediaPlayer.c
86cc74ab4534c4e4dc79a7cfda83815d7c95beb5 24-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5153313 keep compatibility of local files URI"
d8f68bd17c151b1cf4e484760eb4b137efcb4ac3 24-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5105712 synchronous callbacks"
833251ab9e5e59a6ea5ac325122cf3abdf7cd944 11-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5153313 keep compatibility of local files URI

Also fix a bug in decode from fd to PCM buffer queue, where
we were closing the application's fd.

Change-Id: I220cd1c242f2f5e240b4dd1b9e8d79c88878bdcd
rc/android/AudioPlayer_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_LocAVPlayer.cpp
rc/android/android_defs.h
dd177e2d3923d4653eaa4226f07b89a999907970 02-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5105712 synchronous callbacks

After GetPosition is made synchronous, it is safer to make client
callbacks synchronous also.

Change-Id: I2688f709ed672aaa62d046d5f95db1b81504c9e3
rc/ThreadPool.h
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
64cf806924014f733bb4fe7666b7ae960a677a0a 24-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Converted libaudioutils implementation to C."
e60c1169027756bb0d5464e0076b8926ef4943ca 24-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "NEW_API: Make rest of the effect names public in EffectFactory."
58a069a5bae1500eb9c56bd9da68c0eeeac42db0 24-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fix minor logging bug in core Filter code."
8478d83d1e42e2b4e252cc7e7135fd872bb36982 24-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5198051 MediaPlayer prefetch status interface"
ba3b6e7f9f95bd79094e897173b44edce4181d39 24-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Assertion checks do LOGF not fprintf to stderr"
d35a79e84406f855c4541b129106e8a3ce33abc6 24-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5198051 MediaPlayer StreamInformation various"
81abd75d5612807dc2941631d3a935092b32c9ed 24-Aug-2011 Wei Hua <whua@google.com> Merge "Add reset function to Native Program."
5b70990dc007841602ee23b7dfeb7a8647e280dc 24-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5198051 Video sink on MediaPlayer is optional"
4b9966d5e0569707f23ab2b22e584f7117adc179 24-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5198051 MediaPlayer PLAYEVENT_HEAD* callbacks"
5cd605f62b687b22ff44a9de096b5f297eed74af 24-Aug-2011 Glenn Kasten <gkasten@google.com> Assertion checks do LOGF not fprintf to stderr

Also add comments to Android.mk, and add SL_LOGF not yet used.

Change-Id: I1e051c040b667e2e70b6df0c03648c309efef7d6
rc/Android.mk
rc/assert.c
rc/sllog.h
c623c89c0a32c5fc77c998f1742d58e7be69e8c1 22-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5198051 MediaPlayer prefetch status interface

Change-Id: I426c870f803df0a7052f17be955ba797a814b4cc
rc/MPH_to.c
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/autogen/MPH_to_MediaPlayer.h
rc/classes.c
rc/classes.h
rc/sles.c
b88224a6006d06efba7f02d7e46c073223ebf156 23-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Several improvements for interacting with Camera app."
2bb3547351a40ad394b09babec4d2fcc233bfe2e 22-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5198051 Video sink on MediaPlayer is optional

Change-Id: I2c78508fa1efac765ff5812c22e3a4c2cfc33b73
rc/itf/IEngine.c
bcfe680db1e392f3bb29382c2e15e89c3af783ed 22-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5198051 MediaPlayer PLAYEVENT_HEAD* callbacks

Change-Id: Ibb04fbf727997281bb77fd22c51cd90bd044e505
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/AudioRecorder_to_android.cpp
rc/android/AudioRecorder_to_android.h
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/handler_bodies.c
rc/handlers.h
cfc58893afb25621c08372e35d7ee9e69cf37656 23-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5198051 MediaPlayer play state PAUSED at end"
cb441acdda6f8e81d44fcdaadd4ff7ab3d3e367b 21-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5198051 MediaPlayer StreamInformation various

Fix uninitialized field frameRate.

QueryMediaContainerInformation returns XA_RESULT_PARAMETER_INVALID if
info is NULL, otherwise it copies the information via the info pointer,
and returns XA_RESULT_SUCCESS.

QueryStreamName returns XA_RESULT_FEATURE_UNSUPPORTED.

Simplify RegisterStreamChangeCallback.

Change-Id: I261ac0c053be0de7bac5fc80661b979f7f9c84b6
rc/android/MediaPlayer_to_android.cpp
rc/itf/IStreamInformation.c
3d332ff421e7179c36fb652771cc8ded53383729 22-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5198051 MediaPlayer support GetDuration

Change-Id: I09d9292685d82b88cddd243e6e7f5410ffaa2248
rc/android/MediaPlayer_to_android.cpp
rc/itf/IPlay.c
e37c62f0691f9a137afae60f9d6dbd1a65d36aed 22-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5198051 MediaPlayer play state PAUSED at end

Change-Id: I9160336a9e74b2f2f501cb94d1f24047b2979b76
rc/android/MediaPlayer_to_android.cpp
3519e43b594dea8e6fedb80ce1c24c6be739bae4 22-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Created library for common audio HAL functions."
774106956612d2a3274a1ed8f2a7bef2b5c8f293 21-Aug-2011 Ruei-sung Lin <rslin@google.com> Merge "Moving photo editor effects to imageproc"
1dd88ecd2b70dcface5ba4190dec4226a7a53b84 21-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "8-bit now works"
e605e28ea1c0b1f06ece517e2f80ec13defa8406 20-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Tune the background replacer filter toward shipping quality."
b238f3ed65f3fa2a3adad602a438fbc98b13cba3 19-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5126938 dependency for video sinks"
bb4ece57fa20d8d71960b6c9227b104974202b9e 19-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Test playbq: 8-bit and big-endian byte ordering"
1452b38f9f4a8a0d76c936c393c794f3995526b6 12-Aug-2011 Glenn Kasten <gkasten@google.com> 8-bit now works

Change-Id: I70ce7e10f0b465250b9f4d7644d21f5c4b4c99fa
rc/android/AudioPlayer_to_android.cpp
6d0f94ae5a273e728ff9284cd7369acd48a759f1 19-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Use XA instead of SL in type cast"
23fc68ef3d6b7c5e6ceaf530fc9522c109f3a43e 18-Aug-2011 Glenn Kasten <gkasten@google.com> Use XA instead of SL in type cast

Change-Id: Icc8d678484f454860b32d8823d4a274d3d14d991
nclude/OMXAL/OpenMAXAL_Android.h
7c1c300b49dfcd37e28aa78d8905ff9f2073846e 18-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add backdropper to list of effects, and reformat documentation."
6a98dda78256c053fcd8bddc76ac5218f4313c03 18-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5159291 lock safety"
749e8abe47a0ded499e580e256ef6ab3cb4bdf67 18-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5161265 Recover from mediaserver process crash"
ebca1a420c4ada9eff2e82f0100abaea95b48f24 11-Aug-2011 Glenn Kasten <gkasten@google.com> Test playbq: 8-bit and big-endian byte ordering

Change-Id: Ic34f35226fee07945925cad8cfbc10c756092fee
ests/sandbox/playbq.c
ccabcf9073f0ccd12016ff1f05d1c4456c41b254 16-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Bug 5147281 prefetch status deadlocks"
bbb0cfd48f054c84e3ed0082c0ab93bd881b2ee8 15-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Remove dead code from backdropper filter shaders."
e3f648ad6e3634680452b639ee802c657fbfa73d 14-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "AAC buffer decode to PCM buffer queue"
85edd878a30caa535b0267d8d6e61b4ccc0d5fd0 13-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5161265 Recover from mediaserver process crash

Use the utility method IMediaDeathNotifier::getMediaPlayerService()
to get a reference to media player service. It retries after errors,
and keeps a single global per-process reference to the service rather
than one per object. If we still can't contact the media player service
after retries, handle it like an unsuccessful prepare.

Miscellaneous:
- Remove unused field Parcel metadatafilter

Change-Id: I451a64bd76b4a7f157774abe967448ec081f1014
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_LocAVPlayer.cpp
rc/android/android_StreamPlayer.cpp
b566926611b2105a46c4ff98238ad06aca54104d 12-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5159291 lock safety

Change-Id: I56f5fd038d63d033954d794168df4cbcdade26f3
rc/itf/IAndroidBufferQueue.c
rc/itf/IAndroidEffectCapabilities.c
rc/itf/IAndroidEffectSend.c
rc/itf/IEnvironmentalReverb.c
rc/itf/IObject.c
rc/itf/IPresetReverb.c
rc/itf/IRecord.c
rc/itf/IVolume.c
a60dbf554549d10780f473b6e1373aa07aec3a28 11-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5147281 prefetch status deadlocks

Fixed two deadlocks related to AudioTrack prefetch event callbacks:
- if PrefetchStatus interface was initialized on an AudioPlayer,
there was a deadlock at the point where it checked whether to do a callback
- prefetch status callbacks are now called with the object unlocked,
so they are permitted to do APIs on the object

Miscellaneous fixes:
- SMP-safe locks for GetPrefetchStatus, GetFillLevel,
GetCallbackEventsMask, SetFillUpdatePeriod, GetFillUpdatePeriod
- SetCallbackEventsMask error handling for invalid bitmask
- Enqueue sets prefetch fill level to 1000

Change-Id: Ic8b2c440aeb4efa3446a4a73d3422d934ceb0578
rc/android/AudioPlayer_to_android.cpp
rc/classes.h
rc/itf/IPrefetchStatus.c
rc/itfstruct.h
rc/locks.c
rc/sles_allinclusive.h
bb832e853d4afb11b0a3287b2eb0cad87696d631 27-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> AAC buffer decode to PCM buffer queue

Implement AAC ADTS decode with buffers of compressed data being
passed to the framework through an AndroidBufferQueue, and
decoded PCM buffers being passed to the application through
a BufferQueue (just like existing decode from URI/FD).

Change-Id: Id992a44a5ca7e404088b929f2b0afe9ca1f85223
rc/Android.mk
rc/android/AacBqToPcmCbRenderer.cpp
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/BufferQueueSource.cpp
rc/android/BufferQueueSource.h
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_AudioToCbRenderer.h
rc/android/android_defs.h
rc/android/include/AacAdtsExtractor.h
rc/android/include/AacBqToPcmCbRenderer.h
rc/android/util/AacAdtsExtractor.cpp
rc/data.c
rc/itf/IAndroidBufferQueue.c
rc/itf/IEngine.c
rc/sles_allinclusive.h
e165638720bd0cc4f046bc222b2c34d976c95bb2 10-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fixes to BackDropperEffect."
8140b2497a44a5eed6d1c59978782ff4bf896e42 10-Aug-2011 Marius Renn <renn@google.com> Merge "Bugfix (5144111): Choose FBO pixel read over texture pixel read."
35ac702ee1ad91e5c8748c12450222d50b366a52 08-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5126938 dependency for video sinks

Fixing bug 5126938 will involve configuring the video sink in two places:
at the initial data locator when creating the MediaPlayer object, and
then later in the IAndroidConfiguration interface. This CL is preparation
for that.

Details:
- Abstract out common code into android_Player_setNativeWindow.
- Move the code for checking and initializing the video sink from an
#ifdef ANDROID in the CMediaPlayer_Realize portable code to into
platform-specific android_Player_realize.
- Only set one of mSurface or mSurfaceTexture to non-NULL.
- For methods which can't fail, replace the SLresult return value by void.

Change-Id: Iec8fd91e1a6de45eb64241b35e3f7d7faf63d727
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.h
rc/objects/CMediaPlayer.c
40f52d96bc1cb847435c951f4f5b5b4124beae73 09-Aug-2011 Ruei-sung Lin <rslin@google.com> Merge "add ImageSlicer and ImageStitcher filters."
12c28fa89d19211bfba0db60822e46961e6272c7 09-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Initialize video decoder capabilities fields even when unknown"
3a4462c4fed38e0cd4cdcdf0d4643808a9bbc09a 09-Aug-2011 Ruei-sung Lin <rslin@google.com> Merge "add customize option in SurfaceTectureTarget"
106a99988093bd3b3b3aafb2da0fbc0d35634787 09-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Initialize video decoder capabilities fields even when unknown

We only support the discovery of codecId, profile and level when
using the VideoDecoderCapabilities interface. The other fields
in the XAVideoCodecDescriptor structure need to be initialized
even if they're not filled.

Change-Id: I8833437b3b23748a50076b65baf5b9a250290b86
rc/android/VideoCodec_to_android.cpp
f093dcf23cb5f54ced676c03a64cc68a165266f4 09-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5126938 dependency and miscellaneous bug fixes"
2ab17cfc30c234bc46611482cb459976404e80ec 09-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Updates to slesTestRecBuffQueue test app"
70045723775b56440b4e10d948831a2190d2d264 09-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4603165 playback rate change"
6246c9ca19f5ffeffebb21d05fdb91bb1aa0e742 09-Aug-2011 Marius Renn <renn@google.com> Merge "Bug (5106403): Serialize filter input values across threads."
01a2fcbe69fc4e52c3aba392d8b825945f15ca00 09-Aug-2011 Marius Renn <renn@google.com> Merge "Bugfix (5088434): Accessing bitmap data on non-RGBA native frames."
4dd1fab74463de4852b86af64481006f87d48b54 09-Aug-2011 Glenn Kasten <gkasten@google.com> Updates to slesTestRecBuffQueue test app

Allow the preset number to be specified on command line,
or to use default.

Change-Id: Ia4e996f8726a6bd8ca781bba5930b63bcba854bc
ests/examples/slesTestRecBuffQueue.cpp
4d6819a62cc6102108db49772f5d8fc08a09d49c 09-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add background replacement Effect."
bb81b83131ea02a3702b7f3d6eb3963896c06326 09-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add background replacement filter to mobile filter framework."
f3b2a053508b388fc32ea7ab6c60f1f21a381209 08-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5135150 Fix ifdef C++"
6807fa7d803d02725fcca4422ae08f6c8e6db725 08-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Add playback rate to buffer queue test player"
c2a325746469c4c7625ec78a169b65a11dbe1e30 08-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5126938 dependency and miscellaneous bug fixes

Fixing bug 5126938 will involve adding the IAndroidConfiguration interface
to CMediaPlayer object. In the process of doing this, I found a few
miscellaneous bugs in the error handling for IAndroidConfiguration. This
CL fixes those bugs, and prepares for adding the interface CMediaPlayer
by making it easier to support new objects with the interface.

Details:

- Generic error handling:
Move some error checks from the object-specific code into the generic
IAndroidConfiguration.c.
Fix bug in SetConfiguration and GetConfiguration where we were not
checking configKey for NULL
Return SL_RESULT_FEATURE_UNSUPPORTED instead of
SL_RESULT_PARAMETER_INVALID if IAConfig interface is exposed on
an object which doesn't really support it (this could if the classes.c
interfaces table was updated before the cases were updated).
Compare with IMuteSolo for non-AudioPlayer.

- Object-specific error handling:
Fix bug where we weren't returning the actual value size in
audioPlayer_getConfig when pValueSize was non-NULL and pConfigValue
was NULL.
Return result SL_RESULT_BUFFER_INSUFFICIENT instead of
SL_RESULT_PARAMETER_INVALID when output buffer is specified
as non-NULL but available space is too small. Compare with
IAudioIODeviceCapabilities.
Return result SL_RESULT_SUCCESS instead of SL_RESULT_PARAMETER_INVALID
when output buffer is specified as NULL; this is intended to allow
the application to discover the required space. Compare with
IAudioIODeviceCapabilities.

- Use 'switch' instead of 'if' for checking object types, to improve
readability when adding more object types

Change-Id: I8b2cdd506a36bfa9b1326a8a9966a6633bbbba6d
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/itf/IAndroidConfiguration.c
33e2883826ba6902ad20b6b4019d5b39b6089536 08-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Miscellaneous loop test improvements"
02e6a6b750743e09fa21132046f6a092182def66 08-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5135150 Fix ifdef C++

Change-Id: Ic28452ce6b0c717722098699092f1797424a6d9b
nclude/SLES/OpenSLES_AndroidConfiguration.h
56c5b9b986c00839e841f9660d9847173807a0c1 02-Aug-2011 Glenn Kasten <gkasten@google.com> Miscellaneous loop test improvements

Enable HEADATEND event to see whether looping causes that event.
Recover from prefetch errors using the new approach of condition signal rather than polling.
Check result returned by GetFillLevel.

Other changes:
- Make assert work.
- Pass NULL as 3rd parameter to RegisterCallback when context is not needed.
- Use CheckErr instead of assert when checking result codes.
- Add comments.

Change-Id: I972b9eca9836e62141b6a078345f091e60689321
ests/mimeUri/Android.mk
ests/mimeUri/slesTestLoopUri.cpp
9a6c9db763121c3b11765c6c8cf935983c0385bf 03-Aug-2011 Glenn Kasten <gkasten@google.com> Add playback rate to buffer queue test player

Change-Id: I831290c1d70bbd66031f609a63549801b7c7f57b
ests/sandbox/playbq.c
6263f265fa5f59477549758a170b6af469055f97 05-Aug-2011 Eddy Talvala <etalvala@google.com> Merge "Revert "Add background replacement Effect.""
e2137edd5ab278570bc9e560259b4b5e8bdf790f 05-Aug-2011 Eddy Talvala <etalvala@google.com> Merge "Revert "Add background replacement filter to mobile filter framework.""
264fd6921733356868390b9a922dc9641d723046 05-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add background replacement Effect."
e8615d74704a4960aadfa1547fc125a655daac1e 05-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add background replacement filter to mobile filter framework."
1b65b2054448050ded9e1475df7b755421a1e2da 05-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5903270 play interface, events, markers, etc."
ef8bc4d15c8a57339ba080ce81191738667cac26 04-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Fix race in reverb test"
659e0e44952e06ac36501c9d3df860005410d7ab 04-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5110581 SL_PLAYEVENT_HEADATEND while looping"
6d78c9bfb68f8a0db1855bc28c087c39a7eb6f2c 04-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 4603165 playback rate change

Non-trivial implementation is only for AudioTrack with rate range 500
to 2000 per mille and property SL_RATEPROP_NOPITCHCORAUDIO; for Android
MediaPlayer the rate range is 1000 to 1000 per mille.

Details:
- no multi-range
- fix SMP races in GetRate, SetPropertyConstraints, GetProperties
- SetRate only updates mRate if successful
- Rate_SetPropertyConstraints only updates mProperties if successful
- return SL_RESULT_FEATURE_UNSUPPORTED for non-AudioPlayers
which have this interface (currently only MidiPlayer)
- for Android, atomically set playback rate and constraints
and simplify to use hard-coded constraints rather than querying
- per the spec, SetPropertyConstraints now returns
SL_RESULT_PARAMETER_INVALID if the constraints are out of range,
or SL_RESULT_FEATURE_UNSUPPORTED if the constraints are in range but
not supported by this implementation

Change-Id: I051ff92b20f3845ffa12bccec778937d42823e5d
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/itf/IPlaybackRate.c
rc/itfstruct.h
5933f3d5e532aaac31ce0e6551c59f0197c0ae3c 29-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5903270 play interface, events, markers, etc.

As the media framework does not directly support marker and periodic
callbacks, we use a retriggerable one-shot timer at application level
to emulate this. This has the advantage of being faster, but is also
less accurate than if it were in the framework.

Details:
- Get position is now synchronous and (mostly) lock-free
- Fix regression in SL_PLAYEVENT_HEADATMARKER and SL_PLAYEVENTHEADATNEWPOS
- Fix SMP races in GetPlayState, GetCallbackEventsMask, GetMarkerPosition,
GetPositionUpdatePeriod
- AudioSfDecoder was not updating mPositionMsec when getPositionUsec failed
- Updating attributes is relatively expensive, so only do it when a significant change
in SetMarkerPosition, ClearMarkerPosition, SetPositionUpdatePeriod
- Error on unknown message type in onMessageReceived
- Delete an obsolete FIXME
- "Clearing" a marker is now equivalent to disabling the marker event,
and the default marker position is cleared.
- use Android time units and types (int32_t, ANDROID_UNKNOWN_TIME, etc.) where appropriate
instead of SLmillisecond and SL_TIME_UNKNOWN

Change-Id: Ib78bafa20d883b8d927364769663837389b6ea1d
rc/android/AudioPlayer_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_defs.h
rc/attr.h
rc/handler_bodies.c
rc/itf/IPlay.c
081e934ebf93759fff68473cc8c08ab336e8a146 04-Aug-2011 Marius Renn <renn@google.com> Merge "Fix for 5117329: Stored frames which are externally visible check validity."
6e3594dc02f8dbd6d87f4fd40e26834aa27406d3 04-Aug-2011 Marius Renn <renn@google.com> Merge "Fix for 5117999: Make isEffectSupported() a static method."
8eec6747ed20a8a3d33449317a3471e505f1de40 04-Aug-2011 Marius Renn <renn@google.com> Merge "Fix for 5117285: Stream-based filters no longer close streams."
d1ecad6ab86241c87cee08e26afe3c0f2b40fbc0 04-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fix structgen script to build Java directory hierarchies."
3f500187249f43ed4a84e3e9804ecceafcc78d3a 04-Aug-2011 Wei Hua <whua@google.com> Merge "Added FilterGraphEffect."
8653e8eeb955814f49b3b9548e0b6d2931b0221b 24-Jul-2011 Glenn Kasten <gkasten@google.com> Fix race in reverb test

Was setting play state to PAUSED before enabling prefetch callbacks

Change-Id: Idc3d19d87799afe7e8314199c1317cf2cea2c449
ests/sandbox/reverb.c
4724db4ae75fff144e5478e03bee3584c978adc6 03-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Increase MediaSource's startup timeout."
f6445d330c05ccc57d1adcc6ee05735a33f78881 03-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5110581 SL_PLAYEVENT_HEADATEND while looping

Change-Id: Ia4d0433b4a6589bfda2f88addbe5b7eb3d0d9789
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.h
2fc0d29683d0b6e06b5adffbc0d8711e05642fc4 03-Aug-2011 Marius Renn <renn@google.com> Merge "Initial commit of the high-level public MFF effects SDK implementation."
f731cc1f3cd5911b0aff730bd504ee47a3ba3c6c 03-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5109153 Remove log spam"
e51d469aa14fa9ae94bddc31ae6aab59e41a48ca 03-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5108531 Report the correct API level"
f152bc273bc3f8471bca626fe9cc966dad304173 02-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5080320 MediaPlayer volume"
ecc4fe22e076c4e5c891d823b01db1a683ba6690 02-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5109153 Remove log spam

Change-Id: I6c0c742bfa3f0078968dc5e2ea3578ad786067c5
rc/android/MediaPlayer_to_android.cpp
rc/android/android_StreamPlayer.cpp
rc/itf/IAndroidBufferQueue.c
rc/itf/IStreamInformation.c
4076e5009bfe70bc06a78f5aafec77af6c03201d 02-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5108531 Report the correct API level

Use build macro PLATFORM_SDK_VERSION to automatically update the reported
value, however the test program will still need manual updates.

Change-Id: Iae044605db65021c7d1e9825aab80ab5d6b552a8
rc/Android.mk
rc/itf/IEngine.c
ests/sandbox/object.c
ce5befcaf3c22c09f3d596f58f55d54c612bee9c 02-Aug-2011 Marius Renn <renn@google.com> Merge "Bugfix (5085850): Added function to allow easy initialization of program host variables."
4b168553d35c84c5b4b018996283e1a27b387c51 02-Aug-2011 Marius Renn <renn@google.com> Merge "Bugfix (5064211): Fix uniform access and lookups to work on non-TEGRA."
d65ab6b3e9c9343268fd5e9d4cb560603f34832c 01-Aug-2011 Ying Wang <wangying@google.com> Merge "Fix makefile function call syntax"
99b927751677abfb60a388d65dfeed1fed1db12c 28-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5080320 MediaPlayer volume

Details:
- re-factor volume-related code yet again
- remove dead variables mAmplFromVolLevel, mAmplFromStereoPos, mDirectLevel
- add placeholders for kEventPrefetchFillLevelUpdate and kEventPrefetchStatusChange

Known issues:
- MPEG-2 TS doesn't yet implement the ability to query channel count, so default to stereo

Change-Id: Ic0f2297b267dc3d380755e8d314e1d5f0f659d7c
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.h
rc/classes.h
rc/handler_bodies.c
rc/itf/IEngine.c
8b54effee89c829310e16d69bf2d9496789551b6 30-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5082191 fix slesTest_decodeToBuffQueue assert"
2e0ad5a525247b48d6300ab48774503f55da75ea 29-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5092976 no spurious callbacks on prefetch fail"
e9c0474af78f66279272c0f08fdecd84a374b52a 29-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5081346 fix whole file looping"
503f9528ee0be56692a21cc7280b2c5a6f71a231 29-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Adding MediaEncoderFilter for encoding GLFrames"
9f07ea788f57654acf29d1321b40162e41eb122b 26-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5081346 fix whole file looping

Change-Id: If4e233f9007d7e48225a342a43f06df7f66cdea7
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.h
06059e5ee1eaf907589c7f8d1320253f92211348 29-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5092976 no spurious callbacks on prefetch fail

Change-Id: I754085b4d1e43c4d10bea36e0fb683d8113844e9
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
e878c470cf58c8654d613ab2449468b44a90d6e5 27-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5082191 fix slesTest_decodeToBuffQueue assert

Change-Id: I2ec181cc7eba000847bd28e6d04733d3496d74d9
rc/android/android_AudioSfDecoder.cpp
rc/android/android_defs.h
rc/itf/IEngine.c
fa2bd93c3a9852a1f879663eeff598d13cf8fa81 25-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 4599730 fix mute solo, channel count, volume

Change-Id: I1624c744168233c4ef79f2cd3090447b8aa7d53b
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/MediaPlayer_to_android.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_defs.h
rc/classes.h
d34fd78c5c2e2e8937210115701df4f450d72c15 28-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Report last decoded position as AudioPlayer position for PCM decode"
5050a75e342ce45794d56666cddde3d46472acc7 27-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Report last decoded position as AudioPlayer position for PCM decode

Change-Id: I1ec413137d549235af4dc66cb033e1cd0bbbad62
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
ests/examples/slesTestDecodeToBuffQueue.cpp
7bc462c41b66cf28c95f9c47f60307e1d77fd3a4 26-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5045590 preset reverb on audio players"
d4aff76cde1d1562b8fc1dcc5c388febb14d552a 26-Jul-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fix concurrency bugs in MediaSource"
6f0f5640d190b0187c356eb53bd96d9f9e49da60 25-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5022500 MP2TS format change support in OpenMAX AL

Define new command that can be queued in AndroidBufferQueue
to signal an MP2TS format change.
This command maps directly to IStreamListener::kKeyFormatChange.

Change-Id: I67908fd9e1a7d994862ea3e41c4c0fb6e36bc804
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
rc/android/android_StreamPlayer.cpp
rc/android/android_defs.h
rc/itf/IAndroidBufferQueue.c
3610785fa93586ce84a27a27530feb77b8035229 22-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5045590 preset reverb on audio players

Aux effects on MediaPlayer audio players (non-AudioTrack) were broken

Change-Id: I5b97bee08d809b12cb9815d6d277934123780581
rc/android/android_Effect.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
ca2e4b9b6a70d2d0e147c992c16e59b8004cc8b1 24-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5068269 Fix assertion failure after prepare"
94a5af22ba0a0f6b54e9d0ad15f9bb70f46b6d58 24-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "pthread_signal instead of polling prefetch status"
0ab75a12c246f871771dc37b4ac0233cf7ee3f47 21-Jul-2011 Glenn Kasten <gkasten@google.com> pthread_signal instead of polling prefetch status

Also add looping for short files

Change-Id: Ia115ca5ff388a4824d56fad2ad34881479ab3f0d
ests/sandbox/reverb.c
ac984916418090411a38302a3ade17120c34d321 23-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Miscellaneous improvements to preset reverb test"
64621eac543d714d4d3f7cb9c24205f2ddc59201 21-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5068269 Fix assertion failure after prepare

Change-Id: I890a29eeef9021c7432da8a0ccb409846e107097
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/android_defs.h
844b2a45b7ffe59b8b832e2311dc3ff3f37a6e97 22-Jul-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Make CameraSource always pick a resolution from the supported list."
47c325b8fe4cd967886ee82070c1eb3d1bb0c18c 20-Jul-2011 Glenn Kasten <gkasten@google.com> Miscellaneous improvements to preset reverb test

Add option to select URI or fd locator.
Use prefetch status callback to detect bad URI.
Fix bug where it was not playing the last few seconds of file.
Decrease reverb on/off interval from 5 to 3 seconds, for shorter files.
Add looping.

Change-Id: I34a0506742de14adcf996bfc508177b260afded8
ests/examples/slesTestSendToPresetReverb.cpp
e3a64017fa4bccba5733a8a6cffad24044af48df 22-Jul-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fixes to the MediaSource filter."
dc93696c78e3a089828188a760ece635cb8d8a09 22-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5047695 Handle unsuccessful prepare up to app"
8b1244891c53dae271d1be1585aa08ee7dabc5e9 22-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Add more verbose logging"
49935c51fddcd0caa0030e2aac0c3a7ba3339e3d 21-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5047695 Handle unsuccessful prepare up to app

Change-Id: I9f1541b37ad5cda21dc49388e42c7fb08b22fc5b
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_defs.h
b2549c73290f1955f3a7731bf98446a45f295dfa 21-Jul-2011 Glenn Kasten <gkasten@google.com> Add more verbose logging

Change-Id: I0cccee0d59fe3eefc6ef94b22bb6100d96bccdff
rc/android/AudioPlayer_to_android.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
b22ee04cb45031ea46c129c1a46205e0cd09ee65 21-Jul-2011 Wei Hua <whua@google.com> Merge "Move the format checking into process."
62e784b9b9146cd926077dd550507add3e2a95b0 21-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Use prefetch status to recover from URI errors"
922908183f41149b73cf3a077f8cb1945de07a67 21-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Header file for audio effects config file parser"
d91db4c34bdffa3b6d3f9234c8f4f8506bc0aa2e 20-Jul-2011 Glenn Kasten <gkasten@google.com> Use prefetch status to recover from URI errors

Change-Id: I1afa4af018c372448a456824c78e3e1ab1c13b42
ests/sandbox/multiplay.c
fa52213f4eccd0fd32bc1a3175e2ac675f6150e5 20-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5047695 missing cases"
2d8f61cf8f81c4cef19828d53e522383f3176fe2 20-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5044578 part 2"
9f0ee1d8941712a73a1924c153d1624683526fe4 20-Jul-2011 Marius Renn <renn@google.com> Merge "Bugfix: GL texture parameter / mipmap setting issues."
81e917a2605e14901b8f5e6cac7eafb5667aad0d 20-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5047695 missing cases

Change-Id: I9ae27ed4e977568a9687b9dd18eb998651569b24
rc/android/android_GenericMediaPlayer.cpp
581dacbabb3db9dd65ae6cd6dee791e1a7fecd7a 20-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 5049371 Metadata for decode to PCM buffer queue"
ba539d5b0d28856f949a78d7a0b29064fdd805c9 20-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Use the documented header filenames"
ad09ae6fadea06f5a02630b66ce18acf88bb790d 20-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Fix newline"
8ff5e6b121c06d806cbe6bc2399ef16383dc041b 20-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Re-generate tables and fix includes"
34b376c7e22408e38d3c72c0fd98386ed6797d33 20-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Reduce logs"
54cad4f35a090a06e655fcc9e072e1d38f9e7689 20-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5049371 Metadata for decode to PCM buffer queue

When decoding a URI or FD with OpenSL ES to a PCM buffer queue,
you cannot rely on the information given by the extractor, or
the OMXCodec before the latter has decoded one buffer.

The fix consists in two parts:
1/ where to retrieve the PCM format from:
the information first retrieved from the extractor if available,
but then overwritten by the OMXCodec values as soon as it
issues INFO_FORMAT_CHANGED
2/ when can the application retrieve the information:
the information is available when the first buffer of decoded
data is returned to the application via the buffer queue
callback. The test app is updated to reflect this, and verify
that the query can safely happen during the callback.

Change-Id: Ic034c7ff9412c94e9df2aaa3c1d61e9d3bf507d9
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_AudioToCbRenderer.cpp
ests/examples/slesTestDecodeToBuffQueue.cpp
157ad9aa0b0a8709e14439c1b6555ef68d0731b8 19-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5044578 part 2

That last fix introduced a regression; one assert no longer true
found during more testing.

Change-Id: I4c3f8d6f7158fc364473606d1c8f78fe81fbb7e5
rc/ThreadPool.c
fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfc 19-Jul-2011 Glenn Kasten <gkasten@google.com> Re-generate tables and fix includes

Change-Id: I266810fc1c0c477e997b39478b9e77694f9fc49b
rc/autogen/IID_to_MPH.c
rc/autogen/MPH_to_Engine.h
ools/hashgen/frag1.c
ools/hashgen/frag2.c
ools/hashgen/part1.c
c6853892c94800e72c0bd676d5d2136d48cea76e 19-Jul-2011 Glenn Kasten <gkasten@google.com> Use the documented header filenames

Both Khronos and we say to use < > in our docs

Change-Id: Ibf1d2b83036582a605aa6b9043210c89a4eb0e1e
rc/OpenSLES_IID.c
rc/handlers.c
rc/sles_allinclusive.h
rc/ut/OpenSLESUT.c
rc/ut/slesutResult.c
ests/automated/BufferQueue_test.cpp
ests/examples/Android.mk
ests/examples/slesTestBassBoostPath.cpp
ests/examples/slesTestEffectCapabilities.cpp
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestFeedback.cpp
ests/examples/slesTestPlayFdPath.cpp
ests/examples/slesTestRecBuffQueue.cpp
ests/examples/slesTestSawtoothBufferQueue.cpp
ests/examples/slesTestSendToPresetReverb.cpp
ests/examples/slesTestVirtualizerPath.cpp
ests/examples/xaVideoDecoderCapabilities.cpp
ests/listening/seekTorture.c
ests/listening/slesTest_playMuteSolo.cpp
ests/mimeUri/slesTestGetPositionUri.cpp
ests/mimeUri/slesTestLoopUri.cpp
ests/mimeUri/slesTestManyPlayers.cpp
ests/mimeUri/slesTestPlayStreamType.cpp
ests/mimeUri/slesTestPlayUri.cpp
ests/mimeUri/slesTestPlayUri2.cpp
ests/mimeUri/slesTestSlowDownUri.cpp
ests/mimeUri/slesTest_playStates.cpp
ests/mimeUri_test.cpp
ests/native-media/jni/native-media-jni.c
ests/sandbox/configbq.c
ests/sandbox/dim.c
ests/sandbox/dual.c
ests/sandbox/engine.c
ests/sandbox/intbufq.c
ests/sandbox/monkey.c
ests/sandbox/multiplay.c
ests/sandbox/multithread.c
ests/sandbox/object.c
ests/sandbox/outputmix.c
ests/sandbox/playbq.c
ests/sandbox/reverb.c
ests/sandbox/srcsink.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
ests/sandbox/urimime.c
ests/sandbox/xa.c
d7ecf117cfac5f2b90a0dc6c62b56dcce0715971 19-Jul-2011 Glenn Kasten <gkasten@google.com> Reduce logs

Change-Id: I82c8a66886bd3b853fac88594370545ed23a0400
rc/android/VideoCodec_to_android.cpp
rc/itf/IVideoDecoderCapabilities.cpp
d527933b750b107449263fff2c9d870edbfcc520 19-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5044578 Fix race in engine destroy on uni

On uniprocessor, the main thread reached Engine::Destroy before the
worker threads had even started, so they did not see the shutdown.

On SMP, the worker threads were started (and blocked), so it was OK.

This new code also has the advantage of shutting down quicker
if there are pending callback requests in the queue.

Change-Id: Iff8cca042ebffe48ce7cc5d798e7b3b9911fb64b
rc/ThreadPool.c
76ac21ed01efa794a61d271501ad08ddc0870dae 19-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Reduce logging"
d06a59e3848c4305da45314aa6b87a83b7db8843 19-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Implement XAVideoDecoderCapabilitiesItf"
de015407a89018f9422254624e1b75703f38defd 19-Jul-2011 Glenn Kasten <gkasten@google.com> Reduce logging

Change-Id: I71c5e016147002fa84a56fc703da52e7b5c8417a
rc/android/android_GenericMediaPlayer.cpp
c2f5fd8659f405de1a4769dfb075b2b27b217bd8 18-Jul-2011 Glenn Kasten <gkasten@google.com> Fix newline

Change-Id: Id06193de5ba82bebe36515c0ca18702b3a5c3222
ests/examples/slesTestSendToPresetReverb.cpp
6e7e174807fc639c49125ced8962aa369370fbf0 13-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Implement XAVideoDecoderCapabilitiesItf

Add support for the OpenMAX AL XAVideoDecoderCapabilitiesItf
engine interface.

Implement the Android support of this interface in
VideoCodec_to_android.*. This functionality relies
on OMXCodec::QueryCodecs() feature, and does only
expose hardware codec capabilities (see full note in
VideoCodec_to_android.h).

Add sample code to list the platform's video decoders
and their profile / level combinations.

Change-Id: Iff6a42542c1db67ca1dcf539449ca96aa5944f6d
nclude/OMXAL/OpenMAXAL_Android.h
rc/Android.mk
rc/MPH_to.c
rc/android/VideoCodec_to_android.cpp
rc/android/VideoCodec_to_android.h
rc/classes.c
rc/classes.h
rc/devices.c
rc/devices.h
rc/itf/IVideoDecoderCapabilities.cpp
rc/itfstruct.h
rc/sles.c
ests/examples/Android.mk
ests/examples/xaVideoDecoderCapabilities.cpp
5f402142ef3e3a74785caffbbfd15e682903c720 15-Jul-2011 Jean-Baptiste Queru <jbq@google.com> am 91a9a6b1: Merge 94849a18

* commit '91a9a6b1be0a58b3d2d3865001c0f54a4f02b550':
opensles: fix 86 compilation.
52a2785b196cdad2388864355aec3b961d163892 15-Jul-2011 Jean-Baptiste Queru <jbq@google.com> Merge 94849a18

Change-Id: Ib547f2729a2f3aab6a595680c8e042aa6a8d1342
bbe2242393dc6120f3c663f19b6eff41580ac9eb 15-Jul-2011 Wei Hua <whua@google.com> Merge "Graph and NativeProgram tearDown."
b2e1ca25d38085c68388812e5bd39e6edb1d2a25 14-Jul-2011 Andreas Huber <andih@google.com> Merge "NuHTTPDataSource.h is no more, get rid of this (redundant) include"
daee8396c6e3e3a9cf620d78a766b6f30a2d46f8 14-Jul-2011 David 'Digit' Turner <digit@google.com> am 0dc351be: merge intel x86 patches into gingerbread branch

* commit '0dc351beb3357f71ef4a04c088eb69c38dd98d8d':
opensles: fix 86 compilation.
662c25b0ee98928a01ee4ba551e0503fac168857 14-Jul-2011 Andreas Huber <andih@google.com> NuHTTPDataSource.h is no more, get rid of this (redundant) include

Change-Id: I893738d1aa1e91300c966a5ac3a7cc3ce1202152
rc/android/android_AudioSfDecoder.h
ac713d1f7abda2cc7b7390d6f9c69c902b1297ab 13-Jul-2011 Marius Renn <renn@google.com> Merge "Many bugfixes and enhancements."
faa31e08addba8eed621e005ff40d446c6020f94 13-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Async callback queue updates, applied to XAStreamInformationItf"
85133c817f6f387cd7d072988a8818f18bb53702 12-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Async callback queue updates, applied to XAStreamInformationItf

Updated the asynchronous callback queue system to support 'piipp'
callback signatures.

Applied this update to make the StreamInformation property change
event notification asynchronous.

Made the XA_PLAYEVENT_HEADATEND also use the callback queue.

Change-Id: I6fd8dee5eefa1d09006661f69de302a8b7fff0f5
rc/ThreadPool.c
rc/ThreadPool.h
rc/android/MediaPlayer_to_android.cpp
rc/sles_allinclusive.h
67ac3818077ae28d6361a5638b4c95c50dd72aef 12-Jul-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fix AsyncRunner setGraph to use correct running test."
fd921c5e16782bcf10f997487b44deb38156ab2b 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Remove the simulator target from all makefiles. Bug: 5010576"
66db081e6ed02a87dbeb229dcd611b1d1c14913d 12-Jul-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Changes to filter framework callback handling."
ddf30363c081b598a4df50c30a7e469a2551bdbd 12-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Implement XAPlayItf::GetPosition on MediaPlayer"
35a5a30fdad179ccf38d8d756590411326159a89 12-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Implement XAPlayItf::GetPosition on MediaPlayer

The play interface was only in place for routing calls to an
AudioPlayer in OpenSL ES, not in OpenMAX AL for a MediaPlayer.

Change-Id: Icf514be428396264252874faf1060c76ddee9545
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/itf/IPlay.c
ffea36e11b068d171549b64ee767eefd2637555a 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I59e3c37c05c1114648172d9aba7abf035986bede
rc/Android.mk
rc/itf/IAndroidEffect.cpp
ests/Android.mk
ests/automated/Android.mk
3ece92db4f00b14dfa46118c7ef2dd305e8a19c4 12-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Defer SL_PLAYEVENT_HEADATEND to avoid deadlock"
2ae7a2eaa45f8c9cf10312f281f0c16fed3d6a91 12-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "ThreadPool callbacks provide more parameters"
17c85815ea3f096a8edaf449ba2d777a069e03e3 12-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Add --always-on option for effects tests"
377aa54ce344adcbc8bac731c6db9e7e39b432c5 10-Jul-2011 Glenn Kasten <gkasten@google.com> Defer SL_PLAYEVENT_HEADATEND to avoid deadlock

This is a first example, and if it works well then will
be implemented for other appropriate callbacks also.

Change-Id: Ieeab6b3498c74305e19a9d9c8ff497eff22243aa
rc/android/AudioPlayer_to_android.cpp
rc/sles_allinclusive.h
cf3a6383a9bc9a94ca5b424ea97313293ee0dcb0 10-Jul-2011 Glenn Kasten <gkasten@google.com> ThreadPool callbacks provide more parameters

Now allows up to two void * and two int parameters.

This will be needed by deferred application-level callbacks

Change-Id: Ie388169439b2e3ab95d053007bcdc674b875fa67
rc/ThreadPool.c
rc/ThreadPool.h
rc/itf/IDynamicInterfaceManagement.c
rc/itf/IObject.c
b5628d22f068f13897cd663b44318455bda12000 10-Jul-2011 Marius Renn <renn@google.com> Merge "Moving Contexts out of Filters and other bugfixes."
7c7511aa96e54d94df836357fbbf76c681f20a26 10-Jul-2011 Glenn Kasten <gkasten@google.com> Add --always-on option for effects tests

This will be used for CPU load measurements.
Also fix bug in duration calculation for reverb test.

Change-Id: Ia2f91fa7c3e564047378341d31e3f4bfcace5f98
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestSendToPresetReverb.cpp
ests/examples/slesTestVirtualizerPath.cpp
ebd7dd606ed50bfa85e52743d784c3a6c5941e35 10-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Enable ThreadPool for Android"
17af251383a81d5c74b94168c2e2d8a35c9d224d 10-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Add --always-on option for bass boost test"
b657e861b1a873a73cb9f492479c655dfdb68754 10-Jul-2011 Glenn Kasten <gkasten@google.com> Add --always-on option for bass boost test

This will be used for CPU load measurements

Change-Id: Ib8b15bd31d8fa5672ec69c6d2595e4590a700d53
ests/examples/slesTestBassBoostPath.cpp
cc0c05e46cb941ff9a750b4c8eab4f8eba771b74 10-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Implement GetPosition for players playing from a URI/FD"
4c7bd0776ee7fd256b12bc1b0c4d6704153f5677 10-Jul-2011 Glenn Kasten <gkasten@google.com> Enable ThreadPool for Android

Change-Id: I7a836dbbd671ecd8ce363c48940b84a0a6c18dca
rc/ThreadPool.h
4b0e0b2860ffd5e246b42c8a434833cca2f068b3 08-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Implement GetPosition for players playing from a URI/FD

AudioPlayer (OpenSL ES) and MediaPlayer (OpenMAX AL) that play
media from a URI or FD are implemented on top of an Android
MediaPlayer. This CL implements requesting the current position
from the underlying MediaPlayer object inside the event loop.
At this stage, GetPosition cannot be called from inside a
callback as the callback is made on the same thread that will
process the asynchronous part of the GetPosition implementation.
Add test app for GetPosition.

Change-Id: Ife768bc40e37fc60cc19f6ba84bbe6cb06cc6590
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.h
ests/mimeUri/Android.mk
ests/mimeUri/slesTestGetPositionUri.cpp
d8bf98cb4512259969746aecd1526bbfa1d4ac2a 08-Jul-2011 David 'Digit' Turner <digit@google.com> merge intel x86 patches into gingerbread branch
90fade711b33e9b79b034ec288bd2ecf48b2fd41 08-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Make it build again on non-Android"
4b11d60af07b1e676b15ec4338c9ac5f143cdfd0 08-Jul-2011 Ruei-sung Lin <rslin@google.com> Merge "optimize FisheyeFilter"
4f3f0f5d1b97008790158f4dde71057f7d8ed41a 08-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Moved and renamed effect API header files"
ea429ee1007c36ade812199ad365c0e659e8053f 17-Jun-2011 Eric Laurent <elaurent@google.com> Moved and renamed effect API header files

Moved specific effect header files to
system/media/audio_effects/include/audio_effects and renamed
to lower case (effect_xxx.h).

Change-Id: I8e8f6e3851f12ae8bb380fa714abe26da06d3b58
rc/Android.mk
rc/android/android_Effect.cpp
rc/itf/IBassBoost.c
rc/itf/IEnvironmentalReverb.c
rc/itf/IEqualizer.c
rc/itf/IVirtualizer.c
71139e6bc1f077d285fb04629925d99383d1114f 07-Jul-2011 Glenn Kasten <gkasten@google.com> Make it build again on non-Android

Fix warning about unused variable.
Remove spurious include.
Fix warning about printf format type mismatch.

Change-Id: Ibeeb33a55175e0ec1e5210211d8844df0bbe3bca
rc/desktop/SndFile.c
rc/itf/IEngine.c
rc/objects/CMediaPlayer.c
def09fde9f46da7e54f73229e6df48c415910eb8 08-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Rename ANDROID_UNKNOWN_* to UNKNOWN_*"
f42aa86f0108a11e52c61f4b082f224005f73e4d 07-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Fix NPE when pDataLocator->mURI.URI is NULL"
1a9c2615d0933d183fcb1b9e34ec8f0da2a85153 07-Jul-2011 Glenn Kasten <gkasten@google.com> Rename ANDROID_UNKNOWN_* to UNKNOWN_*

Change-Id: I0d92b7d943690d9af7e08c400471f8b474728bff
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_defs.h
rc/classes.h
rc/desktop/SndFile.c
rc/itf/IEngine.c
rc/sles_allinclusive.h
5793033ccaeb30cc4936497f64dfa2cfe2cc405f 07-Jul-2011 Glenn Kasten <gkasten@google.com> Fix NPE when pDataLocator->mURI.URI is NULL

Don't call strlen on a NULL pointer

Change-Id: I632e71287695dc2762e56c1379be4108014107e2
rc/data.c
0cd3cf477f9f315074cc074aa4966524841c1d7d 07-Jul-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fixes to Scheduler behavior in the mobile filter framework."
13d02b645fc6e8ffe70a8bf8cc5f69f03558ae40 07-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix metadata value size check

A bug was introduced during the review of the SLMetadataExtractionItf
interface implementation where the value size was improperly
compared against the size given by the application.

Change-Id: Iae1359e84a410e3fec53bd65e0fba9cc97fce08a
rc/android/android_AudioSfDecoder.cpp
ad549a22a3df907eaa3ac575021974a878b01863 06-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4980997 Fix the AudioTrack start deadlock"
47550bf6cf5cf08a402a54b1589f4b64582a5120 30-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4980997 Fix the AudioTrack start deadlock

Details:
- Added AudioTrackProxy, a RefBase proxy for AudioTrack
- Call AudioTrack::start() after unlock

Change-Id: Ib1a05ee57f78432eb4c9d3a5bd68dd31a78d6e3e
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/android/AudioTrackProxy.h
rc/android/android_Effect.cpp
rc/classes.h
rc/desktop/SndFile.c
rc/itf/IAndroidEffect.cpp
rc/itf/IEngine.c
rc/locks.c
20b3ffe781c9ff8e5d0d58a9d60f77b1b0b4a5cb 30-Jun-2011 Marius Renn <renn@google.com> Merge "Removed dependencies of native filter program implementations on MFF headers."
0d69b0555a0fa313eded5660a0d95327da9cb1e7 30-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix issues in GenericPlayer destruction"
e6ded5c61944a87fa9e472dec3a6929855d42aeb 28-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix issues in GenericPlayer destruction

Added a preDestroy() mechanism for the subclasses of
GenericPlayer.
Added a lock around the update and use of the callback
GenericPlayer is using for notifications to the
OpenSL ES framework. This prevents notifications after
the GenericPlayer is flagged for destruction.
Added a lock to protect the update of the audio source
running state, so it doesn't get used after the
AudioSfDecoder is flagged for destruction.
Before stopping the audio source of an AudioSfDecoder
object, release the code buffer if necessary, to
ensure proper teardown of the audio source (OMXCodec)

Change-Id: I6cf08d169a6da622552dda5101dbc61e663ce6aa
rc/android/AudioPlayer_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
a02e06287e840a9699f4f87d21b478851ebad94f 30-Jun-2011 Wei Hua <whua@google.com> Merge "Fixed the problem of binding texture without a texture created."
fd7d3caf383f6549d8bb18b7579cbb4571d9ca40 29-Jun-2011 Glenn Kasten <gkasten@google.com> Merge "Call AudioTrack start, stop, and pause when needed"
f4647bf85968ab30eb07f9a80b99177d91068f94 29-Jun-2011 Glenn Kasten <gkasten@google.com> Call AudioTrack start, stop, and pause when needed

These AudioTrack operations are relatively expensive Binder calls (and
will soon be even more expensive to fix a deadlock at AudioTrack::start),
and they were being called excessively. Now AudioTrack start, stop,
and pause are only called when there is an actual play state change.

Details:
- distinguish ATTR_TRANSPORT vs. ATTR_PLAY_STATE for audio players
- android_audioPlayer_setPlayState is only called when the play state changes
- handler_AudioPlayer_transport is only called for transport changes other than play state
- android_audioPlayer_setPlayState is always called with mutex locked
- since media player currently only handles play state, handler_MediaPlayer_transport
is still called for both ATTR_TRANSPORT and ATTR_PLAY_STATE
- since the handlers for ATTR_BQ_ENQUEUE and ATTR_ABQ_ENQUEUE are only called if in
state PLAYING, changed an "if" to an "assert"

Change-Id: Iee2968fd98d215885b7105053bb1604f962ea337
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/attr.h
rc/handler_bodies.c
rc/handlers.c
rc/handlers.h
rc/itf/IPlay.c
c320985716ff1e3b6d0971b4a89a2b9cae1a01bf 29-Jun-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Hide all classes in the filter framework and filterpacks from API."
5b49d824c2dfce8a3905439fe8ac95066a6086ad 29-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix race condition when deleting an AudioPlayer"
2353734b1982684ff818487a482521420fd90f09 28-Jun-2011 Wei Hua <whua@google.com> Merge "Added Random and RoundRobin Scheduler."
6cce136651f6fd2c7aecd45bc553270152d75462 28-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix race condition when deleting an AudioPlayer

When deleting an AudioPlayer that is used as a PCM decoder,
there can be callback underway, for instance when trying to
delete a player just as the notification of its preparation
arrives.

The fix consists in:
- flagging all callback with the CallbackProtector
mechanism,
- only entering callback when it is valid to do so
- renaming AudioTrackProtector to CallbackProtector
as this mechanism is not exclusively used for the
AudioTrack callbacks.

Change-Id: I9336a75981de43f71a983c1300f3a0ff314ac1e0
rc/Android.mk
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioTrackProtector.cpp
rc/android/AudioTrackProtector.h
rc/android/CallbackProtector.cpp
rc/android/CallbackProtector.h
rc/classes.h
rc/itf/IEngine.c
d5bffe2727f993f983225460933d6a9228c2c6d6 28-Jun-2011 Marius Renn <renn@google.com> Merge "Renamed port classes to more intuitive names."
01d7c3783cc019c67cca16ed4e563330257d4c4d 28-Jun-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4571308 Test video timestamps"
3bbd3bb7fcb082eba313614f072c11c41b38ebfe 27-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4571308 Test video timestamps

Change-Id: I4d1fe3b9e090fe014c45432a91ea43360213ee2e
ests/native-media/res/layout/main.xml
ests/native-media/res/values/strings.xml
ests/native-media/src/com/example/nativemedia/MyGLSurfaceView.java
ests/native-media/src/com/example/nativemedia/NativeMedia.java
fe74f511e96e64cccc9c126b3e12b04475ea3b5c 27-Jun-2011 Marius Renn <renn@google.com> Merge "Bugfix for Illegal SurfaceTexture reuse and GLEnvironment exception handling."
1a5582a7e5a56a0bdf189d9193472cbde4ae0265 25-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix NPE in audio decoding"
ac18c1cd32408884d3960bd7aa56ba419c2ca68b 25-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix NPE in audio decoding

If the data source wasn't properly initialized, the corresponding
member field should be accessed.

Change-Id: I811827991078db4b8dc4278014f046361f06e1a2
rc/android/android_AudioSfDecoder.cpp
9a4b5a4d9bd8a362efe95befc884e5d533c0bfcc 23-Jun-2011 Marius Renn <renn@google.com> Merge "Port + Parameter Unification and Type Check Refactoring."
8bae97ce4243cb9fe37fa35b82cca48fca735e72 23-Jun-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4606138"
e5fd4891ed21ef896824587383e3a6c47ee4f74c 22-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "OpenSL ES: additional features when decoding to PCM"
7f5cc1afe49395fefaad9b2bbd728a45d1bfda6a 16-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenSL ES: additional features when decoding to PCM

Support the following features useful when decoding a compressed
asset to PCM:
- GetDuration in SLPlayItf
- implemented SLMetadataExtractionItf on an AudioPlayer whose
data sink is a buffer queue (i.e. it's a decoder)
- added support for 6 new metadata keys that can be queried
through SLMetadataExtractionItf, which match the fields
of the SLDataFormat_PCM structure.
Updated the decode sample code to use these features: the
slesTestDecodeToBuffQueue app now displays:
- the number of channels
- the channel mask
- the sample size
- the container size
- the sample rate
- the format endianness

Change-Id: I3ca1e29828fd8c16c89da43a28df429c9cdef7af
rc/Android.mk
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/OpenSLES_AndroidMetadata.h
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_defs.h
rc/classes.c
rc/itf/IMetadataExtraction.c
rc/sles.c
ests/examples/slesTestDecodeToBuffQueue.cpp
1730d76c417a89feed4e984a1ddd3c76fc65535d 22-Jun-2011 Rodrigo Carceroni <carceroni@google.com> Merge "Add set method to Point class"
50adedda0071ecaf7f62f50bbfd3915d4d87569e 20-Jun-2011 Glenn Kasten <gkasten@google.com> Merge "Better defaults and fix warnings"
a8d249f419d3257ea47194727dd3a2cca22425dc 18-Jun-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Update CameraSource filter parameter handling."
7df1de32fbbe82db9fa47a31e768878f8a21ed43 16-Jun-2011 Eric Laurent <elaurent@google.com> Merge "Revert "voice processing""
8b565a4139cb37b0682b44cf9a16525ebf6c2058 16-Jun-2011 Eric Laurent <elaurent@google.com> Revert "voice processing"

This reverts commit 7585d227843769079ee2afb385607b3e23ac1e07
rc/android/android_Effect.cpp
rc/itf/IBassBoost.c
rc/itf/IEnvironmentalReverb.c
rc/itf/IEqualizer.c
rc/itf/IVirtualizer.c
9307801ebf5a3eeb53b2b98ea0832690895b147d 16-Jun-2011 Thomas Le Guevel <thomaslg@google.com> Merge "voice processing"
b6949474ff2c0d14c8def75c367c30cca69a99e4 16-Jun-2011 David 'Digit' Turner <digit@google.com> opensles: fix 86 compilation.

The libopensles Android.mk lists several C++ source files with
a .c extension. It also uses the '-x c++' compiler flag to force
their compilation as C++ sources.

For some reason, our x86 toolchain re-enables rtti in this case,
which leads to a library that cannot be linked properly. Fix the
issue by adding -fno-rtti when we're targetting the x86 CPU
architecture.

Change-Id: If00a86f93b492fc7abd97f92b5560138539bf1e0
ibopensles/Android.mk
7965455f86c21d6e1f788b284f5fc829e82ff2b5 14-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4606138

Change-Id: If4745ee39eeedf11388800cc30c26e4c4f8ddaa0
rc/android/AudioPlayer_to_android.cpp
rc/data.c
rc/data.h
rc/itf/IEngine.c
58432eb9cea995c69b4f905e68b38c1b8216edeb 13-Jun-2011 Glenn Kasten <gkasten@google.com> Better defaults and fix warnings

Use better defaults for slesTestFeedback rxBufCount and channel count.
Fix build warnings.

Change-Id: Ieef4750cbc454029e61524cc8011a6c774088762
ests/automated/BufferQueue_test.cpp
ests/examples/slesTestBassBoostPath.cpp
ests/examples/slesTestDecodeToBuffQueue.cpp
ests/examples/slesTestEffectCapabilities.cpp
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestFeedback.cpp
ests/examples/slesTestPlayFdPath.cpp
ests/examples/slesTestRecBuffQueue.cpp
ests/examples/slesTestSawtoothBufferQueue.cpp
ests/examples/slesTestSendToPresetReverb.cpp
ests/examples/slesTestVirtualizerPath.cpp
ests/listening/slesTest_playMuteSolo.cpp
ests/mimeUri/slesTestLoopUri.cpp
ests/mimeUri/slesTestPlayStreamType.cpp
ests/mimeUri/slesTestPlayUri.cpp
ests/mimeUri/slesTestPlayUri2.cpp
ests/mimeUri/slesTestSlowDownUri.cpp
ests/mimeUri/slesTest_playStates.cpp
ests/native-media/jni/native-media-jni.c
ests/sandbox/configbq.c
ests/sandbox/dual.c
ests/sandbox/engine.c
ests/sandbox/getch.c
ests/sandbox/getch.h
ests/sandbox/intbufq.c
ests/sandbox/multithread.c
ests/sandbox/object.c
ests/sandbox/outputmix.c
ests/sandbox/reverb.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
ests/sandbox/xa.c
87c9a6bbe9dabec3d795675ab0ef74a773cc1670 12-Jun-2011 Eric Laurent <elaurent@google.com> voice processing

Change-Id: I0b6129f566349fd333f34773589d5d15c36a7c15
rc/android/android_Effect.cpp
rc/itf/IBassBoost.c
rc/itf/IEnvironmentalReverb.c
rc/itf/IEqualizer.c
rc/itf/IVirtualizer.c
d8e3bf918a1960238a5547fac1e911b541b87a8c 08-Jun-2011 Wei Hua <whua@google.com> Merge "Throws JAVA exception when native program process fails."
b4fb100d7122d118d3da9d1d08ffacef68dd38b0 03-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Stop the OMX codec when destroying the OpenSL ES decoder

The AudioSfDecoder class uses a MediaSource interface from
an OMXCodec object. In the class destructor, the codec must
be stopped before the codec is anihilated.

Change-Id: Ibf0d729e055dcd8f4e05f3fb8332d650f9be0d30
rc/android/android_AudioSfDecoder.cpp
948e71298e9743384a1c65c073791825e2764da2 03-Jun-2011 Rodrigo Carceroni <carceroni@google.com> Merge "Add filter for efficient conversion from color in-GPU to grayscale native"
0121e4c3c67a687fa12d7d45b3cd23a96d23a66f 03-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Stress test for OpenSL ES: create and delete many players"
2b750ac8e486b75a0f5755d4b595077ec525235e 02-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Stress test for OpenSL ES: create and delete many players

Implementation of a test to deal with 40 AudioPlayers:
- creation
- realize
- configuration
- prefetching
- playback
- destruction
If a player was created, regardless of whether the other
operations were successful, it will be destroyed.
The number of players, 40, is chosen specifically because it
is larger than the number of objects Wilhelm is currently
capable of supporting, and larger than the number of tracks
supported by the platform mixer.

Change-Id: I42287039d59b77e59c60d074fbc0177d9726b359
ests/mimeUri/Android.mk
ests/mimeUri/slesTestManyPlayers.cpp
89269ff5f49b5e3862fc9599cea18ef6336697a2 02-Jun-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add pause support to MediaSource"
a84c5e20d9884d7ec7e4b1377a328c1d1a552b70 02-Jun-2011 Glenn Kasten <gkasten@google.com> Revert "Use AudioTrack::event_type not int in callback"

This reverts commit 1d7ee1569f98f7f1b629a04bb0895165255c7f7b
rc/android/AudioPlayer_to_android.cpp
afb606059a28ee6e497e0a8a09a6b66e74a838b6 05-May-2011 Glenn Kasten <gkasten@google.com> Use AudioTrack::event_type not int in callback

Change-Id: Icd60d7eff86e3bdf9907c573b6900c8eca96acf1
rc/android/AudioPlayer_to_android.cpp
b370751cbee4f0834d11ab282225f3b1c05f75a8 28-May-2011 Marius Renn <renn@google.com> Merge "remove unneeded dependency"
3ae35737ac4ebcf5b494db3bba5a4c5e8c9e21f9 28-May-2011 Eric Laurent <elaurent@google.com> Merge "New audio effect API."
4c6387051c4bdca16c940ad92d73bfb2f7ae79ae 18-May-2011 Eric Laurent <elaurent@google.com> New audio effect API.

media/EffectApi.h header file has been moved and renamed to
hardware/audio_effect.h

Change-Id: Ie24295fb16f3925f1cc43577605d371fd9a18528
rc/itfstruct.h
10a3840407ac3ed61e7873ee7b86d664ccc6149f 11-May-2011 Dima Zavin <dima@android.com> update for new audio.h header location

Change-Id: I2140f1def08bedd8b2bd5170c6ac5edccb80035c
Signed-off-by: Dima Zavin <dima@android.com>
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/android/OutputMix_to_android.cpp
rc/android/android_Effect.cpp
rc/android/android_sles_conversions.h
rc/itf/IAndroidEffect.cpp
rc/itf/IEngine.c
ebbc7dd54bb3a6b05ac899af97fc4b7d0ad6f400 11-May-2011 Jean-Michel Trivi <jmtrivi@google.com> Update automated OpenSL ES test for playback from file path

Remove test where duration is queried after the player is realized
but before prefetching has started: invalid test, duration isn't
known at this time.

Changed wording of error messages to make test failures easier to
identify

Added test to compare retrieved duration, and expected duration.

Fixed expected file duration: was 75s, should be 71s

Change-Id: I6230c00f0c945c6966e1f08ecfbc67452667cf33
ests/mimeUri_test.cpp
ca39f4b4dbeb920a5b97bd65be73f2f7cac77431 06-Apr-2011 Dima Zavin <dima@android.com> system/media: convert to use new defines from hardware/audio.h

Change-Id: I8f0f0d26e10dbbb4dfbc3b52f1c02737a375c5e0
Signed-off-by: Dima Zavin <dima@android.com>
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/android/OutputMix_to_android.cpp
rc/android/android_Effect.cpp
rc/android/android_defs.h
rc/android/android_sles_conversions.h
rc/itf/IAndroidEffect.cpp
rc/itf/IEngine.c
2f6d462d89356cdaa77299ca27b60c5cca198d98 14-Apr-2011 Gloria Wang <gwang@google.com> - Add another parameter in notify() to be able to send timed text sample
through listener during video playback.
For feature request 800939.

Change-Id: I14aa18d2f803163a62c05f9e6bd990518c58cd3f
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
c2538ea97795072fa5edab1ddba47a5d34530c32 13-Apr-2011 Glenn Kasten <gkasten@google.com> Merge "Fix build warnings caused by the 'long' change"
a8179ea15c4ff78db589d742b135649f0eda7ef2 13-Apr-2011 Glenn Kasten <gkasten@google.com> Fix build warnings caused by the 'long' change

Change-Id: I34e74d723ae7fd829dd140614928d7880e669f03
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_StreamPlayer.cpp
rc/android/android_prompts.h
rc/data.c
rc/entry.c
rc/itf/IAndroidBufferQueue.c
rc/itf/IAndroidConfiguration.c
rc/itf/IAndroidEffectCapabilities.c
rc/itf/IBufferQueue.c
rc/itf/IEffectSend.c
rc/itf/IPlay.c
rc/itf/IStreamInformation.c
rc/sles.c
rc/trace.c
7ef5526a7bd12eccfa777cc8bc167794634f405a 13-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix stuttering at beginning of playback

When an AudioPlayer is created, its playstate is set to STOPPED
three times. A stop command is translated into a pause + seek(0).
When a seek is underway, any new seek command was postponed. So
when playback would start after a first seek(0), the other seeks
would be executed, causing the stutterring.
This CL verifies that, when seeking to a certain time, any new
seek command to the same point in time received while seeking
is ignored.
It also correct the update of mStateFlags, which should be done
BEFORE the command is issued to the player, in case the seek
complete notification happens syncronously with the seek command.

This CL does NOT fix why a newly created player sees its playstate
updated to STOPPED three times in a test app like slesTest_playUri
before playback starts.

Change-Id: Ic7627678735f559b911ea3c5a0e1e00d7d7534d2
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
e31a69fcbe27894a597176d05a08e04c06092021 13-Apr-2011 Glenn Kasten <gkasten@google.com> Fix various bugs found with unit tests

ISeek::SetLoop was returning undefined status.
Khronos Bug 7614 - sizeof(long) != 32 bits on x86_64.
Fix bug in IID hashing due to the above.
Fix bug in GenericMediaPlayer::onLoop; was using mPlayer without checking for NULL.
Fix wrong API level in tests/sandbox/object.c.
Decrease log level from I to V in MediaPlayerNotificationClient::notify
and GenericPlayer::~GenericPlayer.
Fix memory leak in tests/sandbox/engine.c.
Comment out overly verbose log in tests/sandbox/streamSource/slesTestPlayStream.cpp.

Change-Id: I322fa9e19ee95ea1e18870a20f6a3c03b8f21208
nclude/OMXAL/OpenMAXAL_Platform.h
nclude/SLES/OpenSLES_Platform.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/autogen/IID_to_MPH.c
rc/itf/ISeek.c
ests/sandbox/engine.c
ests/sandbox/object.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
a8d28e924e270804b55c0242a88ffc0065cd74c9 12-Apr-2011 Glenn Kasten <gkasten@google.com> Merge "Refactor the handling of updates to attributes"
7b726bdcd996f1cab3a584c04ce1afc07bc8fbe7 07-Apr-2011 Glenn Kasten <gkasten@google.com> Refactor the handling of updates to attributes

Attribute handler functions are more modular and
get rid of those endless if statements.

Change-Id: I3221aeb3d26d2dcc5dc9a3f6d37d088f5ce511a1
rc/Android.mk
rc/attr.h
rc/handler_bodies.c
rc/handlers.c
rc/handlers.h
rc/locks.c
rc/sles_allinclusive.h
ad79bbfd16ba81a45842179178332fbd06ad365e 11-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Remove compilation warnings for SLmillibel level comparisons

In OpenSL ES, the volumes are expressed in millibels, which are
stored as SLint16.

The mix and max values are defined as:
define SL_MILLIBEL_MAX ((SLmillibel) 0x7FFF)
define SL_MILLIBEL_MIN ((SLmillibel) (-SL_MILLIBEL_MAX-1))

Therefore the comparison
(SL_MILLIBEL_MIN <= level)
is always true.

This CL removes those comparisons rather than use the compilation
flag to suppress the warning (it is a useful warning!).

Change-Id: I5672f257661ac045ba5282ecb0ecd14d985d8102
rc/itf/IAndroidEffectSend.c
rc/itf/IEffectSend.c
rc/itf/IEnvironmentalReverb.c
36b700a829b7a02b873b4cd0cdb0a95342b20a31 11-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Use reference to sp on GenericPlayer

When an object like GenericPlayer is stored in CAudioPlayer or
CMediaPlayer by a sp, don't use a pointer to GenericPlayer when
the object is passed as a function parameter, but rather use
a reference to the sp that maintains it.

Change-Id: I49ff219618ac4b657deb43cfffb65f0e0dd6d58d
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_GenericMediaPlayer.cpp
16be54258b18bf44137b6b92c8e9f2c2da6108b5 07-Apr-2011 Glenn Kasten <gkasten@google.com> Re-generate autogen files

Change-Id: I3ff71790a981ea0f1e604bae344e4a949509405a
rc/autogen/MPH_to_MediaPlayer.h
ools/hashgen/README.txt
cc7918cbca027f26fa739f15181157bb9d9e0eaf 07-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "OpenMAX AL: support the SeekItf and XA_PLAYEVENT_HEADATEND"
92b245bf8828db9e469febebbe8774c00570b5b9 07-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL: support the SeekItf and XA_PLAYEVENT_HEADATEND

Implemented support for:
- seeking to a position
- looping (only over full duration is supported, no loop points)
- notification of end of content reached
This is all for the playback of URIs or FDs.

Change-Id: I015c40e66feb7ac280459895f5f7915ac964df31
rc/MPH_to.c
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/classes.c
rc/classes.h
rc/itf/ISeek.c
rc/locks.c
rc/sles.c
rc/sles_allinclusive.h
0170dc5795126c660213ffdd3a39f4b9e5bc7e9c 07-Apr-2011 Glenn Kasten <gkasten@google.com> Merge "Fix build on non-Android platform"
229ff6d1ec043e9ca5bce2c19b22e097d1358317 07-Apr-2011 Glenn Kasten <gkasten@google.com> Merge "Line length 100"
0e3b9fb27c3597dd4b32f2894f5d182ea4b86234 06-Apr-2011 Glenn Kasten <gkasten@google.com> Line length 100

Change-Id: Ie4459eed7f94870413bc87252910c1189ecf2e06
rc/Android.mk
rc/itf/IStreamInformation.c
rc/xa_iid.c
f6c0c2346b2ca1ac01c2d68a2cd2a7f1d9ff3427 06-Apr-2011 Glenn Kasten <gkasten@google.com> Fix build on non-Android platform

Change-Id: I85b25467ac5bae45b12ec5b0abfb4696449c2da8
rc/itf/IAudioIODeviceCapabilities.c
rc/itf/IEngine.c
rc/itf/IOutputMix.c
rc/sles.c
b05ea38e5131001884aa226f90fd50cf594a23f3 06-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenSL ES / OpenMAX AL code clean up

Do not use cryptic acronyms for Android object type definitions.

Harmonize object state and type naming conventions.

Change-Id: I62bed7aba2e0b9ea0c47264af8e3cf29f74746a8
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioRecorder_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_defs.h
rc/classes.h
4ee246c55533bdab8ab5fa0f0581744fe58e7c91 29-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Move support for SL URI and FD playback under GenericPlayer class

The SfPlayer class was implementing URI and FD decode and playback
in the application process. This CL removes this class entirely
and moves its functionality under the GenericPlayer class. This
means that the playback of URIs and FDs is now implemented through
an android::MediaPlayer object running in the media service.

The SfPlayer header had many StageFright and system includes, which
are now moved to the relevant files where they are required,
instead of automagically coming from sles_allinclusive.h.

Note that this CL breaks support for the following OpenSL ES features
due to missing Android MediaPlayer features:
SLPlayItf.GetPosition
HEADATMARKER
HEADATNEWPOSITION
SLVolumeItf.EnableStereoPosition
SetStereoPosition
SLMuteSoloItf
SLPlaybackRateItf

Support for those features will be reintegrated in subsequent CLs.

Change-Id: I8d7f6ea006eb7b876ef1ca1909d74b4517335850
rc/Android.mk
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/MediaPlayer_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_SfPlayer.cpp
rc/android/android_SfPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_defs.h
rc/classes.h
rc/entry.c
rc/itf/IEngine.c
rc/itf/IPrefetchStatus.c
rc/sles_allinclusive.h
ests/mimeUri/slesTestPlayUri.cpp
faea005a67ba7e75faea571c521ad2e44fe3dc27 05-Apr-2011 Glenn Kasten <gkasten@google.com> Fix bug in last commit

Always read the documentation:
- Add hooks for new OpenMAX AL interfaces
- Since OpenSL ES engine interface has a deinit hook, add one for OpenMAX AL also

Change-Id: I266bf2112e6f8e525e5b3c06bbb6a68a4764e978
rc/itf/IEngine.c
rc/sles.c
fcfb41d78b352b6cf8ad1c8d15588005f52a3649 04-Apr-2011 Glenn Kasten <gkasten@google.com> Merge "Add basis for future OpenMAX AL 1.0.1 interfaces"
a361b51914aeb5f8f65c7ecad719d1e01f90913b 04-Apr-2011 Glenn Kasten <gkasten@google.com> Add basis for future OpenMAX AL 1.0.1 interfaces

Bug fix:
OpenMAX AL media player was using SL instead of XA symbols for the Object
and DynamicInterfaceManagement interfaces. A Object::GetInterface using
the XA symbols would have failed. Fortunately, these are not used in
typical applications.

Minor cleanup:
- Add README.txt for mphtogen tool
- Fix clang warning
- Update comments
- Remove spurious commas
- Fix warning at declaration of SL_IID_array
- SL_IID_ANDROIDBUFFERQUEUE was added in API level 12, not 10

Change-Id: I75abced5bc3c3fdabe40face25463810de741bf2
rc/MPH.h
rc/MPH_to.c
rc/OpenSLES_IID.c
rc/autogen/IID_to_MPH.c
rc/autogen/MPH_to_3DGroup.h
rc/autogen/MPH_to_AudioPlayer.h
rc/autogen/MPH_to_AudioRecorder.h
rc/autogen/MPH_to_Engine.h
rc/autogen/MPH_to_LEDDevice.h
rc/autogen/MPH_to_Listener.h
rc/autogen/MPH_to_MediaPlayer.h
rc/autogen/MPH_to_MetadataExtractor.h
rc/autogen/MPH_to_MidiPlayer.h
rc/autogen/MPH_to_OutputMix.h
rc/autogen/MPH_to_Vibra.h
rc/classes.c
rc/data.h
rc/entry.c
rc/interfaces.c
rc/itf/ILEDArray.c
rc/itf/IObject.c
rc/sl_iid.c
rc/xa_iid.c
ools/mphtogen/README.txt
014b8f1d9b9de8048690f74ecf64526bcbb3ddf8 04-Apr-2011 Glenn Kasten <gkasten@google.com> Add OpenMAX AL 1.0.1 spec

Change-Id: Iaeb78d64d01cd776f8a7096371f20ce366a64b79
oc/OpenMAX_AL_1_0_1_Specification.pdf
2b06e20ae32388f6e1dfd088d9773c34e6b1cb45 29-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Reduce include noise in SL and XA class definitions

In classes.h: we should only have to include the headers
for the objects that are actually stored as member variables of
the OpenSL ES and OpenMAX AL objects (so here AudioTrackProtector,
Effect, and GenericPlayer).
In CMediaPlayer.c: remove useless includes and change the video
surface function prototypes to use const refs to strong pointers
instead of pointers to access the GenericMediaPlayer objects.

Note that android_SfPlayer.h is still in sles_allinclusive.h because
it will be dealt with when the SfPlayer functionality is absorbed
under LocAVPlayer.

Change-Id: Ic2c9459862588399d9545a247cc15341effc0f66
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_AudioToCbRenderer.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_LocAVPlayer.cpp
rc/android/android_LocAVPlayer.h
rc/android/android_SfPlayer.cpp
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/classes.h
rc/objects/CMediaPlayer.c
63c002ab68761be0eace98f28320d8eb2f3f7695 28-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Clean up main header

There are many includes in sles_allinclusive.h that should be moved
to the files that rely on those headers. This is a first cleanup
to move Android audio effect related headers to where they belong.
+ one relocation for a media server related file. More to come
with AudioPlayer refactoring.

Change-Id: I181dde96db522d9cfb537dffea18ba57f855b99e
rc/android/android_Effect.cpp
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/classes.h
rc/itf/IBassBoost.c
rc/itf/IEnvironmentalReverb.c
rc/itf/IEqualizer.c
rc/itf/IVirtualizer.c
rc/itfstruct.h
rc/sles_allinclusive.h
f62044fafa9644468b35ae7291497b0482762f95 24-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> am 9e0e6e5c: Fix bug 4109988 fix deadlock on destroy

* commit '9e0e6e5c60320dac9aa2abbce2f9a843b8fc4449':
Fix bug 4109988 fix deadlock on destroy
33b27581efde3ee91652bfec35194b2d54603c7c 22-Mar-2011 Carl Shapiro <cshapiro@google.com> Include strings.h for the strcasecmp prototype.

Change-Id: Ibd1689f36b3d74eb1dc1a506f97ca8d11f2b0730
rc/sles_allinclusive.h
83ac345e264c1e22b7a2f1a110b2fe92473394ec 19-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 4109988 fix deadlock on destroy

Fix deadlock with an AudioPlayer playing from a PCM buffer queue.
This type of player uses an AudioTrack that pulls data through
its callback from a buffer queue.
This issue is that when you destroy the player (whick locks the
object), it tries to destroy the AudioTrack object. The
AudioTrack destructor can only finish when the AudioTrack
callback thread can exit. If a callback was underway when
trying to destroy the object, a race condition existed for
the AudioPlayer lock.
The fix consists in using the "pre-destroy" hook for the AudioPlayer
object. In it, we unlock the AudioPlayer, and block until the
AudioTrack callback has signaled it's done. The pre-destroy
hook also marks the track as "about to be destroyed" so any
callback that gets called once the pre-destroy hook has been
called can return immediately.

Change-Id: I4ca69157ff381232c1edc8fb576c6d9e90c2777f
rc/Android.mk
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/AudioTrackProtector.cpp
rc/android/AudioTrackProtector.h
rc/classes.h
rc/itf/IEngine.c
rc/objects/CAudioPlayer.c
rc/sles_allinclusive.h
4c94f69ce3aafc6bafa265fe2ef448c621e66f15 17-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> resolved conflicts for merge of c5dcfeb2 to master

Change-Id: Iff3428cd554c5b5940da8a243c661ae70a92af8d
22cc3b025511d50923a1ff3d6462ff9f2fad0587 17-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> am 30ebe675: Bug 3329759 clean logs, PTS should be unsigned

* commit '30ebe675beff91283cc72d4ee5e94e56ab7e107f':
Bug 3329759 clean logs, PTS should be unsigned
2de28cc2b424a49a440e1d5893beb07086ab0ad7 17-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 4106199 Split libOpenSLES.so & libOpenMAXAL.so" into honeycomb-mr1
527f8ca99f2938d6569fc25dcf3256985a54dec6 16-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 4106199 Split libOpenSLES.so & libOpenMAXAL.so

Change-Id: I718cf6bcfff51a6fb153928eb160a36b4ca9fc96
rc/Android.mk
rc/OpenSLES_IID.c
rc/classes.c
rc/entry.c
rc/sl_entry.c
rc/sl_iid.c
rc/sles_allinclusive.h
rc/xa_entry.c
rc/xa_iid.c
ests/native-media/jni/Android.mk
ests/sandbox/Android.mk
e9236d046fdb5cac0696c42e03443a2439188146 16-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3329759 clean logs, PTS should be unsigned

- Don't pollute logs.
- Save MPEG-2 PTS as an unsigned 64bit value, negative values are
invalid.

Change-Id: I51d427789dd1e42219a63c68159f2e28628f0448
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_LocAVPlayer.cpp
rc/android/android_SfPlayer.cpp
rc/android/android_StreamPlayer.cpp
rc/itf/IAndroidBufferQueue.c
rc/sles_allinclusive.h
ests/sandbox/streamSource/slesTestPlayStream.cpp
9a40703b539028b2dce5a62d94deb81375d75f6a 16-Mar-2011 Glenn Kasten <gkasten@google.com> am 7a713baa: Merge "Bug 4099084 native window data locator" into honeycomb-mr1

* commit '7a713baae6cac3740cc27380f1dc8099dd272470':
Bug 4099084 native window data locator
0f1c886e9bea56ce7b4ccfa58d733b0952942751 16-Mar-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4099084 native window data locator" into honeycomb-mr1
02b00f099a69e1ed58ae901febb7e5c831ec14dd 16-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> am 632d1061: Merge "Bug 3329759 callback mask for TS streaming" into honeycomb-mr1

* commit '632d10616d5d20296d9ea32d4c94d2fc76926534':
Bug 3329759 callback mask for TS streaming
8dcbad0e3d219a28ad0755c77992fcdc74dc3168 16-Mar-2011 Glenn Kasten <gkasten@google.com> am 2e28af68: Bug 4099355 workaround gcc x86 problem

* commit '2e28af68bc8807958ba611c082a0a61691e76a2c':
Bug 4099355 workaround gcc x86 problem
a9a0940d9fc974b5f481bd7385874b3f170431b0 16-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 3329759 callback mask for TS streaming" into honeycomb-mr1
39310fca2e30101fa6e5168da443581cc60c20bf 16-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 4099084 native window data locator

Change-Id: I03cac7501c3f185a2f95395b140b52b695081c4b
rc/Android.mk
rc/data.c
rc/objects/CMediaPlayer.c
ests/native-media/jni/native-media-jni.c
1c853a41d9d9886e60618a7c878ce3912f46bf3c 15-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3329759 callback mask for TS streaming

- declare a "buffer event" item key and the event mask matching
the OpenSL ES 1.1 buffer queue event mask
- added a buffer state field in AdvancedBufferHeader to keep
track of the lifecycle of a buffer in the queue
- in StreamPlayer, store a constant to be sent as the item
each time a buffer is dequeued because it's been processed
- fix bug in playStream test app where after clearing the
queue, the data was read to the last dequeued buffer address,
rather than at the beginning of the cache.

Change-Id: I07141c8a913dfedeb9fde41d80afbce794ab7379
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/itf/IAndroidBufferQueue.c
rc/itf/IEngine.c
rc/itfstruct.h
rc/sles_allinclusive.h
ests/sandbox/streamSource/slesTestPlayStream.cpp
2eac6c23b7bd8985e5bc842b9dec9fa3980dd100 15-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 4099355 workaround gcc x86 problem

Change-Id: Ib9e2fc9eb58bef73772d8c617023f689b514e3a1
rc/Android.mk
rc/itf/IStreamInformation.c
rc/itf/IStreamInformation.cpp
6ba7b990afa11726851c058565c465d3f53fd304 15-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> am 2b7f4d9d: Unbreak the x86 build

* commit '2b7f4d9d3e8f67b93b919f27082d1fd73d969c04':
Unbreak the x86 build
f925f794a1c2c460c9c8409612fa943e983bfb7d 15-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Unbreak the x86 build

Looks like the x86 compiler does't like placement new. Commenting
out offending line until a proper fix (wrap Vector initialization
in another object) is implemented.

Change-Id: Id35cf7845e4fcb10536c2055263805dbf3cce65b
rc/itf/IStreamInformation.c
6e0c1cc74aac0f9289df066f3fc7cc6aab954943 15-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> am fcc99629: Bug 3329759 Implement streamInformation and volume in OpenMAX AL

* commit 'fcc996296bdbf6c3949ad4312991fdde4ae2e157':
Bug 3329759 Implement streamInformation and volume in OpenMAX AL
37dc2fccf3f122b79ebd554de209d0a3c94ae161 09-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3329759 Implement streamInformation and volume in OpenMAX AL

- Implement StreamInformation for video size notification.
- Implement the XAVolumeItf for volume control
- Fix bug in GUID -> MPH hash.
- Fixed typo in GenericPlayer::pause() log
- Do not signal a discontinuity automatically when the ABQ is
cleared because clearing the queue doesn't imply there will
be a discontinuity in the data (e.g. the same data that was
cleared could be reenqueued)
- In "native-media" test app: add test code to exercise the
XAVolumeItf functionality.

Change-Id: I9f69f8cacbdce51b6d96d60141ec1d0f645df991
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
rc/MPH.h
rc/MPH_to.c
rc/OpenSLES_IID.c
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_AudioSfDecoder.cpp
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_SfPlayer.cpp
rc/android/android_StreamPlayer.cpp
rc/android/android_defs.h
rc/autogen/IID_to_MPH.c
rc/autogen/MPH_to_3DGroup.h
rc/autogen/MPH_to_AudioPlayer.h
rc/autogen/MPH_to_AudioRecorder.h
rc/autogen/MPH_to_Engine.h
rc/autogen/MPH_to_LEDDevice.h
rc/autogen/MPH_to_Listener.h
rc/autogen/MPH_to_MediaPlayer.h
rc/autogen/MPH_to_MetadataExtractor.h
rc/autogen/MPH_to_MidiPlayer.h
rc/autogen/MPH_to_OutputMix.h
rc/autogen/MPH_to_Vibra.h
rc/classes.c
rc/classes.h
rc/data.h
rc/interfaces.c
rc/itf/IAndroidBufferQueue.c
rc/itf/IEngine.c
rc/itf/IStreamInformation.c
rc/itfstruct.h
rc/locks.c
rc/sles.c
rc/sles_allinclusive.h
ests/native-media/jni/native-media-jni.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
ools/hashgen/Makefile
ools/hashgen/part6.c
f62485fd570f004d0e336e4c2624a935a4a284cc 14-Mar-2011 Iliyan Malchev <malchev@google.com> system/media: remove LOCAL_PRELINK_MODULE

Change-Id: I55942287d5789a6297ab16f4049f529cb9f9e56c
Signed-off-by: Iliyan Malchev <malchev@google.com>
rc/Android.mk
ests/native-media/jni/Android.mk
f2f18de503fb20e101ce483ff55d5f98dac83f86 11-Mar-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3463332 Unified test/demo of video sink & APIs" into honeycomb-mr1
b66b0745d45f4c0c7620749185f7fb3306804ce3 09-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 3463332 Unified test/demo of video sink & APIs

Note: this only affects test code, nothing in the platform.

Can use for testing Java and native APIs
Video sinks is selectable as Surface (SurfaceView) or SurfaceTexture (GLSurfaceView)
Media source is selectable from drop-down list

Change-Id: I45fe16b672e0783ee89e0985b446b8ecc4f452e3
ests/native-media/Android.mk
ests/native-media/AndroidManifest.xml
ests/native-media/jni/native-media-jni.c
ests/native-media/res/layout/main.xml
ests/native-media/res/values/strings.xml
ests/native-media/src/com/example/nativemedia/MyGLSurfaceView.java
ests/native-media/src/com/example/nativemedia/NativeMedia.java
e7bfcdc183454ec959ff51342f0973cabba219b2 08-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3329759 Implement Clear() and GetState() for MPEG-2 TS

- implemented Clear() in AndroidBufferQueue
- declared and implemented GetState() in AndroidBufferQueue
- fixed typo in AudioPlayer_to_android.cpp that cause a "case"
to be compiled as a label (no unused label warning from
compiler)
- more test in sandbox/streamSource

Change-Id: If4eede16430cda943224bf950669cc105ac2f894
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/itf/IAndroidBufferQueue.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
70c49ae2867094072a4365423417ea452bf82231 07-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3329759 support commands in SLAndroidBufferQueueItf

Support for EOS, DISCONTINUITY, and DISCONTINUITY with
a PTS.

- in IAndroidBufferQueue structure, added buffer type
- modified AdvancedBufferHeader structure to have a buffer
type-specific structure that contains all the items for each
buffer
- added parsing of items when enqueueing a buffer
- enforce buffer size enqueue to be a multiple of MPEG-2 TS
block size for buffer of the corresponding types
- when enqueueing a buffer on an empty queue, implemented
an asynchronous notification on StreamPlayer to consume
the newly queued buffer. Verified this kicks off playback
after having starved the framework for buffers.
- report unknown duration when using AndroidBufferQueue

Change-Id: I9bde97a6c6ffca7d376b4963313b820b35f50a26
nclude/OMXAL/OpenMAXAL_Android.h
rc/Android.mk
rc/android/AndroidBufferQueueSource.cpp
rc/android/AndroidBufferQueueSource.h
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/android/android_defs.h
rc/itf/IAndroidBufferQueue.c
rc/itf/IEngine.c
rc/itfstruct.h
rc/locks.c
rc/sles_allinclusive.h
ests/native-media/jni/native-media-jni.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
ad1ab1d13a9b043202b9d5cdc1d8c4ef66cbbca8 05-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 3329759 Surface texture as video sink

XA_DATALOCATOR_NATIVEDISPLAY now allows either a Surface or SurfaceTexture
together with a JNIEnv *.

Miscellaneous fixes:
- Clarify test button labels.
- Line length 100.
- Fix typos in XA_DATALOCATOR_ANDROIDFD and XA_DATALOCATOR_ANDROIDFD_USE_FILE_SIZE.

Change-Id: I3f3c604dfda3cf66ef7d7adc8689564a83623b2f
nclude/OMXAL/OpenMAXAL_Android.h
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/data.c
rc/objects/CMediaPlayer.c
rc/sles.c
ests/native-media/jni/native-media-jni.c
ests/native-media/res/values/strings.xml
ests/native-media/src/com/example/nativemedia/NativeMedia.java
d158d31a6bbb06426b71c3d097b7768bc3fb79a3 04-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3329759 TS streaming over SLAndroidBufferQueueItf

Modify the SLAndroidBufferQueueItf interface to offer a model
where buffers of data can be queued along with commands
(messages) when used for playback, or buffers of data can be
received along with metadata (messages)

changes:
- new callback and enqueue functions in SLAndroidBufferQueueItf
and XAAndroidBufferQueueItf.
- definition of a new struct, AdvancedBufferHeader, for
the buffers in the queue.
- decoupling of the "buffer available to be filled" from SF
and the call to the ABQ callback. Implemented in new
file AndroidBufferQueueSource.cpp
- source/sink checks and memory allocation when creating an
AudioPlayer or MediaPlayer that uses SLAndroidBufferQueueItf,
and verifying the data fed to the ABQ is declared as
SL_CONTAINERTYPE_MPEG_TS
- updated tests/native-media XA demo code, and
tests/sandbox/streamSource to use the new interface.

Change-Id: I48e44f346e718041d835fde51e349923fcc1f4b1
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
rc/Android.mk
rc/android/AndroidBufferQueueSource.cpp
rc/android/AndroidBufferQueueSource.h
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/classes.h
rc/data.c
rc/data.h
rc/itf/IAndroidBufferQueue.c
rc/itf/IBufferQueue.c
rc/itf/IEngine.c
rc/itf/IPlay.c
rc/itfstruct.h
rc/locks.c
rc/sles.c
rc/sles_allinclusive.h
ests/native-media/jni/native-media-jni.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
e1bdb40cf6e255a6a4a0e996d4236048c059ae4c 24-Feb-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "OpenMAX AL: consolidate MediaPlayer implementations under superclass"
cbdf4caa1c3fa5792fb69be9c6a7490e7cd56f10 24-Feb-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3266825 partial fix"
68d56b8ebaf60184a3aef988e3d2b09ed8b88c05 24-Feb-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL: consolidate MediaPlayer implementations under superclass

The OpenMAX AL MediaPlayer object has two implementations: one
for playing from URI/FD (LocAVPlayer) and one for playing from
AndroidBufferQueue (StreamPlayer). They both inherit from AVPlayer.
This CL makes LocAVPlayer and StreamPlayer inherit from
GenericMediaPlayer (new name of AVPlayer) which encapsulates the
interaction with an android::MediaPlayer instance running in
the media server process.
Also it makes GenericMediaPlayer inherit from GenericPlayer, the
player superclass also used in OpenSL ES.

After this CL, the OpenMAX AL and OpenSL ES have a common class
hierarchy for their players.

Change-Id: I5f6e279fc29b7f6f26c9ed5c83a9455cfda88ff4
rc/Android.mk
rc/android/AudioPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/android_AVPlayer.cpp
rc/android/android_AVPlayer.h
rc/android/android_GenericMediaPlayer.cpp
rc/android/android_GenericMediaPlayer.h
rc/android/android_LocAVPlayer.cpp
rc/android/android_LocAVPlayer.h
rc/android/android_SfPlayer.cpp
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/classes.h
rc/itf/IEngine.c
rc/locks.c
rc/objects/CMediaPlayer.c
rc/sles_allinclusive.h
1fd0cd18598d76e9a0f9e6675e4d988be41644f7 23-Feb-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug in decode to memory example app

Bug in detecting write errors: count and size in fwrite were
swapped, so an error was always reported.

Change-Id: If20276a412d110c2791c50ebc41761d6e1d3386e
ests/examples/slesTestDecodeToBuffQueue.cpp
974beb3f585025e4666f0ea1cc5b13eb49975082 23-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3266825 partial fix

This was a copy/paste bug that caused AddInterface to corrupt the v-table.

Change-Id: I93cd8d58c2a95d1dd9e9f139bc9f4a73d96351ed
rc/itf/IDynamicInterfaceManagement.c
93ac9bd4f7722c50dc9882ff74bade233860a940 14-Feb-2011 Jean-Michel Trivi <jmtrivi@google.com> Report an error when the data source can't be created.

Check the value returned by DataSource::CreateFromURI(uri)

Change-Id: Ia94b18b09c68d1e8bf90d2f1a099319d5f5e565e
rc/android/android_AudioSfDecoder.cpp
ebd4303bd8fb9f1c6a61ff66332248a43b781df5 12-Feb-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenSL ES: add demo app for decode to PCM buffer queue.

Example for the decoding of a compressed file to PCM, saved in
a .raw file as the decoded buffers are received through a
buffer queue.

Change-Id: Ia44078e00569e6aa1f14ab3eaa2b2ebfb07b709d
ests/examples/Android.mk
ests/examples/slesTestDecodeToBuffQueue.cpp
13837cf3f7be0eb8b1a9552bd99a89f98c987720 01-Feb-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenSL ES: support decode to PCM buffer queue

Created a new audio player class, APlayer, from which we derive
subclasses to encapsulate OpenSL ES AudioPlayer implementations:
- ASfPlayer derives from APlayer and encapsulates StageFright
functionality for audio decoding to a buffer
- ADecoder derives from ASfPlayer and encapsulates rendering
the decoded audio data to a callback function. It interfaces
with the OpenSL ES Buffer Queue interface to pass the decoded
data back to an OpenSL ES application.

For OpenSL ES, to support decoding to a Buffer Queue, we now
allow an AudioPlayer to have its sink be a PCM buffer queue.

Change-Id: I9aefeb0375a71f7ca770c5c62b4fb8faf59c9c23
rc/Android.mk
rc/android/AudioPlayer_to_android.cpp
rc/android/android_AVPlayer.cpp
rc/android/android_AVPlayer.h
rc/android/android_AudioSfDecoder.cpp
rc/android/android_AudioSfDecoder.h
rc/android/android_AudioToCbRenderer.cpp
rc/android/android_AudioToCbRenderer.h
rc/android/android_GenericPlayer.cpp
rc/android/android_GenericPlayer.h
rc/android/android_SfPlayer.cpp
rc/android/android_SfPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/android/android_defs.h
rc/android/android_prompts.h
rc/classes.h
rc/data.c
rc/itf/IEngine.c
rc/objects/CAudioPlayer.c
rc/sles_allinclusive.h
329049e8a6f2950da79d7fc5904ef4679e5e7574 30-Jan-2011 The Android Open Source Project <initial-contribution@android.com> am b372117a: Reconcile gingerbread-plus-aosp and honeycomb

* commit 'b372117a203bb8942e2985d57b3dcec5f0ece745':
8cd5852816ef66a16d39be429732521f361cd6bd 30-Jan-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile gingerbread-plus-aosp and honeycomb

Change-Id: Id6a4042483e3c5d9bdba600ec06f11596212d838
730452367faceaf818d1465fe816a8f049e4d623 30-Jan-2011 The Android Open Source Project <initial-contribution@android.com> Mass merge from gingerbread - do not merge

Change-Id: Ibdf926e21c60db22344c1dd8d9a6a3ab3fbc4bb9
fec41f58c617758a57cb02dd8be25b5d19a262d1 29-Jan-2011 Glenn Kasten <gkasten@google.com> am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun

* commit '4c2bc0fd150b0164f9f387214c29143346a92e14':
Bug 3388299 Fix stack buffer overrun
2c3bcffe7882b5d8a7d5ea590c9df2755daf7fa8 29-Jan-2011 Glenn Kasten <gkasten@google.com> am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

* commit '062b7b45b27c6bfffc494af21382d7fa7a8d2d82':
Bug 3326605: AudioRecorder uses wrong channel mask
1f314d2c5f1035f57d482577329b7e99a46fecd8 29-Jan-2011 Jean-Baptiste Queru <jbq@google.com> Merge/ignore 28d27b96 from gingerbread

Change-Id: I25fd80f057b9a5b901f5353c296238a0f1ddf4d8
f948dd7f299422536a873188963fff016b433ac9 28-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Add more test cases to reverb test"
04186529e0bcdfa543aa67013fb6d44bf4a1fbbe 25-Jan-2011 Glenn Kasten <gkasten@google.com> Add more test cases to reverb test

Change-Id: Ia0970ebd8e182a45157a6edbef762f2350605a9b
ests/sandbox/reverb.c
b7c7c97af356b9ed540c8e2cb088764418d92825 27-Jan-2011 Glenn Kasten <gkasten@google.com> am 06344973: am 04f8400d: am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun

* commit '06344973a341379cb08d6f49a6cdae1ac5dd110d':
Bug 3388299 Fix stack buffer overrun
5edb6bb67bc11cbe0657c87badd29c765086a7b9 27-Jan-2011 Glenn Kasten <gkasten@google.com> am 04f8400d: am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun

* commit '04f8400dae4e9c26e8e6bdf707513304cd5bc5df':
Bug 3388299 Fix stack buffer overrun
ec05e3b309884946e119450d66473e56894682c9 27-Jan-2011 Glenn Kasten <gkasten@google.com> am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun

* commit '4c2bc0fd150b0164f9f387214c29143346a92e14':
Bug 3388299 Fix stack buffer overrun
b89e87f24339837bd7ee1840c76b8c717a3fd72c 26-Jan-2011 Glenn Kasten <gkasten@google.com> am 47f6611b: am e619a697: Bug 3388299 Fix stack buffer overrun

* commit '47f6611b7356f0a70ba73d440991a7c94742d43d':
Bug 3388299 Fix stack buffer overrun
6099efb80ab1ba3078ec35fa692e1e8d1dffaf65 26-Jan-2011 Glenn Kasten <gkasten@google.com> am e619a697: Bug 3388299 Fix stack buffer overrun

* commit 'e619a697ededd37b3645c3970a4f71af7d663524':
Bug 3388299 Fix stack buffer overrun
778bd8b7c917a601781542993cd274ff4fd254b7 25-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3388299 Fix stack buffer overrun

Change-Id: Ie8c525ddee862b32f2055cb89c10a680f0c14f97
ibopensles/android_Effect.cpp
b89abc748d90fcd1ff855c536cb03a714103a4c4 25-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3388299 Fix stack buffer overrun

Change-Id: I715affa4f6599afabc0bc9b56981edce2edcc95b
rc/android/android_Effect.cpp
af62bc2bb88dc312f3a7788361b12d6305cdab97 26-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3388299 Fix stack buffer overrun"
4e1412ba1d9e74e51a01d34b1c588166d68e4332 25-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3388299 Fix stack buffer overrun

Change-Id: I22bf369b42faf04ef5bdc7ca8ebca3d31add2ad6
rc/android/android_Effect.cpp
706f53468b8f579605735dc1a8ec785cb4877a1e 25-Jan-2011 Glenn Kasten <gkasten@google.com> am a5aa1d64: am bfa9fb97: am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

* commit 'a5aa1d64c7469f22305fc429854a585c3c85d4df':
Bug 3326605: AudioRecorder uses wrong channel mask
d221d203f715dfa0cb386f1266c1b54259777611 25-Jan-2011 Glenn Kasten <gkasten@google.com> am bfa9fb97: am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

* commit 'bfa9fb977e1e9a89f198571ab84f2fb198f72556':
Bug 3326605: AudioRecorder uses wrong channel mask
a4bc96e43163fa473054f4523c6208089c6ee21e 25-Jan-2011 Glenn Kasten <gkasten@google.com> am fa2a25a6: resolved conflicts for merge of 4ecd13c7 to honeycomb-plus-aosp

* commit 'fa2a25a630e026796c095bbfbf0ee148a1df91c8':
Bug 3360707
fed820e956d12704aef2f509164b71002df1291a 25-Jan-2011 Glenn Kasten <gkasten@google.com> resolved conflicts for merge of 4ecd13c7 to honeycomb-plus-aosp

Change-Id: I536a8136afd7f92606a93b7d423499445eb89ae8
329060a3bbd4a7915fd50d1af1c3f0017dfef5d0 23-Jan-2011 Glenn Kasten <gkasten@google.com> am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

* commit '062b7b45b27c6bfffc494af21382d7fa7a8d2d82':
Bug 3326605: AudioRecorder uses wrong channel mask
9c7e37decdd95a87c792ceb152ee928c6e30dc87 23-Jan-2011 Glenn Kasten <gkasten@google.com> am 28d27b96: Bug 3360707

* commit '28d27b961d0ee209865046237edc03537d0f25f1':
Bug 3360707
50df629390839aff02861cb54176fa6dfe4c9e80 23-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread
503ec3c272ca92e3d59ec2a303df005eac3cccda 06-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3326605: AudioRecorder uses wrong channel mask

Change-Id: I2121211b0202bc39100d74232d63be94c7e8a8de
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/android_sles_conversions.h
f0e1d16f0918bdf9ad7d14ed5c5bb35969774d6c 16-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3360707

Change-Id: Ib40d8813ac713d09ed7b298521fada1a35ecb1d4
ibopensles/IAndroidEffectSend.c
2d427f091ef1cf6c1694e3ee5f3521166502a7b1 19-Jan-2011 Glenn Kasten <gkasten@google.com> am 50bccde0: Rename class__ to clazz, this to thiz

* commit '50bccde01980ae803b8656e8b08ecacb65540f50':
Rename class__ to clazz, this to thiz
bcc5c7225e3b7a1dbf2e9e830987f69167acf06f 18-Jan-2011 Glenn Kasten <gkasten@google.com> Rename class__ to clazz, this to thiz

The JNI naming conventions avoid conflict with C++ reserved words.

Change-Id: I93ad6920bf78c0a02ac4b2650a29c9e11252f731
rc/android/android_AVPlayer.cpp
rc/android/android_LocAVPlayer.cpp
rc/android/android_SfPlayer.cpp
rc/android/android_StreamPlayer.cpp
rc/data.c
rc/data.h
rc/desktop/OutputMixExt.h
rc/desktop/SLSndFile.h
rc/desktop/SndFile.c
rc/entry.c
rc/itf/I3DCommit.c
rc/itf/I3DDoppler.c
rc/itf/I3DGrouping.c
rc/itf/I3DLocation.c
rc/itf/I3DMacroscopic.c
rc/itf/I3DSource.c
rc/itf/IAndroidBufferQueue.c
rc/itf/IAndroidConfiguration.c
rc/itf/IAndroidEffect.cpp
rc/itf/IAndroidEffectCapabilities.c
rc/itf/IAndroidEffectSend.c
rc/itf/IAudioDecoderCapabilities.c
rc/itf/IAudioEncoder.c
rc/itf/IAudioEncoderCapabilities.c
rc/itf/IAudioIODeviceCapabilities.c
rc/itf/IBassBoost.c
rc/itf/IBufferQueue.c
rc/itf/IDeviceVolume.c
rc/itf/IDynamicInterfaceManagement.c
rc/itf/IDynamicSource.c
rc/itf/IEffectSend.c
rc/itf/IEngine.c
rc/itf/IEngineCapabilities.c
rc/itf/IEnvironmentalReverb.c
rc/itf/IEqualizer.c
rc/itf/ILEDArray.c
rc/itf/IMIDIMessage.c
rc/itf/IMIDIMuteSolo.c
rc/itf/IMIDITempo.c
rc/itf/IMIDITime.c
rc/itf/IMetadataExtraction.c
rc/itf/IMetadataTraversal.c
rc/itf/IMuteSolo.c
rc/itf/IObject.c
rc/itf/IOutputMix.c
rc/itf/IOutputMixExt.c
rc/itf/IPitch.c
rc/itf/IPlay.c
rc/itf/IPlaybackRate.c
rc/itf/IPrefetchStatus.c
rc/itf/IPresetReverb.c
rc/itf/IRatePitch.c
rc/itf/IRecord.c
rc/itf/ISeek.c
rc/itf/IStreamInformation.c
rc/itf/IThreadSync.c
rc/itf/IVibra.c
rc/itf/IVirtualizer.c
rc/itf/IVisualization.c
rc/itf/IVolume.c
rc/locks.c
rc/locks.h
rc/objects/C3DGroup.c
rc/objects/CAudioPlayer.c
rc/objects/CAudioRecorder.c
rc/objects/CEngine.c
rc/objects/CMediaPlayer.c
rc/objects/COutputMix.c
rc/sles.c
rc/sles_allinclusive.h
rc/sync.c
43c05e200048d0ecbf5c9b0b450002471b6982d7 19-Jan-2011 Glenn Kasten <gkasten@google.com> am 7110872a: Merge "Replace obsolete comment" into honeycomb

* commit '7110872a4d1fa5b7be18b3529523a7fd91f3cc58':
Replace obsolete comment
8f3e6067ad19fd61925f26dd8185b853986226df 19-Jan-2011 Glenn Kasten <gkasten@google.com> am ce2466b3: Merge "JNI is obsolete" into honeycomb

* commit 'ce2466b32a38c3a4cd54e5f05b69c650cb719525':
JNI is obsolete
c4af4961ac7c29df9afdbe111c782e530cab3ce4 19-Jan-2011 Bryan Mawhinney <bryanmawhinney@google.com> am 7672988d: Minor API change in NuCachedSource2

* commit '7672988d52b27a5c6579543efd48a564e0c459d8':
Minor API change in NuCachedSource2
4614db004f8992f7d710cb8d47550f66bce0a9d2 18-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Replace obsolete comment" into honeycomb
ff670d117cff8462a05f15b4bcc2031f00c88148 18-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "JNI is obsolete" into honeycomb
cfc9374b5957ffa056e9cc0ae9beb164c64bdce0 18-Jan-2011 Glenn Kasten <gkasten@google.com> JNI is obsolete

Change-Id: Ic89b9b8875af6ce13cd96d8c0c944e8878805093
rc/Android.mk
rc/objects/CMediaPlayer.c
00076e55f1cd719866004237f1603e5403e215ab 18-Jan-2011 Glenn Kasten <gkasten@google.com> Replace obsolete comment

Change-Id: I9eb825ece4562d1af742f0851da77c5c9811fe17
rc/MPH_to.c
33381582280416166c8d0242deb8cdad7a5882dd 18-Jan-2011 Bryan Mawhinney <bryanmawhinney@google.com> Minor API change in NuCachedSource2

approxDataRemaining now returns more info about the stream status.

Change-Id: I5549edb3765eb07fcfa5340b8755263e0e0ee196
rc/android/android_SfPlayer.cpp
70a060e1bbeeeb742a5f58cd9436f9a059be6dff 17-Jan-2011 Glenn Kasten <gkasten@google.com> am cd087fad: This bug caught in code review (not used yet)

* commit 'cd087fadb8876b06f160f77938c30dbf58c8b21b':
This bug caught in code review (not used yet)
eec920e375c5c4b7ea6e8f2e32547c37d45c0758 17-Jan-2011 Glenn Kasten <gkasten@google.com> am 2eccd4f7: Merge "SMP safety: can\'t peek/poke without a barrier" into honeycomb

* commit '2eccd4f74f1cdaa1eb9bdaef849bfbbf9f1fe810':
SMP safety: can't peek/poke without a barrier
f8538070773917e7f84c2ea54803b3e18e093459 17-Jan-2011 Glenn Kasten <gkasten@google.com> am 7252d851: Merge "Re-build the autogen files" into honeycomb

* commit '7252d851cf25973dea25e7c4695ffdb2b76ba508':
Re-build the autogen files
d754f64b2974640fba1dcef9440615b7901e741e 17-Jan-2011 Glenn Kasten <gkasten@google.com> am 01a4e4fc: Bug 3360707

* commit '01a4e4fc58aa22b1381e370c745ea26bca56dad1':
Bug 3360707
86f60279e18a4b8db0c8055ef9c7568456acac60 16-Jan-2011 Glenn Kasten <gkasten@google.com> This bug caught in code review (not used yet)

Change-Id: I544447d7a91909258a7d43da1e42e1c98b638c19
rc/itf/IVibra.c
a4ddda6136a851036df28ae9b160e63d26adedf5 16-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "SMP safety: can't peek/poke without a barrier" into honeycomb
2b80a23b869a28396711a32d60afa992bdbd8984 16-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Re-build the autogen files" into honeycomb
8ca039e1f9d95f8b14a59e135426882e3470e9d9 16-Jan-2011 Glenn Kasten <gkasten@google.com> Re-build the autogen files

Change-Id: Ifd6f97a61168833ae34e8df8f6a6a79df9a9bcd5
rc/MPH.h
rc/MPH_to.c
rc/MPH_to.h
rc/OpenSLES_IID.c
rc/autogen/IID_to_MPH.c
rc/autogen/MPH_to_3DGroup.h
rc/autogen/MPH_to_AudioPlayer.h
rc/autogen/MPH_to_AudioRecorder.h
rc/autogen/MPH_to_Engine.h
rc/autogen/MPH_to_LEDDevice.h
rc/autogen/MPH_to_Listener.h
rc/autogen/MPH_to_MediaPlayer.h
rc/autogen/MPH_to_MetadataExtractor.h
rc/autogen/MPH_to_MidiPlayer.h
rc/autogen/MPH_to_OutputMix.h
rc/autogen/MPH_to_Vibra.h
rc/interfaces.c
5c8bd83295b2752bb7ac34f83dfb19dcdb1be5e5 16-Jan-2011 Glenn Kasten <gkasten@google.com> SMP safety: can't peek/poke without a barrier

Change-Id: I97a78322b7b93440ad989b7a6aef4ba3c48a2b7f
rc/itf/IAndroidEffectCapabilities.c
rc/locks.h
rc/objects/CEngine.c
b4b857ba9ede4cd0f7185c50d34217b06182ee7b 16-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3360707

Change-Id: I4a021ba7fa1f3807a658ee1336bf32b9d6728f3e
rc/itf/IAndroidEffectSend.c
105e1b828063c07e000e642d225881bdcd93f4de 13-Jan-2011 Glenn Kasten <gkasten@google.com> Update SDK level on master branch only

Change-Id: I15f5976ba656673112f2d1ab006fe417a4fccd22
rc/itf/IEngine.c
ffc2be5f612ba3f5014a0559b90363dada7ab49e 13-Jan-2011 Glenn Kasten <gkasten@google.com> am a855cb96: Merge "Make symlink for libOpenMAXAL.so" into honeycomb

* commit 'a855cb9668ddb11d1cf5fca0d13861174d564ea3':
Make symlink for libOpenMAXAL.so
e648adb1eb6022663b3a695710b036bc92dae111 13-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Make symlink for libOpenMAXAL.so" into honeycomb
64e0e9fcadaa738d7145c07c20c67d123e4e7cda 13-Jan-2011 Glenn Kasten <gkasten@google.com> Make symlink for libOpenMAXAL.so

Change-Id: I06cb66a30a1a543d2c6f7b93428d29d1b90edb2a
rc/Android.mk
534f9d902af70185f804b91652aeb06c6ceb2a12 13-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am 551f769e: More file renames and header inclusion reorder

* commit '551f769ee0234ca22c97dbbf84d87f2c1e19fa80':
More file renames and header inclusion reorder
b2aeb0f1009555181dabb944fe05901cb6e6f632 12-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> More file renames and header inclusion reorder

More file renames and include reordering to separate Android
classes, and the mapping of the C OpenSL ES and OpenMAX AL
function calls to the Android implementation.

Change-Id: Id6f63af80bd581ed9cab495e2c11a86589ecf6c9
rc/Android.mk
rc/android/AudioPlayer_to_android.cpp
rc/android/AudioPlayer_to_android.h
rc/android/AudioRecorder_to_android.cpp
rc/android/AudioRecorder_to_android.h
rc/android/MediaPlayer_to_android.cpp
rc/android/MediaPlayer_to_android.h
rc/android/OutputMix_to_android.cpp
rc/android/OutputMix_to_android.h
rc/android/android_AudioPlayer.cpp
rc/android/android_AudioPlayer.h
rc/android/android_AudioRecorder.cpp
rc/android/android_AudioRecorder.h
rc/android/android_OutputMix.cpp
rc/android/android_OutputMix.h
rc/android/android_Player.cpp
rc/android/android_Player.h
rc/android/android_defs.h
rc/classes.h
rc/sles_allinclusive.h
a164a1fb77cebf71e004ed1da6586d4608d0a414 12-Jan-2011 Glenn Kasten <gkasten@google.com> am 439af19a: Directory re-organization

* commit '439af19ad7484b0472080e8eb0cd8462a17b0286':
Directory re-organization
262059f71a68edc5e510427c63f5f1623d3672a8 12-Jan-2011 Glenn Kasten <gkasten@google.com> Directory re-organization

Change-Id: I8e3f12a22e765d36ddefd87edf204735b25474f6
oc/Doxyfile
ibopensles/Android.mk
ibopensles/C3DGroup.c
ibopensles/CAudioPlayer.c
ibopensles/CAudioRecorder.c
ibopensles/CEngine.c
ibopensles/CMediaPlayer.c
ibopensles/COutputMix.c
ibopensles/I3DCommit.c
ibopensles/I3DDoppler.c
ibopensles/I3DGrouping.c
ibopensles/I3DLocation.c
ibopensles/I3DMacroscopic.c
ibopensles/I3DSource.c
ibopensles/IAndroidBufferQueue.c
ibopensles/IAndroidConfiguration.c
ibopensles/IAndroidEffect.cpp
ibopensles/IAndroidEffectCapabilities.c
ibopensles/IAndroidEffectSend.c
ibopensles/IAudioDecoderCapabilities.c
ibopensles/IAudioEncoder.c
ibopensles/IAudioEncoderCapabilities.c
ibopensles/IAudioIODeviceCapabilities.c
ibopensles/IBassBoost.c
ibopensles/IBufferQueue.c
ibopensles/IDeviceVolume.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IDynamicSource.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IEqualizer.c
ibopensles/IID_to_MPH.c
ibopensles/ILEDArray.c
ibopensles/IMIDIMessage.c
ibopensles/IMIDIMuteSolo.c
ibopensles/IMIDITempo.c
ibopensles/IMIDITime.c
ibopensles/IMetadataExtraction.c
ibopensles/IMetadataTraversal.c
ibopensles/IMuteSolo.c
ibopensles/IObject.c
ibopensles/IOutputMix.c
ibopensles/IOutputMixExt.c
ibopensles/IPitch.c
ibopensles/IPlay.c
ibopensles/IPlaybackRate.c
ibopensles/IPrefetchStatus.c
ibopensles/IPresetReverb.c
ibopensles/IRatePitch.c
ibopensles/IRecord.c
ibopensles/ISeek.c
ibopensles/IStreamInformation.c
ibopensles/IThreadSync.c
ibopensles/IVibra.c
ibopensles/IVirtualizer.c
ibopensles/IVisualization.c
ibopensles/IVolume.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/MPH_to.h
ibopensles/MPH_to_3DGroup.h
ibopensles/MPH_to_AudioPlayer.h
ibopensles/MPH_to_AudioRecorder.h
ibopensles/MPH_to_Engine.h
ibopensles/MPH_to_LEDDevice.h
ibopensles/MPH_to_Listener.h
ibopensles/MPH_to_MediaPlayer.h
ibopensles/MPH_to_MetadataExtractor.h
ibopensles/MPH_to_MidiPlayer.h
ibopensles/MPH_to_OutputMix.h
ibopensles/MPH_to_Vibra.h
ibopensles/OpenSLESUT.c
ibopensles/OpenSLESUT.h
ibopensles/OpenSLES_IID.c
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/SLSndFile.h
ibopensles/SndFile.c
ibopensles/ThreadPool.c
ibopensles/ThreadPool.h
ibopensles/android_AVPlayer.cpp
ibopensles/android_AVPlayer.h
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_AudioRecorder.cpp
ibopensles/android_AudioRecorder.h
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/android_LocAVPlayer.cpp
ibopensles/android_LocAVPlayer.h
ibopensles/android_OutputMix.cpp
ibopensles/android_OutputMix.h
ibopensles/android_Player.cpp
ibopensles/android_Player.h
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/android_defs.h
ibopensles/android_prompts.h
ibopensles/android_sles_conversions.h
ibopensles/classes.c
ibopensles/classes.h
ibopensles/data.c
ibopensles/data.h
ibopensles/devices.c
ibopensles/devices.h
ibopensles/entry.c
ibopensles/interfaces.c
ibopensles/itfstruct.h
ibopensles/locks.c
ibopensles/locks.h
ibopensles/platform.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/slesutResult.c
ibopensles/sllog.c
ibopensles/sllog.h
ibopensles/sync.c
ibopensles/trace.c
ibopensles/trace.h
rc/Android.mk
rc/MPH.h
rc/MPH_to.c
rc/MPH_to.h
rc/OpenSLES_IID.c
rc/README.txt
rc/ThreadPool.c
rc/ThreadPool.h
rc/android/android_AVPlayer.cpp
rc/android/android_AVPlayer.h
rc/android/android_AudioPlayer.cpp
rc/android/android_AudioPlayer.h
rc/android/android_AudioRecorder.cpp
rc/android/android_AudioRecorder.h
rc/android/android_Effect.cpp
rc/android/android_Effect.h
rc/android/android_LocAVPlayer.cpp
rc/android/android_LocAVPlayer.h
rc/android/android_OutputMix.cpp
rc/android/android_OutputMix.h
rc/android/android_Player.cpp
rc/android/android_Player.h
rc/android/android_SfPlayer.cpp
rc/android/android_SfPlayer.h
rc/android/android_StreamPlayer.cpp
rc/android/android_StreamPlayer.h
rc/android/android_defs.h
rc/android/android_prompts.h
rc/android/android_sles_conversions.h
rc/autogen/IID_to_MPH.c
rc/autogen/MPH_to_3DGroup.h
rc/autogen/MPH_to_AudioPlayer.h
rc/autogen/MPH_to_AudioRecorder.h
rc/autogen/MPH_to_Engine.h
rc/autogen/MPH_to_LEDDevice.h
rc/autogen/MPH_to_Listener.h
rc/autogen/MPH_to_MediaPlayer.h
rc/autogen/MPH_to_MetadataExtractor.h
rc/autogen/MPH_to_MidiPlayer.h
rc/autogen/MPH_to_OutputMix.h
rc/autogen/MPH_to_Vibra.h
rc/classes.c
rc/classes.h
rc/data.c
rc/data.h
rc/desktop/OutputMixExt.h
rc/desktop/SDL.c
rc/desktop/SLSndFile.h
rc/desktop/SndFile.c
rc/devices.c
rc/devices.h
rc/entry.c
rc/interfaces.c
rc/itf/I3DCommit.c
rc/itf/I3DDoppler.c
rc/itf/I3DGrouping.c
rc/itf/I3DLocation.c
rc/itf/I3DMacroscopic.c
rc/itf/I3DSource.c
rc/itf/IAndroidBufferQueue.c
rc/itf/IAndroidConfiguration.c
rc/itf/IAndroidEffect.cpp
rc/itf/IAndroidEffectCapabilities.c
rc/itf/IAndroidEffectSend.c
rc/itf/IAudioDecoderCapabilities.c
rc/itf/IAudioEncoder.c
rc/itf/IAudioEncoderCapabilities.c
rc/itf/IAudioIODeviceCapabilities.c
rc/itf/IBassBoost.c
rc/itf/IBufferQueue.c
rc/itf/IDeviceVolume.c
rc/itf/IDynamicInterfaceManagement.c
rc/itf/IDynamicSource.c
rc/itf/IEffectSend.c
rc/itf/IEngine.c
rc/itf/IEngineCapabilities.c
rc/itf/IEnvironmentalReverb.c
rc/itf/IEqualizer.c
rc/itf/ILEDArray.c
rc/itf/IMIDIMessage.c
rc/itf/IMIDIMuteSolo.c
rc/itf/IMIDITempo.c
rc/itf/IMIDITime.c
rc/itf/IMetadataExtraction.c
rc/itf/IMetadataTraversal.c
rc/itf/IMuteSolo.c
rc/itf/IObject.c
rc/itf/IOutputMix.c
rc/itf/IOutputMixExt.c
rc/itf/IPitch.c
rc/itf/IPlay.c
rc/itf/IPlaybackRate.c
rc/itf/IPrefetchStatus.c
rc/itf/IPresetReverb.c
rc/itf/IRatePitch.c
rc/itf/IRecord.c
rc/itf/ISeek.c
rc/itf/IStreamInformation.c
rc/itf/IThreadSync.c
rc/itf/IVibra.c
rc/itf/IVirtualizer.c
rc/itf/IVisualization.c
rc/itf/IVolume.c
rc/itfstruct.h
rc/locks.c
rc/locks.h
rc/objects/C3DGroup.c
rc/objects/CAudioPlayer.c
rc/objects/CAudioRecorder.c
rc/objects/CEngine.c
rc/objects/CMediaPlayer.c
rc/objects/COutputMix.c
rc/platform.h
rc/sles.c
rc/sles_allinclusive.h
rc/sllog.c
rc/sllog.h
rc/sync.c
rc/trace.c
rc/trace.h
rc/ut/OpenSLESUT.c
rc/ut/OpenSLESUT.h
rc/ut/slesutResult.c
ests/Android.mk
ests/automated/Android.mk
ests/examples/Android.mk
ests/listening/Android.mk
ests/mimeUri/Android.mk
ests/native-media/jni/Android.mk
ests/sandbox/Android.mk
ests/sandbox/streamSource/Android.mk
ools/hashgen/Makefile
ools/hashgen/README.txt
ools/mphtogen/Makefile
ools/mphtogen/mphtogen.c
50ef20783915cb0bcba435a6afdc8fccc0b5cc1c 12-Jan-2011 Glenn Kasten <gkasten@google.com> am a721aa02: Merge "AudioRecorder source format should be NULL not PCM" into honeycomb

* commit 'a721aa02e8b445daab78b1bf95c8458e9c3d0752':
AudioRecorder source format should be NULL not PCM
4b89f5845947e293ba6a33d336f6d58cbcb9cb0c 12-Jan-2011 Glenn Kasten <gkasten@google.com> am 9d9456e5: Merge "Ignore the pFormat in some cases per spec" into honeycomb

* commit '9d9456e5a395298cd24f85430a8566c1b075dc46':
Ignore the pFormat in some cases per spec
6b158877242b43a0c0f63b56b035c74207b71a34 12-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "AudioRecorder source format should be NULL not PCM" into honeycomb
1ac1f38f93ec275ba8bf394abc747970f795ba5b 12-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Ignore the pFormat in some cases per spec" into honeycomb
ad9bbd05bdfe671418b4d60a929e16ecec891e44 12-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am 331e70b5: OpenMAX AL: support URI and FD as data sources for MediaPlayer

* commit '331e70b5c675222bbd122f7ae515dbda631040fe':
OpenMAX AL: support URI and FD as data sources for MediaPlayer
e670554ea199eef745740eaccc176ff283b0cd10 12-Jan-2011 Glenn Kasten <gkasten@google.com> Ignore the pFormat in some cases per spec

Change-Id: Iac14c558fa7410a4b3de5c89f9e5d475404efcea
ibopensles/data.c
ests/sandbox/srcsink.c
97876858aa17c7f24c6a1d60be09a57bc1824ba3 11-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL: support URI and FD as data sources for MediaPlayer

Add ANDROIDFD as a data locator in OpenMAX AL

Implement playback of URI and FD in the LocAVPlayer class, that
inherits from AVPlayer

Fix bug where Android MediaPlayer resources were not destroyed
when the MediaPlayer object was destroyed.

Share URI and FD internal type definitions between SL and AL

Change-Id: I01d0d170baea4961f09b44339c99a79feba4620d
nclude/OMXAL/OpenMAXAL_Android.h
ibopensles/Android.mk
ibopensles/CMediaPlayer.c
ibopensles/android_AVPlayer.cpp
ibopensles/android_AudioPlayer.cpp
ibopensles/android_LocAVPlayer.cpp
ibopensles/android_LocAVPlayer.h
ibopensles/android_Player.cpp
ibopensles/android_Player.h
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/android_StreamPlayer.h
ibopensles/android_defs.h
ibopensles/sles_allinclusive.h
35c82a8173d1fcc18ae0bc08954a018bfce041de 11-Jan-2011 Glenn Kasten <gkasten@google.com> AudioRecorder source format should be NULL not PCM

Change-Id: I4bfdfa3700685f1705e0430fd4fe15b51ab9cefb
ests/examples/slesTestFeedback.cpp
390cbc8c54285f1cf927ca1db7c8c25c11352fcf 11-Jan-2011 Glenn Kasten <gkasten@google.com> am b11def02: Squashed commit of 9 cherry-picks from master

* commit 'b11def0293629d4d44ddbcd8a27c63504fd80ce1':
Squashed commit of 9 cherry-picks from master
1d081e49a10543018e1ae33792bd3d30504719ba 05-Jan-2011 Glenn Kasten <gkasten@google.com> Squashed commit of 9 cherry-picks from master

Android SDK level report is the highest available

Fix bug in seek torture test
This was found because we now do better checking of data locators.

Comment out and decrease log level for play state

Improve error handling and help message in test

Include data source or sink name in log messages

Bug 3326605: AudioRecorder uses wrong channel mask

Don't overwrite previous error in locator check

OpenSLESUT.h is not (yet) a supported header
so remove the symlink from the SLES/ directory

Shared engine between OpenSL ES and OpenMAX AL
nclude/SLES/OpenSLESUT.h
ibopensles/C3DGroup.c
ibopensles/CAudioPlayer.c
ibopensles/CAudioRecorder.c
ibopensles/CEngine.c
ibopensles/CMediaPlayer.c
ibopensles/COutputMix.c
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/IPlay.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/android_Player.cpp
ibopensles/android_sles_conversions.h
ibopensles/data.c
ibopensles/entry.c
ibopensles/sles_allinclusive.h
ests/automated/Android.mk
ests/automated/BufferQueue_test.cpp
ests/listening/seekTorture.c
ests/mimeUri/slesTestPlayStreamType.cpp
ests/sandbox/Android.mk
ests/sandbox/dual.c
ests/sandbox/engine.c
ests/sandbox/object.c
ests/sandbox/outputmix.c
ests/sandbox/xa.c
b8738cd33a43cf03f67534dd7ea567d1354cfcce 11-Jan-2011 Glenn Kasten <gkasten@google.com> Shared engine between OpenSL ES and OpenMAX AL

Change-Id: Idaee7eeb37be1c00ab8c0cf7976163831eb0fb23
ibopensles/C3DGroup.c
ibopensles/CAudioPlayer.c
ibopensles/CAudioRecorder.c
ibopensles/CEngine.c
ibopensles/CMediaPlayer.c
ibopensles/COutputMix.c
ibopensles/IObject.c
ibopensles/android_Player.cpp
ibopensles/entry.c
ibopensles/sles_allinclusive.h
ests/sandbox/Android.mk
ests/sandbox/dual.c
ests/sandbox/engine.c
ests/sandbox/xa.c
2e2ecde34f13a1a06b5ffb5d83d0868ac04ba676 10-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am 17e76190: OpenMAX AL: declare the XAAndroidSimpleBufferQueueItf interface.

* commit '17e76190c96758588a583d1fa1769246c175b420':
OpenMAX AL: declare the XAAndroidSimpleBufferQueueItf interface.
cf2da05defcb5d6e559c4e2aeeef415695c9f4bd 09-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am 871ed9a3: OpenMAX AL: start implementation of XAStreamInformationItf

* commit '871ed9a3f3fff7ea1392c5da8f475144a6e431b3':
OpenMAX AL: start implementation of XAStreamInformationItf
d1fc9c0e89a9d2fd40ba4c48927a47b30ade637d 09-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL: declare the XAAndroidSimpleBufferQueueItf interface.

Identical to the SLAndroidSimpleBufferQueueItf interface, with
OpenMAX AL types.

Change-Id: Iefc4f9ffc72f85f543f258d7906367cfedfb9e0b
nclude/OMXAL/OpenMAXAL_Android.h
321f2cffd7dd560bf2e5c898be6953e19bed8496 09-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL: start implementation of XAStreamInformationItf

XAStreamInformationItf is to be used for video size notifications.

Change-Id: I6b0d6b186772b4a66188fba7e4624092cef55c3a
ibopensles/Android.mk
ibopensles/IStreamInformation.c
ibopensles/MPH.h
ibopensles/OpenSLES_IID.c
ibopensles/android_Player.cpp
ibopensles/classes.h
ibopensles/data.h
ibopensles/itfstruct.h
a5b99be52904a3a47946a518faffcb346dad1cb7 07-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am c09fe859: OpenMAX AL example: remove useless includes

* commit 'c09fe859aabccb8b18e6c857d087686b37d48c1f':
OpenMAX AL example: remove useless includes
694507e6e973ae923fd805b926eb4f31546689fc 07-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am dd6b8e09: Initialize video surface from native window

* commit 'dd6b8e09370c75d58e51ae547c2a9d858861a26a':
Initialize video surface from native window
f183d0fd23f1c0f45ceaf280d404f1b0709a699a 07-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL example: remove useless includes

It's no longer necessary to include the OpenSL ES headers in
an OpenMAX AL application for the declaration of
XA_IID_ANDROIDBUFFERQUEUE.

Change-Id: I2077997087ff23db033ab69c498daf8eaaffedc9
ests/native-media/jni/native-media-jni.c
15c2b7a565e375c59209667977b94d3a8b3bf89c 06-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> Initialize video surface from native window

When configuring the MediaPlayer object, use the ANativeWindow
pointer given as the video sink to get the display Surface pointer.

Change-Id: I0f78b7634152150ff31bfa096b8ed88ffa918f43
ibopensles/android_AVPlayer.cpp
be2218961ac506ba9c2be0dddb2f74debd283bb8 05-Jan-2011 Glenn Kasten <gkasten@google.com> OpenSLESUT.h is not (yet) a supported header

so remove the symlink from the SLES/ directory

Change-Id: I95e331ac3b94457fe4c1c063069995bc48a659b4
nclude/SLES/OpenSLESUT.h
ests/automated/Android.mk
ests/automated/BufferQueue_test.cpp
ests/sandbox/Android.mk
ests/sandbox/engine.c
ests/sandbox/object.c
ests/sandbox/outputmix.c
ebc5ebdc40f9fee88d780e4658017e7147d1e01e 05-Jan-2011 Glenn Kasten <gkasten@google.com> Don't overwrite previous error in locator check

Change-Id: Ib7c2f1f34691160d881d4a2293b691e52ff01aa4
ibopensles/data.c
fad5945562cc5dcfcbb9295ae21f6037f197eab6 06-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Comment out and decrease log level for play state"
f4758f97d5415f7cdb382b6e9bd4c6f6b8211a90 06-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3326605: AudioRecorder uses wrong channel mask"
3a8b909419f559d1518692dd48cc60a057a1856e 06-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Include data source or sink name in log messages"
0fa9e1e9db7d3abb180357b79b4300053dfc8177 06-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Fix bug in seek torture test"
0c04829f0c7297074e2ce0e298cdaa795b949556 06-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Improve error handling and help message in test"
a9d1f84d153b28b5098cdce61761429ce3835b30 06-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3326605: AudioRecorder uses wrong channel mask

Change-Id: I466979669e831334b390d0ff381420cf1fe61b98
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/android_sles_conversions.h
848380663df0178717c2aa890b4c46fdf90b3592 06-Jan-2011 Glenn Kasten <gkasten@google.com> Include data source or sink name in log messages

Change-Id: I56ee300bd040581ad1c7e2be7897604730d743d6
ibopensles/data.c
363ce43ae920463fd93896cfe16190253e770ee2 06-Jan-2011 Glenn Kasten <gkasten@google.com> Improve error handling and help message in test

Change-Id: I0133b3ec0fe061d4be539ce998b81c13f1019593
ests/mimeUri/slesTestPlayStreamType.cpp
0bbf19bfc9e89bfd6d7c69cfe6f3c88c8b4f6f4c 06-Jan-2011 Glenn Kasten <gkasten@google.com> Comment out and decrease log level for play state

Change-Id: I1844b52b2576b1113a6f1d9698020ccd11666c02
ibopensles/IPlay.c
c0b196d740ef7a60728a014be0eaadb0dbc1d7ae 05-Jan-2011 Glenn Kasten <gkasten@google.com> Fix bug in seek torture test

This was found because we now do better checking of data locators.

Change-Id: Iaa18426234f034129822c06b2ece4b45764f72f3
ests/listening/seekTorture.c
32cd7d0b059f107cdfa8392e83c28135162f8319 05-Jan-2011 Glenn Kasten <gkasten@google.com> Android SDK level report is the highest available

Change-Id: I9d868d94261ee9aaf51b851bc95e99c79b84087b
ibopensles/IEngine.c
ests/sandbox/object.c
bd4096ee0c68ea147b00e862cc4d19a9beba756c 05-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Remove obsolete USE_BACKPORT"
c0354a04412f2c061d911e1c89e8c5d2f56db370 05-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Move a few FIXME to a separate to-do list"
e7e7ca6e986389421700263e31b8a4894a5b291d 05-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Remove obsolete EQ test code"
9e0f457f2809f5f062ac052d4a304e8996b49a80 04-Jan-2011 Glenn Kasten <gkasten@google.com> Move a few FIXME to a separate to-do list

And delete a few FIXME that are obsolete.

Change-Id: Ibc65c26e75f9e9ace81d264760f93384a7fc71a5
ibopensles/IEngine.c
ibopensles/IOutputMix.c
ibopensles/data.c
ibopensles/sles.c
2d5d4efbcff1ab640e3ab5afbaaca255279b4e9d 04-Jan-2011 Glenn Kasten <gkasten@google.com> Remove obsolete EQ test code

Change-Id: Iae86d766b382f96d87c2b41f3a6e6f988f54d791
ibopensles/android_Effect.cpp
faf90312d2156acbf27c62e114fd180708aa7654 04-Jan-2011 Glenn Kasten <gkasten@google.com> Remove obsolete USE_BACKPORT

Change-Id: I4e13d4f5c57fa7b676737be89a6b0a9bec6aa65f
Note: the ANDROID rename will be a separate changelist.
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/IAndroidEffectSend.c
ibopensles/IBassBoost.c
ibopensles/IEffectSend.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IEqualizer.c
ibopensles/IPresetReverb.c
ibopensles/IVirtualizer.c
ibopensles/android_AudioPlayer.cpp
ibopensles/classes.h
ibopensles/entry.c
ibopensles/itfstruct.h
bdb08965172949ae07fefc8f3d46cbcffb77b0bd 04-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix SLAndroidBufferQueueItf callback registration for a MediaPlayer

Add missing break when testing if object is a MediaPlayer.

Change-Id: Ib2796ff65b7434902c5e7910577603f6bd1e817e
ibopensles/IAndroidBufferQueue.c
eaefb451a707056aec08f6b3d5099be7d90db188 30-Dec-2010 Jean-Baptiste Queru <jbq@google.com> am 9468a111: Merge "IAndroidEffect.c is actually a c++ file."

* commit '9468a1116bba91c4fabe06a97c266d8332b030aa':
IAndroidEffect.c is actually a c++ file.
8bf448e1644ab076987116cee35c83e474b812c0 29-Dec-2010 Jean-Baptiste Queru <jbq@google.com> Merge "IAndroidEffect.c is actually a c++ file."
6fc50109e7c338aee2eb7bbf01f732586d251742 26-Dec-2010 Bruce Beare <bruce.j.beare@intel.com> IAndroidEffect.c is actually a c++ file.

The file uses new and delete; It requires -fno-rtti
to correctly build for Android. Since -fno-rtti is only
available (with the 4.2.1 IA toolchain) for g++, we
rename the file.

Change-Id: Ib8cb75c64aeae207f80429795bff663f3e8aee39
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ibopensles/Android.mk
ibopensles/IAndroidEffect.c
ibopensles/IAndroidEffect.cpp
4b3295fd64467a6f11b92d4a5f1a5123b46d4879 16-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Don't trace all OpenSL ES methods in the log

Change-Id: I3039807ef1d056efcd2ab91198f1c9ba706b78eb
ibopensles/Android.mk
ebc8fd365b402e498d499fa8737a7591c290347c 16-Dec-2010 Glenn Kasten <gkasten@google.com> Clean up the API macros

SL_API and XA_API declare a symbol to be exported by .so.
SLAPIENTRY and XAAPIENTRY are for calling conventions, and are currently unused.
Also unified the 64-bit int types between SL and XA.
Remove obsolete symlinks.

Change-Id: I248f624f3e974f130c62cfc27ce9ad8eb40c0b56
nclude/OMXAL/OpenMAXAL_Android.h
nclude/OMXAL/OpenMAXAL_Platform.h
nclude/OpenSLES.h
nclude/OpenSLES_Platform.h
nclude/SLES/OpenSLES.h
nclude/SLES/OpenSLES_Android.h
nclude/SLES/OpenSLES_Platform.h
ibopensles/Android.mk
ibopensles/SLSndFile.h
ibopensles/sles_allinclusive.h
ibopensles/sllog.c
2daf9b3ede1268e0f89cff53898b7b10940d8de1 16-Dec-2010 Glenn Kasten <gkasten@google.com> Merge "Test bug fixes"
847a5c6ad9edfefbc39d85e965feefc27d035466 16-Dec-2010 Glenn Kasten <gkasten@google.com> Merge "Delete blank line at EOF"
10a1d579e70525b4383709b038d089d22dfea9f3 16-Dec-2010 Glenn Kasten <gkasten@google.com> Merge "Fix portability problem for desktop test build"
c9919caaee38e3c4dbe09ea7cd5916d9b4a0f4a2 16-Dec-2010 Glenn Kasten <gkasten@google.com> Fix bad pointer caught by clang static analysis

Change-Id: I6f22f04a93b70a513ac88b1174bc282009969a6a
ibopensles/data.c
eba01e9626bb1801e0666f4e187ae09b5e649d70 16-Dec-2010 Glenn Kasten <gkasten@google.com> Fix portability problem for desktop test build

Change-Id: I7bf344f5f7da2b6ce8bdfa7487da7594719fcd4d
ibopensles/classes.c
01b0659614b30b8419277a324ce2468a8634336d 13-Dec-2010 Glenn Kasten <gkasten@google.com> Delete blank line at EOF

Change-Id: I0786ba4dd49f0e9c289ce96f9208c6f1cd63fb9e
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.h
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/android_OutputMix.h
295395c087000a9d804f8d12d58dea4cd9e7d26a 15-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Use NDK API to initialize display surface in OpenMAX AL TS demo.

Use ANativeWindow functions defined in android/native_window_jni.h
to initialize the display surface to be used as video sink by the
OpenMAX AL MediaPlayer.

Change-Id: I36a91f4d9a928efa861ae0c01ea5856d4e36b46f
ests/native-media/jni/Android.mk
ests/native-media/jni/native-media-jni.c
841a4d749b44b67f43a4dfad9dbc477e48f87529 14-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "OpenMAX AL: set video display surface from video sink"
0e47a0657162bbff48886ea2f5c68d9edb607768 14-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL: set video display surface from video sink

Initialize the media player's video surface with the surface pointer
obtained from the Java Surface.
Added notes on parts of the interface that will change, and are
currently in place for the sample code to run, before the
upcoming video initialization changes.

Change-Id: Id606f4bca68d227fa9df863922b880e865f845d5
nclude/OMXAL/OpenMAXAL_Android.h
nclude/SLES/OpenSLES_Android.h
ibopensles/CMediaPlayer.c
ibopensles/android_AVPlayer.cpp
ibopensles/android_AVPlayer.h
ibopensles/android_Player.cpp
ibopensles/android_Player.h
ests/native-media/jni/native-media-jni.c
a0a5dfe5210c3e00e0d49b65a9bf23fcc43407a8 14-Dec-2010 Ying Wang <wangying@google.com> The correct tag is "tests", not "test"

Change-Id: Ib28337b6f2bf2598175dc697950c46a9c7e98b1b
ests/native-media/Android.mk
ests/native-media/jni/Android.mk
581a0f550f15f6fc22199cb85775a220f668b480 14-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Transport stream: handle internal async preparation and play state.

In OpenMAX AL and OpenSL ES, update the Android object state
according to the prepare state (transitions from unitialized to
preparing to ready after a prepare), and correctly use it to
handle play state changes.

Change-Id: Id58fb6d2fdce1a5ccd7ddae135b9969e93cb1ba3
ibopensles/android_AVPlayer.cpp
ibopensles/android_AVPlayer.h
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Player.cpp
ibopensles/android_Player.h
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/android_defs.h
ibopensles/locks.c
ibopensles/sles_allinclusive.h
2246c698482ab6860906672229f0ae6d886e6302 16-Nov-2010 Glenn Kasten <gkasten@google.com> Test bug fixes

Preset reverb durationInMsec changed from 5000 to 10000.
NDK does not have an independent API level, so use the SDK's API level.
Removed a workaround for a bug which is now fixed in the implementation.
Fix uninitialized variable in test.

Change-Id: Ibaa4f1d2351e8f75290377cadc02ee2709bf720b
ests/examples/slesTestRecBuffQueue.cpp
ests/examples/slesTestSendToPresetReverb.cpp
ests/sandbox/object.c
ests/sandbox/srcsink.c
f271eea20f9fff6c101213b34652399f457bcd50 12-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Continue unifying OpenSL ES / OpenMAX AL implementation

Add new header for Android definitions.
Rename the Android object types to be more descriptive (data source,
player).
New Android and volume fields to CMediaPlayer object, initialize
those fields.
Unify play state control between CMediaPlayer and CAudioPlayer.

Change-Id: I23e9c03a88cc29c5a40525edf5693a9d05285e6b
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_Player.cpp
ibopensles/android_Player.h
ibopensles/android_StreamPlayer.h
ibopensles/android_defs.h
ibopensles/classes.h
ibopensles/locks.c
ibopensles/sles_allinclusive.h
eae4df541ba1d46f65d37e959baf2127aa632c93 10-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Start support for XAAndroidBufferQueueItf in OpenMAX AL

Added an Android OpenMAX AL header for the Android interfaces
Registered the AndroidBufferQueueItf as an explicit
interface on MediaPlayer.
Updated the Java+Native example to register a callback from
which OpenMAX AL can retrieve the data to play
Started unifying the player object used by OpenMAX AL and
OpenSL ES so they use a common class.

Change-Id: I73cec8c802f74767545c91278e5e73c8c7995218
nclude/OMXAL/OpenMAXAL.h
nclude/OMXAL/OpenMAXAL_Android.h
nclude/OMXAL/OpenMAXAL_Platform.h
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/CMediaPlayer.c
ibopensles/IAndroidBufferQueue.c
ibopensles/IEngine.c
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/android_AVPlayer.cpp
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Player.cpp
ibopensles/android_Player.h
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/classes.c
ibopensles/classes.h
ibopensles/locks.c
ibopensles/sles_allinclusive.h
ests/native-media/jni/native-media-jni.c
ests/native-media/src/com/example/nativemedia/NativeMedia.java
ests/sandbox/streamSource/slesTestPlayStream.cpp
16ce39d96d41884c7b0d1676553ab8167baaab74 09-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Add superclass for audio-video playback

Change-Id: Ie7f5cb9d789d41c605dc318bbb311aadabce2c96
ibopensles/Android.mk
ibopensles/android_AVPlayer.cpp
ibopensles/android_AVPlayer.h
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/sles_allinclusive.h
ests/sandbox/streamSource/slesTestPlayStream.cpp
470d0dc5ee4bb827f86cdfca221cb9d7eaad7001 09-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Correct data locator and format check for AndroidBufferQueue source."
c869defb7c0dd6f4e45ad26abb0f8ccc960152de 09-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Correct data locator and format check for AndroidBufferQueue source.

Change-Id: Ib70391148e2abded57ec0f6028e081f5232ffc31
ibopensles/IEngine.c
ibopensles/data.c
97bdbe13fc48640babe6c1ce270660476f04c3df 07-Dec-2010 Glenn Kasten <gkasten@google.com> Native media test app

Change-Id: I2089733b4b4adc1d9da75a9c93c72b7c353c668f
ests/native-media/Android.mk
ests/native-media/AndroidManifest.xml
ests/native-media/jni/Android.mk
ests/native-media/jni/native-media-jni.c
ests/native-media/res/drawable/icon.png
ests/native-media/res/layout/main.xml
ests/native-media/res/values/strings.xml
ests/native-media/src/com/example/nativemedia/NativeMedia.java
a382204a906a39847ae8e3262f8a94bc37446295 08-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Update use of IStreamListener interface to latest proto

Change-Id: I4dc35a0637094780ffb1b7e4006a60fc256770a9
ibopensles/CMediaPlayer.c
ibopensles/android_StreamPlayer.cpp
94a37e8117fb72790882dfb815f99e2365754c74 03-Dec-2010 Glenn Kasten <gkasten@google.com> Continue implementation of MediaPlayer object

Add CMediaPlayer.c for the various hooks.
Start implementing Play::SetPlayState for MediaPlayer.
CheckDataSource and Sink now takes a mask of allowed data locator types.
Data source and sink error logs now include the name of the source or sink.

Change-Id: I3702c977dd367a788ce78575e1e2891dafd2c983
ibopensles/Android.mk
ibopensles/CMediaPlayer.c
ibopensles/IAndroidBufferQueue.c
ibopensles/IDynamicSource.c
ibopensles/IEngine.c
ibopensles/IID_to_MPH.c
ibopensles/IPlay.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/MPH_to_3DGroup.h
ibopensles/MPH_to_AudioPlayer.h
ibopensles/MPH_to_AudioRecorder.h
ibopensles/MPH_to_Engine.h
ibopensles/MPH_to_LEDDevice.h
ibopensles/MPH_to_Listener.h
ibopensles/MPH_to_MediaPlayer.h
ibopensles/MPH_to_MetadataExtractor.h
ibopensles/MPH_to_MidiPlayer.h
ibopensles/MPH_to_OutputMix.h
ibopensles/MPH_to_Vibra.h
ibopensles/OpenSLES_IID.c
ibopensles/SndFile.c
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/classes.c
ibopensles/classes.h
ibopensles/data.c
ibopensles/data.h
ibopensles/interfaces.c
ibopensles/locks.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/sandbox/xa.c
e945a85a903cfb83a8965a3246c9e1718023a897 07-Dec-2010 Andreas Huber <andih@google.com> Support for streaming.

Change-Id: I8c4b53b57ceccf076c971d2ac8cd1223ecece094
nclude/SLES/OpenSLES_Android.h
ibopensles/android_StreamPlayer.cpp
79482a297c5e6c59827b96d0650411010f9a41dc 02-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix build: bad member variable rename

Change-Id: Ic6092ce27cf3f82d26398ec2f7fb89c9aa6b4828
ibopensles/android_StreamPlayer.cpp
aa2fafdac2711436e5fd8faf162d7087a515cb1c 02-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> StreamPlayer::onPrepare() should synchronously prepare its player

Change-Id: If8ec63e8b93dea2e1810046e05e692755e6a8887
StreamPlayer::onPrepare() should only return when its media player
is done preparing, so other player commands are processed from
the message queue when the player is ready to receive them.
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ests/sandbox/streamSource/slesTestPlayStream.cpp
cb417262919560a715628f4317dc8a4de386f750 02-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Asynchronous prepare() on StreamPlayer

Prepare the StreamPlayer object asynchronously.
Fixes the deadlock issue between the SLAndroidBufferQueue callback
registration and Enqueue() functions.

Change-Id: I76963233f658946db87d0aab6f225bc9e7c8210a
ibopensles/Android.mk
ibopensles/IAndroidBufferQueue.c
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ests/sandbox/streamSource/slesTestPlayStream.cpp
be59fc5cfd9354d70d4b0e28bb2bca24a6ca6f22 01-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> More support for SLAndroidBufferQueueItf

Implement Enqueue()
Store "caller" interface to use in the AndroidBufferQueue
callback.
Update test app in sandbox to use the callback to read
from a file and enqueue buffers directly.

Change-Id: I68413731d311532b08f8f13577e3ca81c033fcd4
ibopensles/IAndroidBufferQueue.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ests/sandbox/streamSource/slesTestPlayStream.cpp
8b8875067dd02b79361abb00c5d65b02a8ae72b0 01-Dec-2010 Glenn Kasten <gkasten@google.com> Start implementing CreateMediaPlayer

Add CMediaPlayer class.
Add IEngine_CreateMediaPlayer handler.
Add OpenMAX AL native display data locator and raw image data format.
Add OpenMAX AL I/O devices: camera and radio.

Change-Id: Ie99c09110ac9fdcd98bf0bfc487c6e3fcde58f19
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/MPH_to.c
ibopensles/MPH_to.h
ibopensles/MPH_to_MediaPlayer.h
ibopensles/android_AudioPlayer.cpp
ibopensles/classes.c
ibopensles/classes.h
ibopensles/data.c
ibopensles/data.h
ibopensles/entry.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/sandbox/xa.c
ools/mphtogen/mphtogen.c
cafa51fdd8b3f29ebaa0682070100825a9cce2a8 30-Nov-2010 Glenn Kasten <gkasten@google.com> Start splitting up sles_allinclusive.h.

This is the low-hanging fruit only.
Will do the harder parts later.

Change-Id: Ib85ffae7891e1f980dc1f7807df00c1d59df58a5
ibopensles/classes.h
ibopensles/data.h
ibopensles/itfstruct.h
ibopensles/sles_allinclusive.h
ibopensles/trace.h
fa62f9f2c20b446178c05e3e92407fe5dfdbf8a1 30-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Support for the SLAndroidBufferQueueItf interface

Rename AndroidStreamSource to AndroidBufferQueue.
Add prototype for SLAndroidBufferQueue functions.
Update sandbox test app to use the new interface.

Change-Id: Ib82180c22e5cf0dd982b4a9bb132667cd2ac4dd7
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/IAndroidBufferQueue.c
ibopensles/IAndroidStreamSource.c
ibopensles/IID_to_MPH.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/classes.c
ibopensles/data.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/sandbox/streamSource/slesTestPlayStream.cpp
8db0b106cdce5f5216b1535492de7930ad738aed 29-Nov-2010 Glenn Kasten <gkasten@google.com> Continued work on OpenMAX AL engine APIs

Added xaCreateEngine as synonym for slCreateEngine,
but not yet reference counted to share same object with slCreateEngine.
Added the beginnings of a XA_IID_ENGINE engine interface
but still needs more work.
Added simple xa test app.
New extension: ANDROID_SDK_LEVEL_10 (not NDK per digit).
Split up sles.c:
- Move data source, sink, locator, format code to data.c
- Move global entry points to entry.c
- Collect all engine-related code into CEngine.c
- Collect all device-related code into devices.c

Change-Id: I9fdeed1e29f698869f409014a39401999ac84e5f
nclude/OMXAL/OpenMAXAL.h
nclude/OMXAL/OpenMAXAL_Platform.h
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/IEngine.c
ibopensles/IID_to_MPH.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/MPH_to_3DGroup.h
ibopensles/MPH_to_AudioPlayer.h
ibopensles/MPH_to_AudioRecorder.h
ibopensles/MPH_to_Engine.h
ibopensles/MPH_to_LEDDevice.h
ibopensles/MPH_to_Listener.h
ibopensles/MPH_to_MetadataExtractor.h
ibopensles/MPH_to_MidiPlayer.h
ibopensles/MPH_to_OutputMix.h
ibopensles/MPH_to_Vibra.h
ibopensles/OpenSLES_IID.c
ibopensles/classes.c
ibopensles/data.c
ibopensles/devices.c
ibopensles/entry.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/sandbox/Android.mk
ests/sandbox/xa.c
ools/hashgen/Makefile
26043f06b7d6cb2f93a2f2e7846a4e59da722206 23-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Control MediaPlayer instance from SL ES interfaces

Implement transport control on StreamPlayer.
Store the StreamPlayer in CAudioPlayer as an sp<>
In StreamPlayer: create a media player from the
mediaplayerservice, and implement the IStreamSource
interface to get data fromt the application
callback.
Note that the SLDataLocator_AndroidStreamer and
SLAndroidStreamSourceItf are very much in flux
at the moment.

Change-Id: I11035aafcefd59aad99d1fec9fd54a622e6d1e0f
nclude/SLES/OpenSLES_Android.h
ibopensles/IAndroidStreamSource.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/sles_allinclusive.h
ests/sandbox/streamSource/slesTestPlayStream.cpp
b0ab2dee391dd2cb257faeaba252ee6ecccc5f03 08-Nov-2010 Glenn Kasten <gkasten@google.com> Prepare for merged OpenMAX AL and OpenSL ES engine

Field mEngine is now a reference to CEngine instead of IEngine.
Restore Android.mk.
Move mThreadPool, mEqPresetNames, mEqNumPresets from IEngine to CEngine.
IEngineCapabilities_QueryLEDCapabilities and
IEngineCapabilities_QueryVibraCapabilities are now non-static
so that they can be shared by OpenMAX AL's IEngine.
IEngineCapabilities is now required in the build, used by OpenMAX AL IEngine.
The default MPH tables now depend on USE_DESIGNATED_INITIALIZER,
and generate tables for other C compilers programmatically.
Updated comments in MPH.h.
Removed conditionals from MPH_to.c so that non-GNU tables can be built more easily.
Make the interface ID hash generator less specific about hashing algorithm.
Re-build interface ID hash tables.
Update IID_to_MPH.c based on hashgen.
Add generated MPH_to_*.h.
Remove Android dependency.

Change-Id: Icdf89eedc825f9e52bc264b22d923ae157244ed3
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/COutputMix.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IID_to_MPH.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/MPH_to_3DGroup.h
ibopensles/MPH_to_AudioPlayer.h
ibopensles/MPH_to_AudioRecorder.h
ibopensles/MPH_to_Engine.h
ibopensles/MPH_to_LEDDevice.h
ibopensles/MPH_to_Listener.h
ibopensles/MPH_to_MetadataExtractor.h
ibopensles/MPH_to_MidiPlayer.h
ibopensles/MPH_to_OutputMix.h
ibopensles/MPH_to_Vibra.h
ibopensles/OpenSLES_IID.c
ibopensles/android_Effect.cpp
ibopensles/interfaces.c
ibopensles/locks.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sync.c
rc/MPH.h
rc/MPH_to.c
rc/MPH_to.h
ests/sandbox/multithread.c
ools/hashgen/Makefile
ools/hashgen/frag2.c
ools/hashgen/frag3.c
ools/hashgen/part1.c
ools/mphtogen/Makefile
ools/mphtogen/mphtogen.c
ad887a253969ac2017a1dbe062d0b76d505594c0 20-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Set the MediaPlayer data source from a SL_DATALOCATOR_ANDROIDSTREAMER

Use the data locator information to initialize the data source
of the MediaPlayer instance used in the StreamPlayer object.
Register the callback only when the player is stopped.
Added callback events that can be passed from the application
to the implementation to synchronously signal events.

Change-Id: I1fc52d8d46b2bcf8ca11ab0e4d44d40e704ddbfc
nclude/SLES/OpenSLES_Android.h
ibopensles/IAndroidStreamSource.c
ibopensles/OpenSLES_IID.c
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/sles.c
ests/sandbox/streamSource/slesTestPlayStream.cpp
b59afbd64716c4bb5b8a3f3ec08e51d44f486ff7 19-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Maintain a MediaPlayer instance inside StreamPlayer"
7c62c0d23a8521f570fa91def6231a8543866985 19-Nov-2010 James Dong <jdong@google.com> Merge "Support 64-bit file size/offset"
b2d3b9c0c9d79dd4cbd857d6c6a0b39188c22f72 19-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Maintain a MediaPlayer instance inside StreamPlayer

StreamPlayer is the object that abstracts for OpenSL ES the
playback of elementary streams. It encapsulates a MediaPlayer
instance which will handle the playback. This CL simply
creates and deletes a MediaPlayer instance during the life-cycle
of StreamPlayer.

Change-Id: I5d56dca72fa05496fcbd0b60a064a6b955494387
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
fe6f6b9ed3683119721618e1aeaa8c7d6baee188 19-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> More support for SL_DATALOCATOR_ANDROIDSTREAM

- add test app in sandbox: based on playUri with different data
locator
- new object, StreamPlayer, that will encapsulate the life-cycle
of the new MediaPlayer object that implements the streaming.

Change-Id: Idfdb00e8622ff18d131465d11178979232ee04f8
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/android_AudioPlayer.cpp
ibopensles/android_StreamPlayer.cpp
ibopensles/android_StreamPlayer.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/sandbox/streamSource/Android.mk
ests/sandbox/streamSource/slesTestPlayStream.cpp
81487f7ebacacc1ce5e7f26d176bb7940b9462a0 17-Nov-2010 James Dong <jdong@google.com> Support 64-bit file size/offset

o This patch depends on the patch in the media framework to support 64-bit file size/offset

Change-Id: Ie26b4ac70eb45654ee9ccc3961b4cc5690468c14
ibopensles/android_SfPlayer.cpp
28bc6b725c207fb8fbd618caea4aa127f35ce1e1 13-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Definition of a new data locator and interface for streaming.

Change-Id: Ib929749beca048be46187cabbf466981d81143e7
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/IAndroidStreamSource.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/classes.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
a4b4d478171631eaa97e933eb46c1ff01bd04daa 11-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Bug 3183484 OpenSL ES: add support for the AUDIO_SOURCE_VOICE_COMMUNICATION record source.

Change-Id: Icc593bdf2cc6ef7f61537661a82f63a46dc8693f
nclude/SLES/OpenSLES_AndroidConfiguration.h
ibopensles/android_AudioRecorder.cpp
ecc391a2e75ef6fa31734d21be90586182c8041d 23-Oct-2010 Glenn Kasten <gkasten@google.com> am e3d47748: Merge "Fix bug 3112893 in handling of container size" into gingerbread

Merge commit 'e3d47748d093dde0290863bffa4db2f59d5245d8'

* commit 'e3d47748d093dde0290863bffa4db2f59d5245d8':
Fix bug 3112893 in handling of container size
77f3430b73e1d47abe3ecdfbc208aab3f0cc58cc 23-Oct-2010 Glenn Kasten <gkasten@google.com> am 202d57f8: Merge "Bug 3101247 - move track ownership" into gingerbread

Merge commit '202d57f8783ee65d20f6d38b870205fd4cad9e66'

* commit '202d57f8783ee65d20f6d38b870205fd4cad9e66':
Bug 3101247 - move track ownership
31c28fe7b1120950340e451af8a7d1058e345aae 23-Oct-2010 Glenn Kasten <gkasten@google.com> am 7e34a3c0: Bug 3102561 - Tests only

Merge commit '7e34a3c054d9b81b68007a1e94b661d5e209b897'

* commit '7e34a3c054d9b81b68007a1e94b661d5e209b897':
Bug 3102561 - Tests only
b81e3c5df0b31e8395fbd8bc82ac449e8c90bd33 23-Oct-2010 Glenn Kasten <gkasten@google.com> Merge "Fix bug 3112893 in handling of container size" into gingerbread
e7601c31936e94c62722e9dfabe752ba3c63b246 23-Oct-2010 Glenn Kasten <gkasten@google.com> Merge "Bug 3101247 - move track ownership" into gingerbread
96ad4989121d0119d47e4ff14f5c3341eafd64bd 22-Oct-2010 Glenn Kasten <gkasten@google.com> Bug 3101247 - move track ownership

Preliminary fix for torture test failure - move track ownership

Change-Id: I4c9de6a85cc0bd594f16bdb1a5de61f5f268cfdb
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
0a058cc3d720cdf3f0f8222472a862258482f34f 18-Oct-2010 Glenn Kasten <gkasten@google.com> Bug 3102561 - Tests only

Make the multi-thread test more stressful, to crash more often.
New tests: playbq, srcsink, monkey.
In monkey, re-enable destroy at difficult times.
Add support for testing player insert reverb to the reverb test.
Note: building playbq is disabled by default because it needs libsndfile.

Change-Id: I592ea5f567bddc61174e7d41bc5b36ce32d2b6b8
ests/sandbox/Android.mk
ests/sandbox/intbufq.c
ests/sandbox/monkey.c
ests/sandbox/multiplay.c
ests/sandbox/multithread.c
ests/sandbox/playbq.c
ests/sandbox/reverb.c
ests/sandbox/srcsink.c
dfbd7627912e9598b92e71346e47d91f9d14f44f 19-Oct-2010 Glenn Kasten <gkasten@google.com> Fix bug 3112893 in handling of container size

Change-Id: Iafa1f823351e5849501ffc613f06940be27e9c6b
ibopensles/sles.c
fd98cf7fdcf6f47727f6e241382d56ef8753d4f3 21-Oct-2010 Adam Momtaz <amomtaz@google.com> am 9e617254: Bug# 3111274 - Dump raw audio to file for automated audio quality analysis

Merge commit '9e6172548bb344c24962c8a57274281e4315feba'

* commit '9e6172548bb344c24962c8a57274281e4315feba':
Bug# 3111274 - Dump raw audio to file for automated audio quality analysis
014882743319e54e81061da9d104282ba6a80d53 14-Oct-2010 Adam Momtaz <amomtaz@google.com> Bug# 3111274 - Dump raw audio to file for automated audio quality analysis

This change is compiled for userdebug builds only.
The change enables raw audio capture of transcoded music.
The capture is written to file and used for audio quality analysis against the source audio.
This capture feature is OFF by default even for userdebug builds and requires setting a system property to enable it.

Change-Id: I6d895a2fe3ef9741fea490fe2513404a50c4d4b7
ibopensles/Android.mk
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
fa3b6a762a9c6bc6b3b09c1ca8c016b7db5fcaf9 19-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> am 62afe516: Fix bug 3106530 Don\'t report unhandled AudioTrack events as errors

Merge commit '62afe51646a7299deb7476ff39b4604e421cf433'

* commit '62afe51646a7299deb7476ff39b4604e421cf433':
Fix bug 3106530 Don't report unhandled AudioTrack events as errors
49023a839764adf67f0304e6f622d814b1729bd5 18-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3106530 Don't report unhandled AudioTrack events as errors

Unhandled AudioTrack events were reported as errors, which is
a bug. Added case for EVENT_BUFFER_END and EVENT_LOOP_END. This
covers all events an AudioTrack is expected to generate.

Change-Id: I9ee067f3d42c1d545286001a5702bc606233df9d
ibopensles/android_AudioPlayer.cpp
79b380e116173ae10ff4d5e4c2f6687ea94779de 18-Oct-2010 Glenn Kasten <gkasten@google.com> am 5d9d9153: Merge "Fix bug 3101835 - play state crash" into gingerbread

Merge commit '5d9d9153fe819ae0f3dd9c53fec109dc4ecf64d9'

* commit '5d9d9153fe819ae0f3dd9c53fec109dc4ecf64d9':
Fix bug 3101835 - play state crash
7e0a50ad2659409d45e5cd39d45ab0492fe0e913 18-Oct-2010 Glenn Kasten <gkasten@google.com> am 67829bfd: Bug 3102561 - Tests and examples only

Merge commit '67829bfddb97775be06af15dd8181611b4af581e'

* commit '67829bfddb97775be06af15dd8181611b4af581e':
Bug 3102561 - Tests and examples only
a7d24f76be3e90a45567883cf30e87d9ccfe727c 18-Oct-2010 Glenn Kasten <gkasten@google.com> am 227b8b5f: Fix bug 3101211, partial fix for bug 3101247

Merge commit '227b8b5fe36d5385bbb23d63198bc8e72bfda5d3'

* commit '227b8b5fe36d5385bbb23d63198bc8e72bfda5d3':
Fix bug 3101211, partial fix for bug 3101247
22658bf54610403ab76202c3a88e6cdda13eebe7 18-Oct-2010 Glenn Kasten <gkasten@google.com> am 5c3ca268: Merge "Bug 3102561 - Clean up reverb test" into gingerbread

Merge commit '5c3ca268853169e457ae7874ba992ce36e894f97'

* commit '5c3ca268853169e457ae7874ba992ce36e894f97':
Bug 3102561 - Clean up reverb test
22742131bc6eef6f3aeaa6032aa82181db3c09c5 18-Oct-2010 Jean-Baptiste Queru <jbq@google.com> Merge aef1e3da from gingerbread-plus-aosp

Change-Id: I3bfc9d261829332f6c6f2cd4c09be3ea104f0767
1ff3f738f5a0832db21cf3291a28ed24fbfde4d3 16-Oct-2010 Glenn Kasten <gkasten@google.com> Merge "Fix bug 3101835 - play state crash" into gingerbread
7126c25d7c037e5086216cf540ecf40779c3585a 13-Oct-2010 Glenn Kasten <gkasten@google.com> Bug 3102561 - Tests and examples only

Note: the modifications in directory libopensles aid testing,
but have no affect on production builds because they are related
to tracing, which is is disabled by default.

Update feedback test to be more reliable.
Update slesTestPlayUri to exit on prefetch error.
Clean up error and termination handling.
Add comment to record test on how to use it.
Reduce global symbol dependencies when trace is enabled.
Split OpenSLESUT into two files: part that uses printf, and another part that doesn't.
Add SL_RESULT_ prefix to result strings.
slesutResultToString returns NULL for unknown value.
Add multithread torture test.
Compile stream test for non-Android as a no-op.
Improve API test coverage.
Enable assertion checks on test programs.

Change-Id: I6b82026cfa19d2f08cda4c11137e0706e8ff4b8c
ibopensles/Android.mk
ibopensles/OpenSLESUT.c
ibopensles/OpenSLESUT.h
ibopensles/slesutResult.c
ibopensles/trace.c
ests/automated/BufferQueue_test.cpp
ests/examples/Android.mk
ests/examples/slesTestEffectCapabilities.cpp
ests/examples/slesTestFeedback.cpp
ests/examples/slesTestRecBuffQueue.cpp
ests/mimeUri/slesTestPlayStreamType.cpp
ests/mimeUri/slesTestPlayUri.cpp
ests/sandbox/Android.mk
ests/sandbox/engine.c
ests/sandbox/multithread.c
ests/sandbox/object.c
ests/sandbox/outputmix.c
b52bc98b576a9b56e82eca435849bd55e54b6bc1 15-Oct-2010 Glenn Kasten <gkasten@google.com> Fix bug 3101211, partial fix for bug 3101247

IEngine.c: fixed numerous problems found by API test in
Engine::QueryNumSupportedExtensions
Engine::QuerySupportedExtension
Engine::IsExtensionSupported

sles.c:
failed engine create due to resource error did not return correct value

locks.c:
The mutex lock log usually indicates there is a deadlock. However,
it can also happen when there is heavy lock contention, such as
during the multithread torture test. Since it may be may be normal
behavior, I downgraded this log to a warning.

CEngine.c, ThreadPool.h, sles_allinclusive.h, sync.c, Android.mk:
Thread torture test was crashing on all platforms. Partial fix for Android:
- disable sync thread on Android
- disable async realize and async add interface on Android as they are not well tested

COutputMix.c:
Multiple output mixes were incorrectly handled on desktop. The
changed lines are under a non-Android conditional, so don't affect
production builds. But they are necessary in order to develop the
multithread torture test and measure code coverage using it.

Change-Id: I9003e97e0f84d9dc106622b0c925384c8ed61a7e
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/COutputMix.c
ibopensles/IEngine.c
ibopensles/ThreadPool.h
ibopensles/locks.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sync.c
f0021a29d71caee8b147aa163b4108652fbca56d 16-Oct-2010 Glenn Kasten <gkasten@google.com> Merge "Bug 3102561 - Clean up reverb test" into gingerbread
61c8274a30ba403191b05d556d063fa5f309ea95 15-Oct-2010 Glenn Kasten <gkasten@google.com> Bug 3102561 - Clean up reverb test

Change-Id: If573c06134810eafd4d41efeb938fa23ae77c2da
ests/sandbox/reverb.c
9c686fbb37ea178214d9df48b6b51eb77ae247db 15-Oct-2010 Glenn Kasten <gkasten@google.com> Fix bug 3101835 - play state crash

If a prefetch fails due to invalid data source,
then the application sets play state to PLAYING, it used to crash.

Change-Id: Iaba98c596005715ca6c057de543fa0921225e74c
ibopensles/android_SfPlayer.cpp
f462b8db132ca212bcfa43bf5cbd56417a80caa3 15-Oct-2010 Andreas Huber <andih@google.com> Include the framework copy of the OpenMAX headers instead of referencing external/opencore.

Change-Id: I935b8f2851f4bfc244178131acaa913377efa1c2
related-to-bug: 3101573
ibopensles/Android.mk
483a0c45c2d81a8ae74327548fc59a5e5e2b8440 15-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> am ffbd220f: Fix bug 3094729 Support AAC+ in OpenSL ES

Merge commit 'ffbd220f34d275c6231cac8db8f3b50aa16be2b2'

* commit 'ffbd220f34d275c6231cac8db8f3b50aa16be2b2':
Fix bug 3094729 Support AAC+ in OpenSL ES
062ebdde2ac7f3d8c1cb6a27b840ab358e740bfb 15-Oct-2010 Glenn Kasten <gkasten@google.com> am 80b64591: Merge "Make log less noisy" into gingerbread

Merge commit '80b645911cfc4ddbd8c011efe55c502cd03c7908'

* commit '80b645911cfc4ddbd8c011efe55c502cd03c7908':
Make log less noisy
aacbb06622069bd76c5ea999b279c2a6db1a9141 15-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> am 98a1f3f4: Fix bug 3090610 Report an error on AAC+

Merge commit '98a1f3f49f963eb6608771993edc69b2b0d549fa'

* commit '98a1f3f49f963eb6608771993edc69b2b0d549fa':
Fix bug 3090610 Report an error on AAC+
41afe132fdfeaa13fd97d84b48c31e77d5a8a1c0 14-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> am c35fd2e7: Enable aux effect attachment before the AudioTrack creation.

Merge commit 'c35fd2e7ba670b1024a920ebf007b0fa1d92c969'

* commit 'c35fd2e7ba670b1024a920ebf007b0fa1d92c969':
Enable aux effect attachment before the AudioTrack creation.
5d9a1aa19d218c9e4ed22d4d773471c01362442e 13-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3094729 Support AAC+ in OpenSL ES

When playing an AAC+ stream, StageFright will report a change of
configuration in the stream between the prepare phase and the
start of the playback.

The fix consists in retrieving the new configuration in SfPlayer,
create a new AudioTrack with the new parameters, and notify
AudioPlayer that SfPlayer has a new AudioTrack to use. AudioPlayer
will then delete its current AudioTrack, and use the new one
from SfPlayer, after configuring it with the current AudioPlayer
settings.

Change-Id: I23e3ecb2c144b7c4eefae7a970581695545982d4
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
373f18f5345fdb80958e196e293ece8c5c5e8731 13-Oct-2010 Glenn Kasten <gkasten@google.com> Merge "Make log less noisy" into gingerbread
47e3a66decbf9fd9d33226b12d5c2d2d78e60343 13-Oct-2010 Glenn Kasten <gkasten@google.com> Make log less noisy

Change-Id: I6a7cb4c8bfca51eae71fb312b8ff43ce663a4c11
ibopensles/Android.mk
ibopensles/sllog.h
b985f6453e08264fed5b22bca890ceef5c98b716 13-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3090610 Report an error on AAC+

Notify an error occured during prefetching when StageFright
reports that a read error was encountered (other than EOS),
and stop playback.

Change-Id: I0c00ee76b148bd80a26679648322633d6e5533da
ibopensles/android_SfPlayer.cpp
6004f34aade4f4e2705c6bd7355a20356978de29 13-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> am 521de5ed: Stop preparing the player if an audio track cannot be found.

Merge commit '521de5ed291f559f536fd429521b00c67e756725'

* commit '521de5ed291f559f536fd429521b00c67e756725':
Stop preparing the player if an audio track cannot be found.
58bdadaf50a11cb28d71df48ffaeca9d984900e9 13-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> am 09f19a9d: Merge "Notify when prefetching fails" into gingerbread

Merge commit '09f19a9d2a340c00429797ca6a21778b99796818'

* commit '09f19a9d2a340c00429797ca6a21778b99796818':
Notify when prefetching fails
f7b852d914faa49d3e4b7d02bb5d9d254762c0b7 12-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> Enable aux effect attachment before the AudioTrack creation.

When an OpenSL ES AudioPlayer is playing content from a URI or FD,
the AudioTrack it plays on is only created once prefetching is
far along enough that the playback properties are known (channel
count, word size and sample rate). This happens after Realize()
is called on the AudioPlayer. If, before the AudioTrack is created,
the SLEffectSendItf interface is used to configure the aux send
for that player, there is no AudioTrack to configure.

The fix consists in keeping track of the effect the track needs
to be attached to, and with what level. Once the track is
created, and it gets configured (volume, mutes, channel solos,
marker callbacks) we also attach it to the aux effect if
necessary.

Change-Id: I12230a8cbf7dc3876d3713a006b9702d44e9d6e5
ibopensles/IEngine.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Effect.cpp
ibopensles/sles_allinclusive.h
8f6db04035e85b1c26149c43f39ce479940ed039 12-Oct-2010 Glenn Kasten <gkasten@google.com> am 6f217820: Workaround for build error on sim-eng

Merge commit '6f2178206003119ad446457c9110abad15223b77'

* commit '6f2178206003119ad446457c9110abad15223b77':
Workaround for build error on sim-eng
1935102b41c3e54b0e8bc3c86fd366b4f5f298be 12-Oct-2010 Glenn Kasten <gkasten@google.com> am e8fb8eb3: Add support for 8-bit and 48 kHz PCM

Merge commit 'e8fb8eb310dc5ee5a262701a9386b78428b661d7'

* commit 'e8fb8eb310dc5ee5a262701a9386b78428b661d7':
Add support for 8-bit and 48 kHz PCM
1b52985e2bdb68f1eb02a3bba34ad6bc88063455 12-Oct-2010 Glenn Kasten <gkasten@google.com> am 1168fe38: Fix build warnings

Merge commit '1168fe388b96340ada641b7e0da1ca18b270af3a'

* commit '1168fe388b96340ada641b7e0da1ca18b270af3a':
Fix build warnings
475371808649f4f6862d510d0bcf601101e9ae65 12-Oct-2010 Glenn Kasten <gkasten@google.com> am 4d7c8c74: Test cleanup

Merge commit '4d7c8c742d5b09895e7ce3d07d314b6ada56123d'

* commit '4d7c8c742d5b09895e7ce3d07d314b6ada56123d':
Test cleanup
1e3a2ddb9127a004ae12d9b32af887308cd6a262 12-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> Stop preparing the player if an audio track cannot be found.

The bug consisted in not exiting from prepare() if an audio track
couldn't be retrieved from the content to play. This is for
instance the case with unsupported file formats.

Change-Id: Ic48ef5c3bfbfc7d16b241eaacfd26fe1b34e1044
ibopensles/android_SfPlayer.cpp
2f31da420e2321869c5e2409482948dc83aee375 12-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Notify when prefetching fails" into gingerbread
f536948a85be5e3f3731b64b01cfacdf90ed1157 12-Oct-2010 Jean-Michel Trivi <jmtrivi@google.com> Notify when prefetching fails

There is no event in the SLPrefetchStatus event callback in
OpenSL ES 1.0 to indicate a prefetch error. So we signal it by
sending simulataneously two events:
- SL_PREFETCHEVENT_FILLLEVELCHANGE with a level of 0
- SL_PREFETCHEVENT_STATUSCHANGE with a status of
SL_PREFETCHSTATUS_UNDERFLOW

Change-Id: I399ea3474e6cc7796c940401306ca9a076fac4e2
ibopensles/android_AudioPlayer.cpp
ibopensles/android_prompts.h
ests/mimeUri/slesTestPlayUri.cpp
bf17b771123e2753862fc32f672e776175c8ca19 11-Oct-2010 Glenn Kasten <gkasten@google.com> Workaround for build error on sim-eng

This is not a good long-term fix.

target SharedLib: libOpenSLES (out/host/linux-x86/pr/sim/obj/SHARED_LIBRARIES/libOpenSLES_intermediates/LINKED/libOpenSLES.so)
out/host/linux-x86/pr/sim/obj/SHARED_LIBRARIES/libOpenSLES_intermediates/IAndroidEffect.o:(.data.rel.ro._ZTIN7android12SortedVectorINS_16key_value_pair_tImPNS_11AudioEffectEEEEE[typeinfo for android::SortedVector<android::key_value_pair_t<unsigned long, android::AudioEffect*> >]+0x10): undefined reference to `typeinfo for android::SortedVectorImpl'
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/pr/sim/obj/SHARED_LIBRARIES/libOpenSLES_intermediates/LINKED/libOpenSLES.so] Error 1

Change-Id: Iea6678d31d0f747651285e76f2c2e616937bfbd7
ibopensles/Android.mk
ibopensles/IAndroidEffect.c
7101993dfb586eb82f52e4b8452088b748759038 11-Oct-2010 Glenn Kasten <gkasten@google.com> am d78ef680: More tests and bug fixes

Merge commit 'd78ef68025c4de08bffaa318d0057d8affac81a1'

* commit 'd78ef68025c4de08bffaa318d0057d8affac81a1':
More tests and bug fixes
0d26ec3e2bb632d611ec3c752266aeb90f31bcf9 11-Oct-2010 Glenn Kasten <gkasten@google.com> Add support for 8-bit and 48 kHz PCM

Change-Id: I9e4ab432dc966d0eb531457b0ca2661d0626255a
ibopensles/android_AudioPlayer.cpp
e629abc58c2acadc7487ea71c1e063f8f8989199 11-Oct-2010 Glenn Kasten <gkasten@google.com> Fix build warnings

Change-Id: I449da85b97901a632591dd16a52cb924a2722883
ests/listening/seekTorture.c
ests/sandbox/getch.c
ests/sandbox/intbufq.c
ests/sandbox/reverb.c
ests/sandbox/urimime.c
c2303eb5497c488db786dcb2b8514db229452536 11-Oct-2010 Glenn Kasten <gkasten@google.com> Test cleanup

Fix bug in QueryEffect test - was not re-initializing the name length.
Add QueryEffect test for over-writing the name buffer.
Don't create output with VOLUME or NULL interfaces.
Use <stdlib.h> symbolic names for exit codes instead of 0 and 1.
Remove Android-style logging from examples; use only printf.
Remove extra blank lines in test output.
Remove the MAX_NUMBER_OUTPUT_DEVICES macro.
Use <unistd.h> to declare usleep.
Remove obsolete #include statements.
Fix build warnings.

Change-Id: I8d198a317246b3894f104edf7c9f317a51593d07
ests/examples/slesTestBassBoostPath.cpp
ests/examples/slesTestEffectCapabilities.cpp
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestPlayFdPath.cpp
ests/examples/slesTestRecBuffQueue.cpp
ests/examples/slesTestSawtoothBufferQueue.cpp
ests/examples/slesTestSendToPresetReverb.cpp
ests/examples/slesTestVirtualizerPath.cpp
ests/listening/slesTest_playMuteSolo.cpp
ests/mimeUri/Android.mk
ests/mimeUri/slesTestLoopUri.cpp
ests/mimeUri/slesTestPlayStreamType.cpp
ests/mimeUri/slesTestPlayUri.cpp
ests/mimeUri/slesTestPlayUri2.cpp
ests/mimeUri/slesTestSlowDownUri.cpp
ests/mimeUri/slesTest_playStates.cpp
ests/mimeUri_test.cpp
ests/sandbox/configbq.c
ests/sandbox/multiplay.c
ests/sandbox/reverb.c
ests/sandbox/urimime.c
cdd108bc03c02973b10a4f251acc15658fe55a40 10-Oct-2010 Glenn Kasten <gkasten@google.com> am 9a889c24: Interface testing and bug fixes

Merge commit '9a889c24ace7bbc9659e1531d7a61dc43452d7c0'

* commit '9a889c24ace7bbc9659e1531d7a61dc43452d7c0':
Interface testing and bug fixes
9fee52f67128ea00eee757f9706f3f832c744863 09-Oct-2010 Glenn Kasten <gkasten@google.com> am 2a25d97e: Object an interface initialization/destroy cleanup

Merge commit '2a25d97e40dbd5dd9195195a3a269095a4932097'

* commit '2a25d97e40dbd5dd9195195a3a269095a4932097':
Object an interface initialization/destroy cleanup
711332800108ad6e0e594796e5f8db0da3eff402 07-Oct-2010 Glenn Kasten <gkasten@google.com> More tests and bug fixes

New tests:
- urimime.c tests audio player with URI data source and MIME data format
- dim.c tests DynamicInterfaceManagement
- engine.c new test cases:
- create more than one engine simultaneously
- exit application without destroying engine first

Bug fixes:
- Can't request SLBufferQueueItf or its alias SLAndroidSimpleBufferQueueItf
if the data source is not a buffer queue.
- BufferQueue interface is explicit on AudioPlayer.
- OutputMixExt is unavailable (internal) on AudioPlayer.
- There was a nested mutex lock when resuming a non-suspended interface.
- This implementation supports at most one engine, so check for that
- Class configuration table had wrong entry for DynamicInterfaceManagement
on 4 of 10 classes.

Restore most of the infrastructure for removing interfaces (code review):
- DynamicInterfaceManagement is included, but body of RemoveInterface is compiled
out, and replaced by FEATURE_UNSUPPORTED until all our deinit hooks are clean.
- Remove hook must be called with mutex locked, rather than unlocked as before.
The remove hook is called during IDynamicInterfaceManagement::RemoveInterface
and Object::Destroy, so the entry conditions must be the same.
- Add NULL remove hooks to the interface hook table.

Change-Id: I328dd254ed24a32b220996a6d9592cc8c0f4e943
Miscellaneous:
- Always memset object to garbage in Object::Destroy to catch broken applications.
- Add comments about how GetInterface manipulates the v-table pointer (code review).
- Re-enable DynamicInterfaceManagement for testing the example code.
ibopensles/Android.mk
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IObject.c
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/sandbox/Android.mk
ests/sandbox/dim.c
ests/sandbox/engine.c
ests/sandbox/urimime.c
104c000a6f36b871ca11e0394db1e5217f374caf 06-Oct-2010 Glenn Kasten <gkasten@google.com> Interface testing and bug fixes

Add some new tests, and fix the bugs they found.

New and improved tests:
Added output mix API test with focus on interfaces.
Add mute solo and seek test cases to the automated buffer queue test.
Buffer queue configuration test is now listenable:
Buffer queue configuration test now generates a sequence of sine
waves in order so that the listener can tell if each format is
supported correctly.

Bug fixes:
Engine::Create... was not checking if the interface was available
for a particular class. Fixing that bug showed some other bugs
in the class/interface configuration tables.
The effects interfaces is available on an output mix.
The Volume interface is not available on an output mix.
The Object interface can do GetInterface before realized.
OutputMix interface is available on an OutputMix;
needed by the demos/examples in back of book
OutputMix::ReRoute fails if number of output device IDs is not 1.
Improve interface checks on a buffer queue source.
Don't allow mute solo interface on a mono buffer queue.
The earlier code to check for seek interface on a buffer queue
compared by address, which didn't work if application
used a private copy of the GUID. Now compares using the
MPH which will work in all cases.
Buffer queue, effect send, and mute solo are explicit interfaces on audio player.
slCreateEngine was not publishing the engine object.

Miscellaneous cleanup:
Removed the hard-coded fake device ID constants in
OutputMix::ReRoute that were there just for testing.
In Engine::Create..., log an error for all unsupported interfaces, not just the first one.
Make hash generator build again:
It turns out interfaces.c is needed, even though it duplicates
OpenSLESUT.c. Restore from 1a6bb4f8e738c9387dc9629db294ea5de618a53c.
Remove some redundant comments.

Change-Id: Iddabe73e298b69a44f3b43ed224c918eb95961a1
ibopensles/Android.mk
ibopensles/IBassBoost.c
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/IOutputMix.c
ibopensles/IPresetReverb.c
ibopensles/IVirtualizer.c
ibopensles/classes.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/automated/BufferQueue_test.cpp
ests/sandbox/Android.mk
ests/sandbox/configbq.c
ests/sandbox/outputmix.c
a9a70a4451545034c9263dd55b181f2912534c37 05-Oct-2010 Glenn Kasten <gkasten@google.com> Object an interface initialization/destroy cleanup

Prior to this, object and interface fields were being initialized
and deinitialized in random places. This resulted in some real and
potential leaks, especially in the case of partial object construction.
There were even some places where fields were not being initialized
at all.

Details:

Move destructor for AndroidEffectCapabilities from CEngine::Destroy
to IAndroidEffectCapabilities deinit hook.
Move destructor for equalizer preset names from CEngine::Destroy
to IEngine deinit hook.
In Object::Destroy, call deinitializer for each initialized interface,
regardless whether it was ever exposed.
Remove double initialization of mStepSize in IPlaybackRate constructor.
Remove obsolete logs.
Add expose hooks that are called when interface is requested in
Engine::Create... or by DynamicInterface::AddInterface.
Always initialize all interfaces, even if not exposed
Fix typos in same-line comments on INTERFACE_ constants.
Add new interface state INITIALIZED: uninitialized -> initialized -> exposed.
DynamicInterface::Remove sets interface state to initialized (but
not exposed), instead of uninitialized.
Add explicit constructor calls to initialize fields in C structs
(e.g. smart pointers), using placement new. See also build warning
which was turned off with -Wno-invalid-offsetof.
Add comments about per-instance fields not associated with an interface.
Add default initializations for all per-instance fields that are
not associated with an interface, in case the object is only partially
constructed and then needs to be destroyed due to an error.
Add placement new comments.
Update comments on private per-instance fields not associated with an interface.
Move effect clears from the containing object destructor
(CAudioPlayer_Destroy and COutputMix_Destroy) to the interface
destructor. In this process this caught a bug that environmental
reverb and preset reverb were not being destroyed properly for an
audio player.
Add comments on interface hooks.
Add entries for interface destructors.
Add placement new (explicit constructor) and explicit destructor calls
for C++ fields in C struct.
Fix template instantiation error.
Move explicit calls to IBufferQueue_Destroy (now renamed to
IBufferQueue_deinit) from CAudioPlayer_Destroy and CAudioRecorder_Destroy
to be implicit via the BufferQueue interface deinit hook.
ThreadSync interface destructor now logs a warning if
ThreadSync::EnterCriticalSection was active at Engine::Destroy
Add some comments.
Clean up gMonitorFp close code.
Fix typo in log message.
Fix DynamicInterface to handle distinction between UNINITIALIZED and
INITIALIZED states for an interface, and to call the optional expose hook.
Do not use memset per interface, because the size of the last interface is unknown.
Set the v-table pointer while lock is held.
Add curlies to if statements.
Log errors if interfaces active during Object::Destroy, instead of asserting.
Log a warning if interface requests an interface but it is not available,
and is optional.
Add log with the class name and address of each new object.
Mark only interfaces with init hooks as INITIALIZED; others are UNINITIALIZED.

Change-Id: Ibb9c1b5f21e6195af6b20b2f7a5c7157905b735b
ibopensles/CAudioPlayer.c
ibopensles/CAudioRecorder.c
ibopensles/CEngine.c
ibopensles/IAndroidEffect.c
ibopensles/IAndroidEffectCapabilities.c
ibopensles/IBassBoost.c
ibopensles/IBufferQueue.c
ibopensles/IDeviceVolume.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IDynamicSource.c
ibopensles/IEngine.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IEqualizer.c
ibopensles/IMetadataExtraction.c
ibopensles/IObject.c
ibopensles/IPlaybackRate.c
ibopensles/IPresetReverb.c
ibopensles/IRecord.c
ibopensles/IThreadSync.c
ibopensles/IVirtualizer.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/android_OutputMix.cpp
ibopensles/sles.c
ibopensles/sles_allinclusive.h
a3295c3186ada888f7b2088ed2baab28019e8654 04-Oct-2010 Glenn Kasten <gkasten@google.com> am 182f822e: Add new test, fix bugs found by test & code review

Merge commit '182f822e7110bac4947ba8bded1c90ce8050c0fd'

* commit '182f822e7110bac4947ba8bded1c90ce8050c0fd':
Add new test, fix bugs found by test & code review
9e60b0a390d780539459f41c2bf4a45a326a7b62 30-Sep-2010 Glenn Kasten <gkasten@google.com> Add new test, fix bugs found by test & code review

Bugs:
- EnvironmentalReverb::GetEnvironmentalReverbProperties left mutex
unlocked at end.
- buffer queue configuration test revealed not checking enough
combinations
- would have failed conformance test in a couple places
- replace peek locks by shared locks for SMP
- undocumented symbols were being exported by library
- fix handling of EffectSend for MIDI player

New test:
- Add reverb test

Miscellaneous:
- Move some FIXME to to-do list where they are easier to organize
- Fix typos in name of profile constant
- EffectSend::IsEnabled sets enabled = false for unsupported aux effect.
- Add curlies to if statements.
- Add more error logging.
- Fix indentation in switch statement.
- Add comments to makefile.

Details:
- Reduce visibility of libOpenSLESUT symbols.
- Use LOCAL_STATIC_LIBRARIES := libOpenSLESUT where needed in
applications.
- Move FIXME for OEM configuration, interface, SDL, Sndfile,
buffer queue, destroy to to-do list
- For SDL, disallow buffer queue with source not 44.1 kHz because it
is hard-wired to 44.1 kHz and there is no sample rate converter.
- return successful result for enabled effect send on unsupported
MIDI player
for future conformance testing

Change-Id: I39cb543169996f78c16e3ac363ea6157a9242743
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/CEngine.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IEqualizer.c
ibopensles/IOutputMixExt.c
ibopensles/MPH_to.c
ibopensles/SndFile.c
ibopensles/sles.c
ibopensles/sync.c
ests/sandbox/Android.mk
ests/sandbox/reverb.c
549c12dfd7a05f3ab3a8796f3d5dc73b08d22f16 30-Sep-2010 Glenn Kasten <gkasten@google.com> am 6e13f90b: Merge "Add buffer queue configuration test" into gingerbread

Merge commit '6e13f90bdc8c5354bef9a779a366216d87d9e5d9'

* commit '6e13f90bdc8c5354bef9a779a366216d87d9e5d9':
Add buffer queue configuration test
c7bf8cda678ef47171e3cf17d106047431db6fed 30-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 8c5a381a: Lock tweak between interface and object

Merge commit '8c5a381a265210f069a370565f10ce31bf886346'

* commit '8c5a381a265210f069a370565f10ce31bf886346':
Lock tweak between interface and object
46ad0ab6e46f99e01175ef99d49174bc10ec1457 30-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 614d5407: Code cleanup: function name unification.

Merge commit '614d5407d3fac1dae8975722f25e671642041282'

* commit '614d5407d3fac1dae8975722f25e671642041282':
Code cleanup: function name unification.
5f34a9086031b9bd3affd54463c82f7f66a97e02 30-Sep-2010 Glenn Kasten <gkasten@google.com> Merge "Add buffer queue configuration test" into gingerbread
df30c8bcac7de55c9d9f7e4cde7aac24158d8941 30-Sep-2010 Glenn Kasten <gkasten@google.com> Add buffer queue configuration test

Add comments to makefile for each test

Change-Id: I8741d93e7aadb02c4b75e3a0a7a81d593dfa7f97
ests/sandbox/Android.mk
ests/sandbox/configbq.c
5e4eb453e8521085f3aa63628e789abc0e317f66 30-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 67537364: Fix issues with SLPlaybackRateItf interface

Merge commit '67537364adc48cd6fa56e36d4201428b5d9dedaf'

* commit '67537364adc48cd6fa56e36d4201428b5d9dedaf':
Fix issues with SLPlaybackRateItf interface
8a1b7f28c1c3de212a302182022310ab7b227788 30-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Lock tweak between interface and object

When locking the interface for the prefetch status, lock the
object instead of the prefetch interface, as it updates
the android object state.

Fix the playState test app.

Change-Id: Ib4e0e99a4cf0720e2b7ebd920fe92f69377f19d9
ibopensles/IPlaybackRate.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/locks.c
ests/mimeUri/slesTest_playStates.cpp
0ac71cb5890738ea93c26a9f567be2b523235c64 29-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Code cleanup: function name unification.

Change-Id: I37790738d81bb8d6b5496467a93c17c6f1385b8f
ibopensles/IBufferQueue.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/locks.c
ibopensles/sles_allinclusive.h
24430c9070298f12e68b84c921add38da6ad0490 29-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix issues with SLPlaybackRateItf interface

Set rate was not applied when the AudioTrack is created after
prepare completed.
Modified playback rate functions in AudioPlayer to pass a
CAudioPlayer pointer, rather than a pointer to IPlaybackRate
so the rate update function can be queried from the CAudioPlayer.
Added test that exercises the SLPlaybackRateItf interface as
well as content looping.
Simplified evaluation of delay between decode and render to
use a fixed (small) delay that balances time to run the
event looper, and prevents clicks.

Change-Id: I598e9a96e93ef7a7c3603c8467f9d6b36dacd26d
ibopensles/Android.mk
ibopensles/IPlaybackRate.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/android_prompts.h
ibopensles/classes.c
ibopensles/sles.c
ests/mimeUri/Android.mk
ests/mimeUri/slesTestSlowDownUri.cpp
8014f721ebc111b64b25de65130316f82787335b 29-Sep-2010 Glenn Kasten <gkasten@google.com> am 3dbc7f94: Merge "Add MuteSolo checks for audio player and fix bugs" into gingerbread

Merge commit '3dbc7f94e5273737f68cf42898945b3ce92b565e'

* commit '3dbc7f94e5273737f68cf42898945b3ce92b565e':
Add MuteSolo checks for audio player and fix bugs
c0d58ae8d307d2fc44ae36cba0b4956d0973e2a3 29-Sep-2010 Glenn Kasten <gkasten@google.com> Merge "Add MuteSolo checks for audio player and fix bugs" into gingerbread
f6f5ceb363286d5ebef2c2e70c8a5aa135d5d1ee 28-Sep-2010 Glenn Kasten <gkasten@google.com> Add MuteSolo checks for audio player and fix bugs

The specification says "This [SLMuteSoloItf] interface cannot be
exposed on a player whose audio format is mono." This has a lot of
implications ...

Deny an explicit interface request for SLMuteSoloItf at audio player
creation time if the player is known pre-realize to have mono channel
count (e.g. PCM buffer queue).

Deny a GetInterface on MuteSolo if channel count is known to be mono,
but allow it if the channel count is still unknown.

When DynamicSource (or its replacement) is implemented, it will be
possible for the application to have done a GetInterface successfully,
and then to change the source such that the MuteSolo interface is
no longer valid. In that case, return SL_RESULT_FEATURE_UNSUPPORTED
for most MuteSolo operations, if called when channel count is unknown
or is mono. We _do_ allow MuteSolo::GetChannelCount to succeed if
channel count is known to be mono.

Enhance the URI-based mute solo test to check some of the above,
and the interactive buffer queue test to get and test the channel count.

Add curly braces to if statements.

Other bug fixes:
- Do not rely on peek locks; they don't work on SMP.
- Channel count and sample rate were not being set correctly
for buffer queue data source audio players.
- CreateAudioPlayer and AudioRecorder were both referring to
application pointers more than once, with the possibility of
reading inconsistent data.

Change-Id: Ie0109cbddc0aff8a56c0b53d989fb2be823e627b
ibopensles/CAudioPlayer.c
ibopensles/IEngine.c
ibopensles/IMuteSolo.c
ibopensles/IObject.c
ibopensles/sles.c
ests/listening/slesTest_playMuteSolo.cpp
ests/sandbox/intbufq.c
92d3272cad06db98fee33af3755b628e7bd3229c 28-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 59c678dd: Merge "Fix bug 3004701 do not prefetch during Realize." into gingerbread

Merge commit '59c678ddde54c2532ff64c6414f45e9a150d7651'

* commit '59c678ddde54c2532ff64c6414f45e9a150d7651':
Fix bug 3004701 do not prefetch during Realize.
a2dbd139671cb24fc2b70628879f7f8270a952d5 28-Sep-2010 Glenn Kasten <gkasten@google.com> am daccf40f: Enable and test more interface ID queries

Merge commit 'daccf40f73133a1220cc4ab8af45c59b1df9eeae'

* commit 'daccf40f73133a1220cc4ab8af45c59b1df9eeae':
Enable and test more interface ID queries
8da978bd13fbc2df9bb8391635f9b5b19fcbe0fd 28-Sep-2010 Glenn Kasten <gkasten@google.com> am bf414743: Add engine interface test

Merge commit 'bf4147433b223bf98a7177d778d422a89c90e965'

* commit 'bf4147433b223bf98a7177d778d422a89c90e965':
Add engine interface test
83046edf745416ed68bd258f43ecf202eb6b2131 28-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 3004701 do not prefetch during Realize." into gingerbread
3ddf7a34cc617e52a9b9a5593a0d1c5ef8d22bd9 28-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3004701 do not prefetch during Realize.

Removed unused Android object states in enum, not used in
play state machine.
Made SfPlayer responsible for the creation of its
AudioTrack once it knows the sample rate and number of
channels of the content to play once it's done
preparing.
Added notification from SfPlayer to signal when it's
done preparing. This informs of the audio characteristics
and kicks off the content prefetching.
In the AudioPlayer realize:
- do not start the prefetching, do it when the player
is set to PAUSED
- don not create the AudioTrack, do it when SfPlayer
is done preparing.

Change-Id: Ic345040e71cef0e5953ea47366930d1dfbc5e761
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/android_prompts.h
ibopensles/sles_allinclusive.h
ests/mimeUri/Android.mk
c2b9d79c4b59caff965076f445f5a735a360b084 28-Sep-2010 Glenn Kasten <gkasten@google.com> Enable and test more interface ID queries

Enable Engine::IEngine_QueryNumSupportedInterfaces and
Engine::QuerySupportedInterfaces.
Add object ID test.
Return SL_RESULT_FEATURE_UNSUPPORTED from Engine::Create... if the
corresponding class is not configured..
Add slesutObjectIDToString to utility toolkit.

Change-Id: I28b8beff71d65e7eccd558e586652bb606c89848
ibopensles/IEngine.c
ibopensles/MPH_to.c
ibopensles/OpenSLESUT.c
ibopensles/OpenSLESUT.h
ibopensles/classes.c
ibopensles/sles.c
ests/sandbox/Android.mk
ests/sandbox/object.c
66cdb5cbc35a5f8d4b577ef23da8b2b949a0188c 28-Sep-2010 Glenn Kasten <gkasten@google.com> am 0673981b: Merge "Destroy for an unrealized engine was hanging" into gingerbread

Merge commit '0673981b5807e901fc8f025052bcac0ac3654a7f'

* commit '0673981b5807e901fc8f025052bcac0ac3654a7f':
Destroy for an unrealized engine was hanging
0ebf0955018350efcda5c92ab8afd5840fcd1ba4 28-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 6e31131d: Remove old stream type code that\'s not used anymore.

Merge commit '6e31131dc148be814134987404c89ee946e432ca'

* commit '6e31131dc148be814134987404c89ee946e432ca':
Remove old stream type code that's not used anymore.
1d8ab068ca8a72771514b443b42003ca06623d5e 28-Sep-2010 Glenn Kasten <gkasten@google.com> Add engine interface test

Change-Id: I5c1fd1e8ab6dc050f416f28708e3ef218910cd8d
ests/sandbox/Android.mk
ests/sandbox/engine.c
d893682c93f5dfca68073106d702520cefc34a2f 28-Sep-2010 Glenn Kasten <gkasten@google.com> Merge "Destroy for an unrealized engine was hanging" into gingerbread
3fcbb415274d5c32eafbcedb82e7914ef7c657ee 28-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Remove old stream type code that's not used anymore.

Change-Id: I66e0d93ffa8fbf8fd64642d5554026513d561153
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
fff44558a7fdbe741607b25fbd4344fe9ab94c17 28-Sep-2010 Glenn Kasten <gkasten@google.com> Destroy for an unrealized engine was hanging

Change-Id: Ib11b15fe40726d2f9aad0c54fa66382824c95cfa
ibopensles/CEngine.c
238d785dd1e93c7a362962a15803d3d8bcdbcd2b 27-Sep-2010 Glenn Kasten <gkasten@google.com> am db7f4632: Initialize mEffects if audio player partly created

Merge commit 'db7f4632cb8a69a17bb1cbba82ed03ba36591e88'

* commit 'db7f4632cb8a69a17bb1cbba82ed03ba36591e88':
Initialize mEffects if audio player partly created
b53d7081eafa71685d04fade76126b18c0744ad4 27-Sep-2010 Glenn Kasten <gkasten@google.com> Initialize mEffects if audio player partly created

See https://android-git.corp.google.com/g/70088
File opensles/libopensles/android_AudioPlayer.cpp
Line 1111: if (NULL != pAudioPlayer->mAndroidEffect.mEffects) {
mAndroidEffect.mEffects is not initialized to NULL.

Change-Id: Ic6b952748c7a8024c797d7bec4a26cb138fa8840
ibopensles/IAndroidEffect.c
ibopensles/IAndroidEffectCapabilities.c
ibopensles/android_AudioPlayer.cpp
4944c234e75ed7a88e36e624c523d56b3c8868bc 27-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 33d87958: Fix AudioTrack sessionId bug

Merge commit '33d8795864d722be83cac7c6e7bc675991a7d7dc'

* commit '33d8795864d722be83cac7c6e7bc675991a7d7dc':
Fix AudioTrack sessionId bug
1bdb242fcdff06d4dfbf8a69a54a63e9f843fdb0 27-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix AudioTrack sessionId bug

The sessionId associated with an AudioPlayer is initialized during
its creation. The sessionId was not passed to the AudioTrack
constructor.

Change-Id: I9ccafd707313367f8da78013575cd6048637f240
ibopensles/android_AudioPlayer.cpp
d9317fab0a20caa6c81d63ba70950a5596371656 27-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 3d2470a7: Remove unused Android object type AUDIOTRACK_PUSH

Merge commit '3d2470a7f5c936182f1d6179b290814d8a620f9d'

* commit '3d2470a7f5c936182f1d6179b290814d8a620f9d':
Remove unused Android object type AUDIOTRACK_PUSH
b2838f652722e4f26269aeb7db258f5d1eec7814 27-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Remove unused Android object type AUDIOTRACK_PUSH

Change-Id: I1ab5494ae47239eed0b0a18dc817e3b0ead37871
ibopensles/android_AudioPlayer.cpp
ibopensles/sles_allinclusive.h
69db9e689c797e60e3791de3b055fd1e7e85fe62 27-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 90370624: Merge "Support content looping for URI and FD data sources." into gingerbread

Merge commit '9037062468ac020b7c64992c6dba4dda066a5454'

* commit '9037062468ac020b7c64992c6dba4dda066a5454':
Support content looping for URI and FD data sources.
f9f752208f2521f92389f17592ffe335ccfb65eb 27-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Support content looping for URI and FD data sources." into gingerbread
d94d32190f845b41f212c9c1918758e33fef6382 26-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Support content looping for URI and FD data sources.

Implement SetLoop() on AudioPlayer with URI and FD
data sources. Only looping over the whole duration
of the audio content is supported here.

Change-Id: Ic033f61063e57c3a9f8c51bad15852a42b21ab46
ibopensles/ISeek.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ests/mimeUri/Android.mk
ests/mimeUri/slesTestLoopUri.cpp
de7b3f4c7eda37e2201a44ac3ec0aba8360ed0bf 27-Sep-2010 Glenn Kasten <gkasten@google.com> am 4a03820f: Restore the 2 unmerged equalizer tests

Merge commit '4a03820f21ebdcb5fe949b9f88aa710417686d69'

* commit '4a03820f21ebdcb5fe949b9f88aa710417686d69':
Restore the 2 unmerged equalizer tests
3e5c4d36074ffd81c468bb9e9d5a15564e6e99aa 26-Sep-2010 Glenn Kasten <gkasten@google.com> Restore the 2 unmerged equalizer tests

Change-Id: I667cfdddd34fff7017fedab9ee84e954c1c9f690
ests/examples/Android.mk
ests/examples/Android.mk_
ests/examples/slesTestEqOutputPath.cpp
526172299abfbce6900762d992762abafbc678a1 26-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am d570bd0a: Log which effect initialization function is used.

Merge commit 'd570bd0affa00595dc79c0b7fbaf735de4c51407'

* commit 'd570bd0affa00595dc79c0b7fbaf735de4c51407':
Log which effect initialization function is used.
a013b478c73d494afc668909ec52f578f2bc966d 26-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Log which effect initialization function is used.

Change-Id: I7c5c7440e50d65faf3dadf360e7a3a23dc5d7781
ibopensles/android_Effect.cpp
92452c4afd5be4347c84b06402947e9d47adb737 26-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 90417a10: Implement buffer cache fill level and status notification.

Merge commit '90417a10fd988e37bc4e51b61c2fb8e70301345c'

* commit '90417a10fd988e37bc4e51b61c2fb8e70301345c':
Implement buffer cache fill level and status notification.
0761481b70b30bdf38c43cb7e72f35031c18e38b 26-Sep-2010 Glenn Kasten <gkasten@google.com> am 0cfa1a91: Temporary fix for broken build

Merge commit '0cfa1a912815f84c086c285e63cb01a4f0b1f93f'

* commit '0cfa1a912815f84c086c285e63cb01a4f0b1f93f':
Temporary fix for broken build
ff037a1f697a15fb4249e62fe783f22398572cbe 21-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement buffer cache fill level and status notification.

OpenSL ES requires the notification of buffering status
changes and caching fill level updates. Fill level
updates happen only when the level has changed by
a certain amount.

Change-Id: I8b5e82ac1dfff35d7a27eda0dd1f395311d554f3
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ests/mimeUri/slesTestPlayUri.cpp
a4106829c36285cac8f39b6bedb7f8c0d60a7e4e 26-Sep-2010 Glenn Kasten <gkasten@google.com> Temporary fix for broken build

Change-Id: I1b02cbe6ce22766ccbab4e8bf040418eba69d6fc
ests/examples/Android.mk
ests/examples/Android.mk_
7ce21bf9b3cf8b804bf675283c9504a642e35fa1 26-Sep-2010 Glenn Kasten <gkasten@google.com> am bd2fc031: Replace one configuration hack by another

Merge commit 'bd2fc031926582ee8b0df40673c66dfa4cc45a61'

* commit 'bd2fc031926582ee8b0df40673c66dfa4cc45a61':
Replace one configuration hack by another
5e3b06982dbf1eae237cc74326e66d51d3cdd664 26-Sep-2010 Glenn Kasten <gkasten@google.com> Replace one configuration hack by another

Previous hack allowed an application to call GetInterface for any
interface prior to Realize. The new hack allows an application
to do so only for interfaces which have a "pre-realize OK"
relationship to their associated class. Currently this is
SL_IID_ANDROIDCONFIGURATION.
Reduce logging in record test.
Allow default tracing level to be set in makefile.
Line length 100.

Change-Id: Id17c55ee7284dca108e0eab379a8f987963fd8c4
ibopensles/Android.mk
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestRecBuffQueue.cpp
24a830bf84183312673819a271cd232af0dc59db 26-Sep-2010 Glenn Kasten <gkasten@google.com> am e4d6cdb3: Cleanup

Merge commit 'e4d6cdb3bafa5d83aa12686ae9f9a1cfcda0c154'

* commit 'e4d6cdb3bafa5d83aa12686ae9f9a1cfcda0c154':
Cleanup
673c20563ade6ab6847e684df62b5c5a8e3b1d50 25-Sep-2010 Glenn Kasten <gkasten@google.com> Cleanup

Remove obsolete source file interfaces.c.
Fix typo in conditional compile.
Clarify comment.

Change-Id: I46e93c61fc0d192118a0f17b5b735ec2118298df
ibopensles/Android.mk
ibopensles/IDynamicInterfaceManagement.c
ibopensles/SDL.c
ibopensles/interfaces.c
b2a526bcf470ef79295ae4780c7ac4407224b1c6 25-Sep-2010 Glenn Kasten <gkasten@google.com> am 48969e39: Fix problems found during testing

Merge commit '48969e39faa340d20b6bcab7c7e27c711be85654'

* commit '48969e39faa340d20b6bcab7c7e27c711be85654':
Fix problems found during testing
5a842c7f04502fd6df7ec677f11fb4bcf45fbc66 25-Sep-2010 Glenn Kasten <gkasten@google.com> am 3ac54e4d: Fix bug found by BufferQueue automated test

Merge commit '3ac54e4d6e699467b608a4f0eda6023d50d3cd61'

* commit '3ac54e4d6e699467b608a4f0eda6023d50d3cd61':
Fix bug found by BufferQueue automated test
93e67f2acd2d379fb04b9804e07114a3540f12e0 25-Sep-2010 Glenn Kasten <gkasten@google.com> am 51cb31b0: As part of API review, disable incomplete profiles

Merge commit '51cb31b09f6af53402b3fbe7e9de29badc1155a2'

* commit '51cb31b09f6af53402b3fbe7e9de29badc1155a2':
As part of API review, disable incomplete profiles
04c7354b8a9afcf2151c00c1dfbc64d0ba5d33cc 24-Sep-2010 Glenn Kasten <gkasten@google.com> Fix problems found during testing

Fix crash in android_audioPlayer_destroy if audio player is only partially
constructed, e.g. when using a buffer queue source and the buffer count
is invalid etc.
Add temporary workaround to buffer queue automated test to be quieter if
hardware volume control is not working.
Make the record test less noisy on console.

Change-Id: Ief255c3f5f3c94c990f589b2373686b2ac526dd3
ibopensles/android_AudioPlayer.cpp
ests/automated/BufferQueue_test.cpp
ests/examples/slesTestRecBuffQueue.cpp
43ad61e9e61b332f7d9f2b991954fcac4c11d691 23-Sep-2010 Glenn Kasten <gkasten@google.com> Fix bug found by BufferQueue automated test

Fix bug for destroying partially constructed audio player.
Remove obsolete logging.

Change-Id: Ib186153bf50ed1311c021d53711ec90d000bdee2
ibopensles/CAudioPlayer.c
ibopensles/IOutputMixExt.c
ests/automated/BufferQueue_test.cpp
a3080daa505f91df51a808c85ddb37c48745bf7c 21-Sep-2010 Glenn Kasten <gkasten@google.com> As part of API review, disable incomplete profiles

Don't compile dead code relating to unsupported features, but keep profiles for CT.
Move whole file conditionals from the source code to Android.mk,
by just not compiling the module for unsupported features.
There must an interface initialization hook present to expose an
interface implicitly or explicitly at object creation time, or
to dynamically add an interface after the object is created. As
a safety check, we also double-check for the initialization hook
when the application does a GetInterface.

Miscellaneous bug fixes:
- Fix warning "variable may be used uninitialized in this function".
- Fix build errors on SDL.
- Was using the wrong conditional for SDL.
- Fix typo mInterfaceContinued -> mInterfaceStates2 in AudioRecorder.
- Fix typo in IEngineCapabilities_init.

Other cleanup:
- Move ugly SDL-specific stuff out of the portable code.
- Combine duplicated code in CAudioPlayerDestroy and
CAudioRecorder_Destroy for freeing buffer queue memory.
- Add curlies to if and do statements.
- Line length 100.
- Decrease engine voices from 32 to 30 (based on max of 32 objects, 1 engine, 1 output mix).
- Disable IRecord_init log.
- Add symbolic link for Android configuration header file.
- Enable trace on Android.
- sl_int64_t is now unconditionally defined rather than only if
ANDROID defined, because it is used by OpenSLES_Android.h which
might be included by SDL also.
- Removed symlink for Android headers

Change-Id: I1a6389257bca09e3819923129a1193473e16669b
nclude/OpenSLES_Android.h
nclude/SLES/OpenSLES_Platform.h
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/CAudioRecorder.c
ibopensles/CEngine.c
ibopensles/COutputMix.c
ibopensles/IAndroidConfiguration.c
ibopensles/IAndroidEffect.c
ibopensles/IAndroidEffectCapabilities.c
ibopensles/IAndroidEffectSend.c
ibopensles/IAudioDecoderCapabilities.c
ibopensles/IBufferQueue.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IEqualizer.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/IRecord.c
ibopensles/IVirtualizer.c
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/SLSndFile.h
ibopensles/SndFile.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sllog.h
ibopensles/trace.c
ebcc4bf01b61b145d2bd9da3ef9d4e654bbd6d61 23-Sep-2010 Glenn Kasten <gkasten@google.com> am 1a6bb4f8: Android simple buffer queue locator and interface

Merge commit '1a6bb4f8e738c9387dc9629db294ea5de618a53c'

* commit '1a6bb4f8e738c9387dc9629db294ea5de618a53c':
Android simple buffer queue locator and interface
01e9f5fa4698856f92bcfd88188ee4c8397b22db 22-Sep-2010 Glenn Kasten <gkasten@google.com> Android simple buffer queue locator and interface

Bug fixes:
Fix bug in error handling and recovery for checkDataSource - potential memory leak.
Clean up MPH table; there were some missing and uncommented entries.

Testing:
Add comments about using the END macro to test the MPH table.
Convert feedback test from buffer queue to Android simplified
buffer queue for rx side only, tx is still 1.0.1 buffer queue.
Add option to sample/intbufq test to use build option to decide
whether to use 1.0.1 buffer queue or Andorid simple buffer queue.
Convert record test for new APIs.

Miscellaneous:
Update hashgen table and add an install rule.
Add comments.
Add more logging.
Line length 100.
Fix build warning.
Double indent.
Fix SL_DATALOCATOR value for FD.

Change-Id: I35cce8934157fed88251e846b1beb15523b2b1a6
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/IEngine.c
ibopensles/IID_to_MPH.c
ibopensles/IRecord.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLESUT.c
ibopensles/OpenSLES_IID.c
ibopensles/SndFile.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/android_prompts.h
ibopensles/classes.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/examples/slesTestEffectCapabilities.cpp
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestFeedback.cpp
ests/examples/slesTestRecBuffQueue.cpp
ests/examples/slesTestVirtualizerPath.cpp
ests/listening/slesTest_playMuteSolo.cpp
ests/mimeUri/slesTestPlayStreamType.cpp
ests/mimeUri/slesTestPlayUri.cpp
ests/sandbox/intbufq.c
ools/hashgen/Makefile
ools/hashgen/README.txt
c569a0ed974f29eef2547ded37f50b6de23dd7ff 22-Sep-2010 Glenn Kasten <gkasten@google.com> am 3060d3cc: Add explicit dependency to utility library.

Merge commit '3060d3cc0207e3ca1b862742d60ffde68e3db817'

* commit '3060d3cc0207e3ca1b862742d60ffde68e3db817':
Add explicit dependency to utility library.
fd640f8202a0cf94421b37dddf798864a1b173cd 22-Sep-2010 Glenn Kasten <gkasten@google.com> resolved conflicts for merge of df384abb to master

Change-Id: Id98b47d4ccc5f3a30b7f945cdebed6b48eef4936
93a283eaea47af6f4c97a22f49ed02a115b01dd8 22-Sep-2010 Glenn Kasten <gkasten@google.com> Add explicit dependency to utility library.

Change-Id: I3a85b071b355ac9e0c330a71e6457cb01b665af0
ests/automated/Android.mk
2e2d97d82283c7048db0fe1876708aee1badc423 22-Sep-2010 Glenn Kasten <gkasten@google.com> Quick fix for build break, real fix to follow

Change-Id: Ib8542a689a0287fe19cd74b14eceb6b4a8b6afeb
ests/automated/Android.mk
18c9f2428bf8a1e4a1bd629197b7adae8d25dc66 22-Sep-2010 Glenn Kasten <gkasten@google.com> am 03716fc6: Update logging

Merge commit '03716fc64636a68ba59881508e80550b948f0f40'

* commit '03716fc64636a68ba59881508e80550b948f0f40':
Update logging
a7b79e766ec6d95e9236168c27461c2ebaef4659 20-Sep-2010 Glenn Kasten <gkasten@google.com> Update logging

Fix bug in ifdef __cplusplus for OpenSLES_Android.h.
Clean up, simplify, and change level of a few log messages.
Use SL_LOGx macros instead of LOGx in SfPlayer.cpp.
Add comments regarding unsupported runtime log level checks.
Line length 100.

Change-Id: I52441ed6fbe9550248fa1b6944fc8e199f1f2724
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/IEngine.c
ibopensles/IEqualizer.c
ibopensles/SndFile.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/android_OutputMix.cpp
ibopensles/android_SfPlayer.cpp
ibopensles/locks.c
ibopensles/sles_allinclusive.h
ibopensles/sllog.c
ibopensles/sllog.h
ibopensles/trace.c
14b5747b70902966e686c845f5689e8a9e935f91 21-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am a0786c52: Fix bug 3022251

Merge commit 'a0786c52adce0defd7021d5718809e790493ebc0'

* commit 'a0786c52adce0defd7021d5718809e790493ebc0':
Fix bug 3022251
7fc9e14cb8d840df7242d37b55acff0b58d269c7 21-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3022251

Remove prefetch status error codes: not officially in OpenSL ES spec.

AndroidEffectCapabilities: no const for effect name

Android file descriptor data source: don't use a value that will
likely be used by the specification in the future.

Change-Id: I9b4e0d7eb265dc98c76021cddfe5a1f50b5eb6ef
nclude/SLES/OpenSLES.h
nclude/SLES/OpenSLES_Android.h
ibopensles/IAndroidEffectCapabilities.c
0c0df2ceb7f39be1ae26d13d3c445b37ac173225 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 10f409d1: Merge "Fix bug 3011821 OpenSL ES Volume chain configuration" into gingerbread

Merge commit '10f409d124265019fd5236de777f3d42b6142643'

* commit '10f409d124265019fd5236de777f3d42b6142643':
Fix bug 3011821 OpenSL ES Volume chain configuration
f3fd92a9fe6c5d8a0e24b6794f1eae9492279a94 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 3011821 OpenSL ES Volume chain configuration" into gingerbread
2bb411aebfd384ea4951695e56d8867d052c323b 20-Sep-2010 Glenn Kasten <gkasten@google.com> am 8bab86c5: Merge "Enable semi-standard logging (does not use LOG macros)" into gingerbread

Merge commit '8bab86c56f8e59faaf6616cb5267a76d6e24585f'

* commit '8bab86c56f8e59faaf6616cb5267a76d6e24585f':
Enable semi-standard logging (does not use LOG macros)
74487cf588950f8f8744a876dbc442ec280ef2cb 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 14b8d168: Fix AudioRecorder initialization error.

Merge commit '14b8d1684bd69070f0ce92fccc70771e40b54f94'

* commit '14b8d1684bd69070f0ce92fccc70771e40b54f94':
Fix AudioRecorder initialization error.
ca325fa86f9e52d8300490eee102a3c1188f6bdc 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3011821 OpenSL ES Volume chain configuration

When setting effect send levels, combine player volume level
with send level since AudioTrack doesn't have a distinct volume
and direct level. This fix ensures the send level changes
according to the player level, without being affected by direct
level changes.
When setting player volume, update the send level.

Change-Id: I372434267a7107c617a0fdd8c39e92e31e4c339b
ibopensles/IAndroidEffectSend.c
ibopensles/IEffectSend.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Effect.h
419d8ace8714b61d49aa0ade3a70a426494858b7 20-Sep-2010 Glenn Kasten <gkasten@google.com> Merge "Enable semi-standard logging (does not use LOG macros)" into gingerbread
7df8d48ba8306850543f726a024d77b25aee483e 20-Sep-2010 Glenn Kasten <gkasten@google.com> Enable semi-standard logging (does not use LOG macros)

This is a workaround for conflict in Stagefright's definition of LOG.

Change-Id: I985e2c08d6e86a1664654a2e8a0b8aea145b32ba
ibopensles/Android.mk
ibopensles/sles_allinclusive.h
ibopensles/trace.c
b0cf731f4d81a3d6f8cac31de3cdddbbf555c305 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix AudioRecorder initialization error.

CAudioRecorder fields mNumChannels and mSampleRateMilliHz are
initialized in IEngine.c CreateAudioRecorder(). It is an error
to reset them in the Create of AudioRecorder.

Change-Id: I61568b225ad1303a3f8b0d846aac8c0b848386f1
ibopensles/android_AudioRecorder.cpp
88224e7bb43d8e4ad67133d04fa24ae374db73b1 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 558dc028: Fix bug 3009239

Merge commit '558dc0284866620866e2628a14a0e7638bf109ea'

* commit '558dc0284866620866e2628a14a0e7638bf109ea':
Fix bug 3009239
b5ef0195d7b8fa1fceae5ef8a256ed19eb03cbed 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3009239

Query AudioRecord position for SLRecordItf->GetPosition()

Change-Id: I1a520b281d44105d34c92fd555e71013d5170c76
ibopensles/IRecord.c
ibopensles/android_AudioRecorder.cpp
ibopensles/android_AudioRecorder.h
24b2b28833dc592456340844f747eee91eeee699 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 4d99e2d4: Change object state test for SLAndroidConfigurationItf.

Merge commit '4d99e2d4836cc470204fb0806b5431e135dad330'

* commit '4d99e2d4836cc470204fb0806b5431e135dad330':
Change object state test for SLAndroidConfigurationItf.
5f71e35da153d194d805e030ab38935599e065d2 20-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Change object state test for SLAndroidConfigurationItf.

Change-Id: Iabd024720f361bcfa50f3a5daa433afa6caa4930
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
8033ad0b5a68d10ecd9cf34a318e888549f55909 19-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am d5c746ba: Remove the SLAndroidStreamTypeItf interface.

Merge commit 'd5c746ba436dfc4605672f4a9f8c0628521a9f21'

* commit 'd5c746ba436dfc4605672f4a9f8c0628521a9f21':
Remove the SLAndroidStreamTypeItf interface.
453dd564a81fe98b7a947ae4a9844a53fa957c2b 18-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Remove the SLAndroidStreamTypeItf interface.

It is now replaced by SLAndroidConfigurationItf which implements
the same functionality (and more).

Modified test to demo setting AudioPlayer stream type to use
SLAndroidConfigurationItf

Modified SLAndroidConfigurationItf to enable passing a
NULL pointer to value so the value size for the key ca
be queried.

Fixed type in AudioPlayer and AudioRecorder Android side
which reported an error if the SetConfig() function was
called when the object was unrealized (the intent is
to check that the object is NOT realized because we
are configuring the resources the object is going to use).

Change-Id: I20f3dba8c63066db94d537109854b4c4139f65b3
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/IAndroidConfiguration.c
ibopensles/IAndroidStreamType.c
ibopensles/IID_to_MPH.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/classes.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/mimeUri/Android.mk
ests/mimeUri/slesTestPlayStreamType.cpp
4a65830af6cf923933fe512d42a5c01be59dc190 18-Sep-2010 Yu Shan Emily Lau <yslau@google.com> am 50f2c4a4: Merge "Turn on the opensl samples." into gingerbread

Merge commit '50f2c4a4ed85a7309c5b806c900642e8488f653d'

* commit '50f2c4a4ed85a7309c5b806c900642e8488f653d':
Turn on the opensl samples.
e6117c64dc5d9100e9ddb2d75bf31e3e2eff0116 18-Sep-2010 Glenn Kasten <gkasten@google.com> am 31df22b1: Improve reliability of Object::Destroy / Create

Merge commit '31df22b193ea7c7c331d26a27fa6756a89c8ec3c'

* commit '31df22b193ea7c7c331d26a27fa6756a89c8ec3c':
Improve reliability of Object::Destroy / Create
20f327e81e9f20272b35abf1957c2108d351b995 18-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 4e18ff44: Allow Android stream type to be set by SLAndroidConfigurationItf.

Merge commit '4e18ff44c76f52102a6cf7d737a91025ca28feae'

* commit '4e18ff44c76f52102a6cf7d737a91025ca28feae':
Allow Android stream type to be set by SLAndroidConfigurationItf.
e22d0f3052ea36825c0df0bc7ea9852aaaa1da6a 18-Sep-2010 Yu Shan Emily Lau <yslau@google.com> Merge "Turn on the opensl samples." into gingerbread
f51dba65751107c930759938775b75531ec1f330 17-Sep-2010 Glenn Kasten <gkasten@google.com> Improve reliability of Object::Destroy / Create

Separated object construction from publishing, for better safety
with respect to the sync and debugger thread. Unpublished objects
exist and have an ID slot reserved, but the ID is not assigned.
Destroy of an unpublished object does the right thing.

Add pre-destroy checks:

- COutputMix all platforms: add check for players attached to
output mix. Object:: Destroy on an output mix that has at least
one attached player is a no-op, but will log an error.

- COutputMix for SDL: now asks the mixer callback to unlink output
mix from engine, and then blocks until SDL mixer callback
acknowledges the request; this avoids a race condition where the
SDL thread calls the mixer during destroy.

- C3DGroup: add check for players in group.
Object::Destroy on a 3D group that contains at least one player
is a no-op, but will log an error.

Object::Destroy on an audio player that is part of a 3D group now
removes the player from the 3D group during destroy.

Remove redundant field:

- CAudioPlayer.mOutputMix duplicated a field in DataSink.DataLocator_OutputMix;
removed mOutputMix and replaced by function CAudioPlayer_GetOutputMix
which gets the output mix from the data sink.

Remove dead code:

- IOutputMixExt_Destroy was obsolete.

Miscellaneous changes not related to destroy:
- Fixed an ancient bug in the class table for Listener object -
was using wrong offset for interfaces.
- Add curly braces around if, else, for bodies
- Add parentheses around complex conditionals
- Add some logging
- Fix indentation.
- Line length 100

Change-Id: I0035fe356e2a28c1932b5d265f881377aa77dc58
ibopensles/Android.mk
ibopensles/C3DGroup.c
ibopensles/CAudioPlayer.c
ibopensles/COutputMix.c
ibopensles/I3DGrouping.c
ibopensles/IAndroidEffectSend.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/OutputMixExt.h
ibopensles/android_Effect.cpp
ibopensles/classes.c
ibopensles/locks.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
719dfe48a4ffa7d26dc2652b92bf4b9c4a186619 18-Sep-2010 Yu Shan Emily Lau <yslau@google.com> Turn on the opensl samples.

Change-Id: I0ca645fe506e8690d960bf113472a400cd422ea3
ests/examples/Android.mk
ests/examples/Android.mk_
75e22870e41386cdc597bd29c76744d74d4c22ad 17-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Allow Android stream type to be set by SLAndroidConfigurationItf.

Allow Android stream type to be set through the
SLAndroidConfigurationItf interface, instead of the
SLAndroidStreamTypeItf interface, which is going away before
release.
The stream type is now stored in CAudioPlayer, and used before
the AudioTrack of the player is instanciated.

AudioRecorder preset and AudioPlayer stream type also implement
the following behavior: when querying a key with a NULL pointer
as destination for the value, the value size is updated with
the actual size used to store the value for the given key.

Change-Id: I652a5b463a220698c53fc1d2b485143b794a1d75
nclude/SLES/OpenSLES_Android.h
nclude/SLES/OpenSLES_AndroidConfiguration.h
ibopensles/IAndroidConfiguration.c
ibopensles/IAndroidStreamType.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_AudioRecorder.cpp
ibopensles/android_AudioRecorder.h
ibopensles/android_prompts.h
ibopensles/sles_allinclusive.h
ad1bd9eef34037e248e34d27f02bc2e2ab08f330 17-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am ac5c5fd9: Add example for SLRecordItf callback registration and use.

Merge commit 'ac5c5fd9e7513c046b792662606445ecdef2989c'

* commit 'ac5c5fd9e7513c046b792662606445ecdef2989c':
Add example for SLRecordItf callback registration and use.
9bc234ed758273259e334144cc6e1643b2494175 17-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Add example for SLRecordItf callback registration and use.

Change-Id: Ibcd27f5a49a42ddbcd313b30e7b07b1ce4f13705
ests/examples/slesTestRecBuffQueue.cpp
6a679b3faef5b7421deac21104c524f2bba0f4a3 17-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 3e94eeea: Merge "Signal recording buffer overrun with SL_RECORDEVENT_HEADSTALLED." into gingerbread

Merge commit '3e94eeeadfa0371449d8bbca7ad46c67742d5c10'

* commit '3e94eeeadfa0371449d8bbca7ad46c67742d5c10':
Signal recording buffer overrun with SL_RECORDEVENT_HEADSTALLED.
900be67c52144bd6c33f7a9b17e6711f9b47a7a8 17-Sep-2010 Glenn Kasten <gkasten@google.com> am 26fec8d0: Make hashgen build again, and update the hashtable

Merge commit '26fec8d02bbcde97ffbdfae58863cdeaae954e7e'

* commit '26fec8d02bbcde97ffbdfae58863cdeaae954e7e':
Make hashgen build again, and update the hashtable
d359e57e36715978db93b7efa7a57f7acf9c919e 17-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Signal recording buffer overrun with SL_RECORDEVENT_HEADSTALLED." into gingerbread
f6cca2f731329d101651348d1b7e51ead7b1290a 16-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Signal recording buffer overrun with SL_RECORDEVENT_HEADSTALLED.

Signal recording buffer overrun with SL_RECORDEVENT_HEADSTALLED,
not SL_RECORDEVENT_BUFFER_FULL because this latter is not
appropriate when recording to a buffer queue, and implies that
recording stops when it is hit.

Fix locks in IRecord.c: should be exclusive when changing
record attributes.

Change-Id: I763483a54c92128e3fba9d9c97a091f727f4f7fc
ibopensles/IRecord.c
ibopensles/android_AudioRecorder.cpp
acc29e37cfb74983fe79bb8f968d23cb6851d33a 16-Sep-2010 Glenn Kasten <gkasten@google.com> Make hashgen build again, and update the hashtable

Change-Id: Id0e5a25208adb4cef7f1d04fd3cceaff2a7a4554
ibopensles/IID_to_MPH.c
ibopensles/interfaces.c
ools/hashgen/Makefile
a7cfb279f147c77fc45360fc4348703886ff14b0 16-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 91ebb75c: Fix bug 3003630

Merge commit '91ebb75cfa76cc573ced127e59cad7dd950ce08a'

* commit '91ebb75cfa76cc573ced127e59cad7dd950ce08a':
Fix bug 3003630
5c6c654c6d9b9ec2ac4b8aebc0de4a606750a31f 16-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am d48ef8a6: Store sessionId in AudioPlayer.

Merge commit 'd48ef8a6143d7981a03ba1b18b41bf1be75c0838'

* commit 'd48ef8a6143d7981a03ba1b18b41bf1be75c0838':
Store sessionId in AudioPlayer.
3b142e50f4ae068f50f8e3d277e0f19910c67001 16-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3003630

Support record events HEADATMARKER, HEADATNEWPOS, BUFFER_FULL.

In SLPlayItf, remove useless boolean field for marker set and,
like in SLRecordItf, make ClearMarkerPosition() reset the
marker to 0.

Change-Id: Iac624d218b79fa7540c371d403de27bc5c291176
ibopensles/IPlay.c
ibopensles/IRecord.c
ibopensles/android_AudioRecorder.cpp
ibopensles/android_AudioRecorder.h
ibopensles/locks.c
ibopensles/sles_allinclusive.h
cfc526c2b4b341d5a5ec28c74049dbd115944858 16-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 2b10d238: Fix bug where OutputMix is not fully initialized by CreateOutputMix()

Merge commit '2b10d238deaa6df9789c8230fff2453df4a62277'

* commit '2b10d238deaa6df9789c8230fff2453df4a62277':
Fix bug where OutputMix is not fully initialized by CreateOutputMix()
0f3218cc48bc77842c347fd3e18375092b543929 16-Sep-2010 Eric Laurent <elaurent@google.com> am 88eb1c9e: Fixed C/C++ interworking problem in IAndroidEffect

Merge commit '88eb1c9e7a1a86e09fc7c56583414bb974873648'

* commit '88eb1c9e7a1a86e09fc7c56583414bb974873648':
Fixed C/C++ interworking problem in IAndroidEffect
957b5a7f4ee9a59227336305a4153e9b91a19cd6 16-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 81d6dbae: Merge "Add prefetch status error definitions." into gingerbread

Merge commit '81d6dbae0fa67e80b6aa3b6b886120c3aa4cb045'

* commit '81d6dbae0fa67e80b6aa3b6b886120c3aa4cb045':
Add prefetch status error definitions.
41b07fbf1156cd63bfe17105204ca8247012bd5a 16-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am c998babe: Rename default recording preset to generic.

Merge commit 'c998babeb963f874d4ae02e80d356bc41b80d343'

* commit 'c998babeb963f874d4ae02e80d356bc41b80d343':
Rename default recording preset to generic.
3d15cfe1b1723e87ff1d04065d2d5e631abf257b 16-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Store sessionId in AudioPlayer.

Store sessionId in AudioPlayer so it can be passed directly to
resources that need it, and the same session is kept during
the lifetime of the AudioPlayer object.

Change-Id: I97c46c88cfb9cc7a8147909f379716522c695b9d
ibopensles/IAndroidEffect.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/sles_allinclusive.h
43e7743b5297cc5afcb246a7e2b5d825a607f8af 15-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug where OutputMix is not fully initialized by CreateOutputMix()

In the implementation of SLEngineItf, CreateOutputMix() didn't call
android_outputMix_create() which initializes the mEffects pointers.
Added checks on SfPlayer in case an application start calling
interface functions when Realize() on an AudioPlayer isn't done.

Change-Id: Id3fb9f02b5c29a1d87255e7935542ebcf4b8dd46
ibopensles/IAndroidEffect.c
ibopensles/IEngine.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_OutputMix.cpp
ests/mimeUri/slesTestPlayUri.cpp
db5a8f9594bd72b360b4f637509e746e24945cc5 15-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am de8654b4: Implement SLAndroidConfigurationItf on AudioRecorder.

Merge commit 'de8654b40c7701ea213c157448cbb96c29522e39'

* commit 'de8654b40c7701ea213c157448cbb96c29522e39':
Implement SLAndroidConfigurationItf on AudioRecorder.
fd981376d49c192d1b7d26e9966e590987f5ef29 15-Sep-2010 Glenn Kasten <gkasten@google.com> am 83e00828: Reduce .so size and hide internal global symbols

Merge commit '83e00828044c7f9488dc5d863578939937e8a136'

* commit '83e00828044c7f9488dc5d863578939937e8a136':
Reduce .so size and hide internal global symbols
ca533f4e1c67e9136044f25ca84b65102c8892fd 15-Sep-2010 Eric Laurent <elaurent@google.com> Fixed C/C++ interworking problem in IAndroidEffect

The IAndroidEffect structure contains a KeyedVector object
which constructor was not called when the structure was allocated.

The fix consists in changing the structure member to a pointer
to a KeyedVector and create the object from C++ code when the
object containing the IAndroidInterface is created (AudioPlayer
and OutputMix).

Change-Id: I328b4b61537ddb178b33427c6bad06678a29647a
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Effect.cpp
ibopensles/android_OutputMix.cpp
ibopensles/sles_allinclusive.h
d7d18f940d5477238cd17060b6bf33867bc42f07 15-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add prefetch status error definitions." into gingerbread
e214a8c49938e7356943b59db53474e5fc3ae07c 15-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Rename default recording preset to generic.

Change-Id: I77144ebcc593001ca60b94f0176fc2287e7400fd
nclude/SLES/OpenSLES_AndroidConfiguration.h
ibopensles/android_AudioRecorder.cpp
e3105d7d252fe0d1018c3578a675a8d63714d823 15-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Add prefetch status error definitions.

Add prefetch status error definitions as defined in post SL ES 1.0.1.
Add fixmes for Android extension discovery.

Change-Id: I36161013f121b0fb0748311df9e8167e45f88808
nclude/SLES/OpenSLES.h
ibopensles/IEngine.c
b3e52a63baaea367cf411348b68ecd8fd429b029 14-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement SLAndroidConfigurationItf on AudioRecorder.

Enable the use of the configuration interface before the
AudioRecorder object is realized to set the recording
preset. Recording presets map to the Android
AudioRecord input source.

Change-Id: I804095a0b39e4676862f6bc8e7fbaa0ba63b9336
nclude/SLES/OpenSLES_AndroidConfiguration.h
ibopensles/IAndroidConfiguration.c
ibopensles/IObject.c
ibopensles/android_AudioRecorder.cpp
ibopensles/android_AudioRecorder.h
ibopensles/sles_allinclusive.h
ests/examples/Android.mk_
ests/examples/slesTestRecBuffQueue.cpp
9c46b518deb4bd4cad82fdebf01f4f41cd79a884 14-Sep-2010 Glenn Kasten <gkasten@google.com> am 4f924ff7: Fix some race conditions and deadlocks.

Merge commit '4f924ff768d761f53db6fa2dbfb794ba7a65e776'

* commit '4f924ff768d761f53db6fa2dbfb794ba7a65e776':
Fix some race conditions and deadlocks.
83649034969b6e23d00dc34e157dc9f256b31680 14-Sep-2010 Glenn Kasten <gkasten@google.com> Reduce .so size and hide internal global symbols

Change-Id: I95b63aa1f4da94ad068619ff0944e4ff83fc6fd6
ibopensles/Android.mk
928ea4ffff40c82987cfb1ac9e3095fdc6968709 10-Sep-2010 Glenn Kasten <gkasten@google.com> Fix some race conditions and deadlocks.

Use strong reference counts to fix race conditions in these object dependencies:
- audio player on 3D Grouping
- MIDI player (or more specifically, the data sink locator) depends on LED or Vibra device
- audio player (or more specifically, the data sink locator) depends on output mix
Fix build errors on non-Android platforms.
Fix incorrect result code for EnvironmentalReverb::SetDensity.
Continue work on making Destroy more reliable:
- Destroy calls a pre-destroy hook, e.g. for Android audio players.
- Add new internal object state DESTROYING which is set when the pre-destroy hook returns.
- Abort (called by Destroy) now blocks until all async operations complete or are aborted.
Add curly braces around simple if and for statements.
Add extra parentheses around complex if expression in if statements.
Add more error logging in checkDataLocator.
Add Doxygen comments.
Remove spurious log entry when SL_DATALOCATOR_ANDROIDFD used.
Disable the unused Resume hooks, which are currently unused.
Remove some dead code in audio player create for Android.
Line length 100.
Prepare for fixing race condition in OutputMixExt by
moving mActiveMask and mTracks from IOutputMix to IOutputMixExt.
Update comments.
Continued work on Destroy reliability:
Do not poke around in mixer's data structures directly during
Object::Destroy for an audio player; instead ask the mixer nicely
and wait for it to do the job.
Move master copy of computed gains from Track to AudioPlayer, and then
let the mixer copy the gains locally when it needs them.
Add resume and predestroy hooks everywhere.
Predestroy hook returns a boolean.
ibopensles/CAudioPlayer.c
ibopensles/CAudioRecorder.c
ibopensles/CEngine.c
ibopensles/COutputMix.c
ibopensles/I3DGrouping.c
ibopensles/IEngine.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IObject.c
ibopensles/IOutputMix.c
ibopensles/IOutputMixExt.c
ibopensles/OutputMixExt.h
ibopensles/android_AudioPlayer.cpp
ibopensles/classes.c
ibopensles/locks.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sync.c
44e13149f2cb659b57c17ed9d588d54205c818b0 13-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am c7369d04: Add SLAndroidConfigurationItf, enabled on AudioRecorder.

Merge commit 'c7369d04a4b94aca0462d0e0a38c243a80a945a9'

* commit 'c7369d04a4b94aca0462d0e0a38c243a80a945a9':
Add SLAndroidConfigurationItf, enabled on AudioRecorder.
42309377d1ed17b557fab30f1bf26b8ba31a96fd 12-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Add SLAndroidConfigurationItf, enabled on AudioRecorder.

This adds a generic configuration interface, first enabled on the
AudioRecorder object. This is intended to be used to configure
the audio recording source. It is meant to be usable before the
object is in REALIZED state.

Change-Id: I8f6c1cf8f5be8a8dfb332c4e89d91f45047f48e3
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/IAndroidConfiguration.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
27a189ad9910ca617efefe0b860f04993791e6a8 12-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 90a8fd23: Hide media player looper from AudioPlayer.

Merge commit '90a8fd23a41ae9feb4f59005eb20f300a4339e33'

* commit '90a8fd23a41ae9feb4f59005eb20f300a4339e33':
Hide media player looper from AudioPlayer.
ca98a6831e18865542985b7cc97da25708b54b9c 12-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Hide media player looper from AudioPlayer.

The ALooper that takes care of the rendering loop in SfPlayer is
only used inside SfPlayer. This CL makes SfPlayer manage the
lifecycle of its rendering looper.

Change-Id: Ia4d5e02ce0a44bcf79021f428b490612a9fead9c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/sles_allinclusive.h
75302f3db5dfe1494db4b4509dfc94cb81094afe 11-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 984c4a1d: Implement the SLAndroidEffectSendItf.

Merge commit '984c4a1d192f83fcd2cf9e333ebe48a32a65b591'

* commit '984c4a1d192f83fcd2cf9e333ebe48a32a65b591':
Implement the SLAndroidEffectSendItf.
fef6033d852daec8d88060b252e72f322724dca1 10-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement the SLAndroidEffectSendItf.

This enables sends from an AudioPlayer to an OutputMix
that's using the generic effect interface (SLAndroidEffectItf).
Since there is a single aux bus, the effect ID is only used
to verify the effect referred to in the send is actually
attached to the OutputMix. Also there is a single send
level value and enable flag for the interface, even though
the interface definition supports discerning between multiple
effects (so it scales on platform with multiple aux buses).

Dry (direct) level is now stored in the AudioPlayer,
as it is shared between SLEffectSendItf and
SLAndroidEffectSendItf.

Change-Id: I3dd34c4c045d8ac2961a325e10b181a789bf4913
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/IAndroidEffect.c
ibopensles/IAndroidEffectSend.c
ibopensles/IEffectSend.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/classes.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
22eed3ac11e371a06954394b8934de197d4b50c7 09-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am d6c7ad3c: Definition of SLAndroidEffectSendItf

Merge commit 'd6c7ad3c4d3b3882d051239f9e5df78750d57ba2'

* commit 'd6c7ad3c4d3b3882d051239f9e5df78750d57ba2':
Definition of SLAndroidEffectSendItf
468ed484571f1e896e3c5d33d98d5468b09e0ea4 09-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 4ad709bd: Fix aux reverb issues:

Merge commit '4ad709bd796914d15a32a35da92b5f39047f5a02'

* commit '4ad709bd796914d15a32a35da92b5f39047f5a02':
Fix aux reverb issues:
36cc3de8d2a4d7bc9a80ac3ff6886d1f8fa9e7cb 09-Sep-2010 Yu Shan Emily Lau <yslau@google.com> am c098881f: Fixed the make file which it can build all the sub-dir. Remove the samples temporary until it\'s fixed.

Merge commit 'c098881f535d11d1a936cd70a061e60bdbd6928f'

* commit 'c098881f535d11d1a936cd70a061e60bdbd6928f':
Fixed the make file which it can build all the sub-dir.
884ed8e6ccaf395f7b57e1cf16c2779c651eb800 09-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Definition of SLAndroidEffectSendItf

Define the SLAndroidEffectSendItf interface which mirors the
SLEffectSendItf interface, but uses an SLInterfaceID parameter
to identify the effect the AudioPlayer is sending to.

Change-Id: Iec0ddf315a6974fafedecd566bd01c7231183312
nclude/SLES/OpenSLES_Android.h
00667fcca51d62236b538e6857b7e6b923453569 09-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix aux reverb issues:

- when creating an effect, only pass the effect type to the
AudioEffect framework so it selects whether to use an insert
or aux effect based on the session.
- SL ES aux reverb effects don't have an explicit SetEnabled()
function, so enable the effect upon creation, or based on the
preset for the preset reverb effect.

Add a test for SLEffectSend.

Change-Id: I683331cac19cf1fb9628d636569ab3d342c02820
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ests/examples/Android.mk_
ests/examples/slesTestBassBoostPath.cpp
ests/examples/slesTestSendToPresetReverb.cpp
60d41cc12c14843454404d0183739e8f0569ad92 09-Sep-2010 Yu Shan Emily Lau <yslau@google.com> Fixed the make file which it can build all the sub-dir.
Remove the samples temporary until it's fixed.

Change-Id: I6dd9b15a16c3dcc22ecee1fd1acecaebbd59262f
ests/Android.mk
ests/examples/Android.mk
ests/examples/Android.mk_
71bb281a0641fc15b831a22e749a087a60d03e7d 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 6dbf6148: Fix automated tests testPlayAbsPath and testPlayfilePath

Merge commit '6dbf61484bdd03448395214c2a19e10b3238ac7d'

* commit '6dbf61484bdd03448395214c2a19e10b3238ac7d':
Fix automated tests testPlayAbsPath and testPlayfilePath
115037aae279a4ab8691d0de62e67510e884a4d1 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix automated tests testPlayAbsPath and testPlayfilePath

Do not rewind when reaching the end of the stream.

Change-Id: I98fa7cebc2b2d8fa8d10d371cfb78f24fb1ab277
ibopensles/android_SfPlayer.cpp
fc4cbc7a07550fa67ba7df5b124c36bafb713fcd 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 5c906e11: Support SLAndroidEffectItf on the OutputMix object.

Merge commit '5c906e11f2749e438fdc6a4433c3bfd9db235356'

* commit '5c906e11f2749e438fdc6a4433c3bfd9db235356':
Support SLAndroidEffectItf on the OutputMix object.
2f95efbf6b983007a0163ee981b4daf7d3586484 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am dffefbd7: Finish implementing the SLEnvironmentalReverbItf interface.

Merge commit 'dffefbd7b3b885526df4e9df09b0e089ed422027'

* commit 'dffefbd7b3b885526df4e9df09b0e089ed422027':
Finish implementing the SLEnvironmentalReverbItf interface.
49e4cfeedc0f8e571d301384084397054b4922f8 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Support SLAndroidEffectItf on the OutputMix object.

Change-Id: I098dc047ce91848781c9ba18beec5a33abd50e68
ibopensles/MPH_to.c
ibopensles/android_OutputMix.cpp
ibopensles/classes.c
ibopensles/sles_allinclusive.h
771238c10ed428a1f02382022b99b2d2b5c7df20 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 32cc84f2: Cleanup SLAndroidEffectCapabilitiesItf example.

Merge commit '32cc84f276828480783e4866e383e58326ab207b'

* commit '32cc84f276828480783e4866e383e58326ab207b':
Cleanup SLAndroidEffectCapabilitiesItf example.
673ea442274d3f8cdfb7d8abcc9680381f3bead5 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 990f7545: Fix bug 2947094

Merge commit '990f7545b17358f184872b1762d77ca88232b5c5'

* commit '990f7545b17358f184872b1762d77ca88232b5c5':
Fix bug 2947094
f5afeef3bb2aafba9b4e7c25ab3b9dcf42ee8d65 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Finish implementing the SLEnvironmentalReverbItf interface.

Change-Id: I02bbc6a08607c328253257cbdb6a45b675b9d3ff
ibopensles/IEnvironmentalReverb.c
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/sles_allinclusive.h
23cdb9057c15ec9e0f9f1c63d6b80af84691c597 08-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Cleanup SLAndroidEffectCapabilitiesItf example.

Change-Id: I3b73d089fde7f8ada5387f6e030869356a918b4a
ests/examples/slesTestEffectCapabilities.cpp
c319fbb542c4649fbda6048cb909e6574cf4e3d2 07-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2947094

"multiplay" is a test that creates an AudioPlayer for each file to
play. When a player reaches the paused state, SetPosition (ISeekItf)
is called with a value of 0 (beginning of file). The bug was that
on Android, the player would stop playing after playing the file
once or twice.
The bug was caused by the logic in ISeek.c which checks that the
new seek position is different than the previous one before issuing
a seek command to the player. The fix consists in not checking
the old requested seek position so the command is always issued.
It works on the desktop because the SndFile version was resetting
the mPos field to SL_TIME_UNKNOWN each time SetPosition was called.

While investigating this bug, it was also found that the player
should reset its decode position to 0 each time it reaches the end of
the stream.

Change-Id: I22f2d6480c62ab6e56c28c7ccae2c117888a7639
ibopensles/ISeek.c
ibopensles/android_SfPlayer.cpp
990b04088b29c88b7e9b166b27559496708f93e7 07-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 7c058fbb: Fix deadlock when stopping the player while destroying.

Merge commit '7c058fbbcc7037a6f85698a361b2e9cbfe9d9b62'

* commit '7c058fbbcc7037a6f85698a361b2e9cbfe9d9b62':
Fix deadlock when stopping the player while destroying.
25d7efb86cd78b868afef12a30ef557f91d97552 07-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix deadlock when stopping the player while destroying.

Do not acquire an exclusive lock on the player when querying play
callback and event mask, or updating the playstate.

Not related to fix:
Do not notify the end of the stream has been reached once the player
is stopped.

Change-Id: I9c7e1d96c28d1472ff18174c97544faa8deb0e88
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
1fc15b1142268ab34d7816a7ec5e765f12cfa7c1 04-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 99e9db49: Store decoded buffer in player instance.

Merge commit '99e9db496f5c2cb07e0e83f061fcbd5487c999d7'

* commit '99e9db496f5c2cb07e0e83f061fcbd5487c999d7':
Store decoded buffer in player instance.
0e3d753f8c78ca3bb072bc4f5b19b80969c393c5 04-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Store decoded buffer in player instance.

Do not store decoded buffer reference in message sent from decoder
to renderer, but rather in player instance. This allows access
to buffer between decoding and playback so the media source can
be correctly stopped.

Change-Id: I7f583366d9895db039ca7d0d9e22f36d0d429f55
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
bea1ff817c7527727edbac125498b304e4a7b3ac 03-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 5bd7bea2: Implement SLAndroidEffectItf and SLAndroidEffectCapabilities.

Merge commit '5bd7bea2bbc5133d26cdcd8b95d3452bd0116680'

* commit '5bd7bea2bbc5133d26cdcd8b95d3452bd0116680':
Implement SLAndroidEffectItf and SLAndroidEffectCapabilities.
5b09aa864215690580b18eb802927e8cc7eb4861 03-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement SLAndroidEffectItf and SLAndroidEffectCapabilities.

Change-Id: Ia2cf6e3f0178189b0ed010690bc9906b61a746a7
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/IAndroidAudioEffect.c
ibopensles/IAndroidEffect.c
ibopensles/IAndroidEffectCapabilities.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/MPH_to.h
ibopensles/OpenSLES_IID.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/classes.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/examples/Android.mk
ests/examples/slesTestEffectCapabilities.cpp
530d604417ddadac602f1687526969db0130a85b 03-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 34c8a5de: Fix OpenSL ES effect test durations based on audio file duration. Fix make file to build the EQ test.

Merge commit '34c8a5deb922e414bb348f9c5e6b411866518da8'

* commit '34c8a5deb922e414bb348f9c5e6b411866518da8':
Fix OpenSL ES effect test durations based on audio file duration.
cb5ef4dc25d2f526898d12f008d551877347b9b8 03-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix OpenSL ES effect test durations based on audio file duration.
Fix make file to build the EQ test.

Change-Id: I509d1f0cea775c4f955c8c23fc27ba313995dd5b
ests/examples/Android.mk
ests/examples/slesTestBassBoostPath.cpp
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestVirtualizerPath.cpp
8ed467e844e0d842c17820980b1de312d307d38e 02-Sep-2010 Glenn Kasten <gkasten@google.com> am 48e85e37: Improve test app portability for other platforms

Merge commit '48e85e379e506045aca3a33c2c4cf03b3be6d4b1'

* commit '48e85e379e506045aca3a33c2c4cf03b3be6d4b1':
Improve test app portability for other platforms
ce78ba190f131317293da3ef8d2a8e4416c3e715 02-Sep-2010 Glenn Kasten <gkasten@google.com> am fa7152d9: More error logging. Correct error code.

Merge commit 'fa7152d9457ae7a3c398fcfd62f29eec4d865b5e'

* commit 'fa7152d9457ae7a3c398fcfd62f29eec4d865b5e':
More error logging. Correct error code.
91bfd060b992810ca092f640f77f795bc3d008be 01-Sep-2010 Glenn Kasten <gkasten@google.com> Improve test app portability for other platforms

Change-Id: I8793b7e6f6ebd0f83ff8e5bd534234cd1f4166a2
ibopensles/IEffectSend.c
ests/examples/Android.mk
ests/examples/slesTestBassBoostPath.cpp
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestVirtualizerPath.cpp
ests/mimeUri/slesTestPlayStreamType.cpp
337aff43154e6f8e2f94e569d33a5b135de70f2b 01-Sep-2010 Glenn Kasten <gkasten@google.com> More error logging. Correct error code.

Normalize error messages to use similar wording, remove "Error:".

Change-Id: I8746d28c0c0ada43e691f7859d0aaeed25a82dbb
ibopensles/android_AudioPlayer.cpp
1d2d6dba636ba434383205e0b9cf559ca9d1ee92 02-Sep-2010 Glenn Kasten <gkasten@google.com> am ec7f4ca9: Merge "Verify that no extant objects at engine shutdown" into gingerbread

Merge commit 'ec7f4ca96a160e8134953e5bd9097181342f8aed'

* commit 'ec7f4ca96a160e8134953e5bd9097181342f8aed':
Verify that no extant objects at engine shutdown
e12cf457eddf6e4df05ad65ccc9edbeaaca84ead 01-Sep-2010 Glenn Kasten <gkasten@google.com> Merge "Verify that no extant objects at engine shutdown" into gingerbread
d48ff338b8338c1e3e54e0f9dcd03567a0aa9de4 01-Sep-2010 Glenn Kasten <gkasten@google.com> Verify that no extant objects at engine shutdown

Log the total count and ID numbers of any stragglers.
Fix the order of steps in engine shutdown.
Add more comments.

Change-Id: I12b531bcd43c288f9988768193274bad6984748a
ibopensles/CEngine.c
ibopensles/IObject.c
ibopensles/sync.c
ests/automated/BufferQueue_test.cpp
1e8d9f131560e0d1de8b82f93e25e3fe31567b99 01-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 67f98b44: Use AudioSystem constant for global effect session ID, instead of 0.

Merge commit '67f98b44415db86ac64b36e09be9baf090666257'

* commit '67f98b44415db86ac64b36e09be9baf090666257':
Use AudioSystem constant for global effect session ID, instead of 0.
3ff2bc607e5de281df3d8b54eb89a0ec56317102 01-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Use AudioSystem constant for global effect session ID, instead of 0.

Change-Id: Ib3d236e81da7f0764983fba37ffaa76058aa935c
ibopensles/android_Effect.cpp
ibopensles/android_OutputMix.cpp
6e787565f30356fd21e07836d157d5cee48e785b 01-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> am 68817ee6: Support auxiliary effects on OutputMix, and direct and send levels on AudioPlayer.

Merge commit '68817ee6ff2ede1dac61078894d8920fb961061f'

* commit '68817ee6ff2ede1dac61078894d8920fb961061f':
Support auxiliary effects on OutputMix, and direct and send levels
172e4da556ad3cb1d2a06cfa019903310aa291d5 01-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Support auxiliary effects on OutputMix, and direct and send levels
on AudioPlayer.

added global function for mB to attenuation conversion.

Change-Id: Ib7f92397786e4b2e21d6ad51585ac1b542ffab6c
ibopensles/IEffectSend.c
ibopensles/IPresetReverb.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/android_OutputMix.cpp
ibopensles/android_sles_conversions.h
ibopensles/sles_allinclusive.h
d7a5837df82085dded6508adba1d1675c57b6d8e 01-Sep-2010 Glenn Kasten <gkasten@google.com> am 8756fcc7: Use standard filenames for tests.

Merge commit '8756fcc77cfb64fd753fa8bf6a9f8e834d665165'

* commit '8756fcc77cfb64fd753fa8bf6a9f8e834d665165':
Use standard filenames for tests.
527b7d2e606abdbde0e29fe75f7e9a67285629d2 01-Sep-2010 Glenn Kasten <gkasten@google.com> Use standard filenames for tests.

Change-Id: I0bfc8bd98f00ce1dd9d7e36d402d4cd422cb8ea6
ests/examples/Android.mk
ests/examples/bufferQueue.c
ests/examples/feedback.c
ests/examples/playSawtoothBufferQueue.cpp
ests/examples/slesTestFeedback.cpp
ests/examples/slesTestSawtoothBufferQueue.cpp
a211cf74790e52b013bf245d0df725c0e0a47ac3 01-Sep-2010 Glenn Kasten <gkasten@google.com> am 66f75c45: Fix problems found by the mute solo test.

Merge commit '66f75c45c9aea410b1f913d76995661e72571b67'

* commit '66f75c45c9aea410b1f913d76995661e72571b67':
Fix problems found by the mute solo test.
8c065779232fdd89abace68d2fc7bea786a010d7 31-Aug-2010 Glenn Kasten <gkasten@google.com> Fix problems found by the mute solo test.

Bug fixes for USE_OUTPUTMIXEXT (desktop):
- SL_PLAYEVENT_HEADATNEWPOS was broken
- GetPosition is now accurate, with or without seeking
- Fix race condition between AudioPlayer and Track
- Duration is updated if initial estimate is too low (e.g. if unknown is reported as zero)
- GetPosition while pending Seek now returns that value so the Seek appears synchronous
- Remove useless code to retry Enqueues; now drop decoded data if Enqueue fails
For all source files touched, add curlies to the "if" statements.

Change-Id: I1f70d8e683bc92831848af20857347d45c6407a9
ibopensles/CAudioPlayer.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/IPlay.c
ibopensles/ISeek.c
ibopensles/OutputMixExt.h
ibopensles/SndFile.c
ibopensles/sles_allinclusive.h
ests/listening/slesTest_playMuteSolo.cpp
2e8682f2253ac05f11b3ed58d74824cd93ca0e0d 31-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am dc098b54: Add support for auxiliary effects.

Merge commit 'dc098b54cd7df1b79b4560ae0570d88e4b9f751e'

* commit 'dc098b54cd7df1b79b4560ae0570d88e4b9f751e':
Add support for auxiliary effects.
7e01bc6208fb5b4a2a0019d67bf74373f8ee9428 30-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Add support for auxiliary effects.

- Implement the OutputMix object.

- Modify the interface of the Android effect initialization since
an effect can be attached to a player (insert) or to an OuputMix
(aux)
- fix bug in EQ where SL_RESULT_CONTROL_LOST was returned on a
properly initialized EQ effect.

- Add a test application which creates an EQ on an OutputMix
- Remove unused constant in test apps.

Change-Id: Id9e4633d0e44e8a784f1154ce1a6df1357b72966
ibopensles/Android.mk
ibopensles/COutputMix.c
ibopensles/IEqualizer.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/android_OutputMix.cpp
ibopensles/android_OutputMix.h
ibopensles/android_SfPlayer.cpp
ibopensles/classes.c
ibopensles/sles_allinclusive.h
ests/examples/Android.mk
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestEqOutputPath.cpp
ests/examples/slesTestVirtualizerPath.cpp
8a5bb78d63781d1618ce83bb08dbd1ded67777b5 30-Aug-2010 Glenn Kasten <gkasten@google.com> am d9b6517b: Buffer queue automated test update

Merge commit 'd9b6517b0b1820d73a5a927824d495595b556106'

* commit 'd9b6517b0b1820d73a5a927824d495595b556106':
Buffer queue automated test update
8e4bee9eeb2df7b208acd394f988bea02a415eac 28-Aug-2010 Glenn Kasten <gkasten@google.com> am bc1596c3: Fix compile-problem on desktop, and SDL bug.

Merge commit 'bc1596c33e134859d3ae3182d641b2dd03405b5d'

* commit 'bc1596c33e134859d3ae3182d641b2dd03405b5d':
Fix compile-problem on desktop, and SDL bug.
ff579b8e7d4cf5a089919452427b13759a807d38 28-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am f78c9326: Implement the SLVirtualizerItf interface.

Merge commit 'f78c9326cc333afd30346602bfbd419a17371b21'

* commit 'f78c9326cc333afd30346602bfbd419a17371b21':
Implement the SLVirtualizerItf interface.
b52e782138a892ffcd4322975f2bc5cd6026d314 28-Aug-2010 Glenn Kasten <gkasten@google.com> am bf53474b: Fix bugs found by clang (part of clang fix-it)

Merge commit 'bf53474b725519ebeab2997e975375d896ff91be'

* commit 'bf53474b725519ebeab2997e975375d896ff91be':
Fix bugs found by clang (part of clang fix-it)
dcb3c6a71ead73d5cea8113c9c434e5fe246b648 28-Aug-2010 Glenn Kasten <gkasten@google.com> am 974aacf1: Fix bugs in BufferQueue automated test and related

Merge commit '974aacf14bfe6869b7d0cda3abcaef46af335487'

* commit '974aacf14bfe6869b7d0cda3abcaef46af335487':
Fix bugs in BufferQueue automated test and related
b12deb54e78a45a8cfe380da7c047ec9ac3fe5d8 28-Aug-2010 Glenn Kasten <gkasten@google.com> Buffer queue automated test update

Make it run on desktop as well as Android, so we can use desktop driver
for comparison, and get test coverage using gcov.
Use slesutResultToString for error reporting.
Run each test case for all valid numbers of buffers.

Change-Id: If7753a0e77f4a906a41eae90135e1bc84531f2fc
ests/automated/BufferQueue_test.cpp
768edbc2a8e7f197548cf1141689dd237d19c455 27-Aug-2010 Glenn Kasten <gkasten@google.com> Fix compile-problem on desktop, and SDL bug.

Fix bug caught by using gtest on desktop: SDL was not being shutdown properly when engine destroyed.
Fix compile problems on desktop for BassBoost, Equalizer, and Virtualizer.
Add new OpenSLESUT function: slesutResultToString.
Rename SDL_start to SDL_open to match SDL naming conventions.
Add SDL_close.
Add symlink for applications to use OpenSLESUT.h.

Change-Id: I6ef9895adc508b3b9570c79302c7a3046ca8246f
nclude/SLES/OpenSLESUT.h
ibopensles/CEngine.c
ibopensles/IBassBoost.c
ibopensles/IEqualizer.c
ibopensles/IVirtualizer.c
ibopensles/OpenSLESUT.c
ibopensles/OpenSLESUT.h
ibopensles/SDL.c
ibopensles/sles_allinclusive.h
cfe5b1c6f0b65499d9aed2cf4b2a7e805fb02758 27-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement the SLVirtualizerItf interface.

Add example for the SLVirtualizerItf.

Unify how an effect interface checks whether a valid effect is
attached to the interface.

In implementation of SLEqualizerItf, ensure the effect is accessed
only if its valid (just like for BassBoost and Virtualizer).

Change-Id: I03032de2925488bc78502f23a83972e666435a8b
ibopensles/IBassBoost.c
ibopensles/IEqualizer.c
ibopensles/IVirtualizer.c
ests/examples/Android.mk
ests/examples/slesTestBassBoostPath.cpp
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestVirtualizerPath.cpp
a4b99b0596a59d15920b4003ebe892da3bda9bee 27-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 8e564b93: Refactor effect parameter setting and getting to prepare support for additional effects. Add support for Virtualizer parameters.

Merge commit '8e564b93da69313ffddcd1f457d0549b7dedaa76'

* commit '8e564b93da69313ffddcd1f457d0549b7dedaa76':
Refactor effect parameter setting and getting to prepare support
7c3fe21525e62f24acc9d391f9d396ce2d7e57ac 27-Aug-2010 Glenn Kasten <gkasten@google.com> Fix bugs found by clang (part of clang fix-it)

Serious bugs:
- SLEqualizerItf::GetPreset was returning wrong preset index.
- SLEngineCapabilities::QueryVibraCapabilities was returning wrong status code.
Another variable was initialized unnecessarily, but was not a serious bug.

Change-Id: Ifebbae1d457fa800e5adfb09decede4222b60aa1
ibopensles/IEngineCapabilities.c
ibopensles/IEqualizer.c
ibopensles/locks.c
4597a7427b697df31d0bbf4c2040806d0c27b6e0 26-Aug-2010 Glenn Kasten <gkasten@google.com> Fix bugs in BufferQueue automated test and related

Fix test bugs:
Clean up the player, mixer, and the engine (must be done in that order).
Re-enable 2 more tests; all 9 tests pass now.

Fix engine bugs:
IObject now has a de-init hook, which cleans up condition variable and mutex.
Run the de-initializers in reverse order so that IObject de-init hook is run last.
Replace the dedicated mEngine.mShutdownCond by the shared IObject condition variable.
Forgot to iniitalize mShtudownAck.
Unlocking the object mutex during CEngine_Destroy was bogus.

Miscellaneous logging and debugging improvements:
Track the source code location of the most recent mutex unlock.
Add more trace log options for detailed leave reasons.
Improve performance of trace log when disabled.
Turn on assert checking.
Check return value of pthread_cond_destroy and pthread_mutex_destroy.
Add comment.
Line length 100.

Change-Id: I23b7b495d439894b2fd31295a38cb73ef7b6be2e
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/IEngine.c
ibopensles/IEqualizer.c
ibopensles/IObject.c
ibopensles/MPH_to.c
ibopensles/ThreadPool.c
ibopensles/locks.c
ibopensles/locks.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sync.c
ibopensles/trace.c
ests/automated/BufferQueue_test.cpp
f4aebfe499998c11b31319afb1c7738d4801f7b1 26-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Refactor effect parameter setting and getting to prepare support
for additional effects.
Add support for Virtualizer parameters.

Change-Id: I39c69e883457af6444e49ba64e390213898cd55c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/sles_allinclusive.h
ea293f50c8388822bb44f99a662bc1ff7abec1c5 26-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am d091ed9c: Set decode and render thread priority to ANDROID_PRIORITY_AUDIO.

Merge commit 'd091ed9c43547b2ec9499e96e915d4b28b70d567'

* commit 'd091ed9c43547b2ec9499e96e915d4b28b70d567':
Set decode and render thread priority to ANDROID_PRIORITY_AUDIO.
b3e99ee1c43caa844f54ab64ab4efb2fea612f18 26-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Set decode and render thread priority to ANDROID_PRIORITY_AUDIO.

Change-Id: I91843747fd1f51c0eca2d344a22a77d8df853015
ibopensles/android_AudioPlayer.cpp
e0041bee98c0206c5e5d990850c9cf4ef57de22a 25-Aug-2010 Glenn Kasten <gkasten@google.com> am 07c35e6e: Fix bug in BufferQueue::Clear

Merge commit '07c35e6e57ff8945c4dd836be4486a62316ac64b'

* commit '07c35e6e57ff8945c4dd836be4486a62316ac64b':
Fix bug in BufferQueue::Clear
4f064c143ef2b26347130a49788116b5d2e1252a 25-Aug-2010 Glenn Kasten <gkasten@google.com> Fix bug in BufferQueue::Clear

BufferQueue::Clear must clear playIndex also -- see pg 423 section 9.1.5.
Only print a lock error message if delayed 100 ms.
Object lock debugging did not take into account that cond_wait also releases the lock.
Improve error reporting for recursive locks.
Reduce the noisy output of sawtooth test.

Change-Id: I66a959445de7e0763440e22251465c796bb1883b
ibopensles/IBufferQueue.c
ibopensles/IOutputMixExt.c
ibopensles/locks.c
ibopensles/locks.h
ests/examples/bufferQueue.c
c6f88de3aaa77af389e57ff3292d010eef486a56 25-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 339d65cd: Implement the SLBassBoostItf on an AudioPlayer Prevent the SLEqualizerItf to use an EQ effect that wasn\'t successfully initialized.

Merge commit '339d65cd8bd7607b5959068825c6c5a55a3250af'

* commit '339d65cd8bd7607b5959068825c6c5a55a3250af':
Implement the SLBassBoostItf on an AudioPlayer
d6f8b03c7265928dc9ff0516ffe5106028a54069 25-Aug-2010 Glenn Kasten <gkasten@google.com> am 3190a0da: Fix bug with nested lock.

Merge commit '3190a0da044e122c1c617e30d1d364701fb27110'

* commit '3190a0da044e122c1c617e30d1d364701fb27110':
Fix bug with nested lock.
9cd3c9e7a2395647b92c32f33c06cf9fd546b22f 24-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement the SLBassBoostItf on an AudioPlayer
Prevent the SLEqualizerItf to use an EQ effect that wasn't
successfully initialized.

Change-Id: I4cdb07fc4deebba1cb591f0ca96fc3f494e37080
ibopensles/IBassBoost.c
ibopensles/IEqualizer.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/sles_allinclusive.h
ests/examples/Android.mk
ests/examples/slesTestBassBoostPath.cpp
f1fa7967804f3ccd1a622a72432a42f405cbbe31 24-Aug-2010 Glenn Kasten <gkasten@google.com> am 4faf394f: Test reorganization

Merge commit '4faf394f4a6da687d1b1adfb925fea2b2660268a'

* commit '4faf394f4a6da687d1b1adfb925fea2b2660268a':
Test reorganization
fe96fa06360516c60490c7a697e1148017b4c1b2 23-Aug-2010 Glenn Kasten <gkasten@google.com> Fix bug with nested lock.

Add object lock debugging.
Replace !NDEBUG by USE_DEBUG.
Remove $(JNI_H_INCLUDE) and $(TOP).

Change-Id: I61217b82a7edc42d37dacf443ad0ca852ee0dfe9
ibopensles/Android.mk
ibopensles/IObject.c
ibopensles/android_AudioPlayer.cpp
ibopensles/classes.c
ibopensles/locks.c
ibopensles/locks.h
ibopensles/sles_allinclusive.h
ests/Android.mk
ests/automated/Android.mk
ests/examples/Android.mk
ests/listening/Android.mk
ests/mimeUri/Android.mk
ests/sandbox/Android.mk
418e4115679ba8170524c826f6529adaaa182e63 24-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 3d334e6f: Exercise more functions of the SLEqualizerItf interface. Refactor EQ effect descriptor initialization in an effect neutral function so it can be reused for other effects.

Merge commit '3d334e6fcb3c51313ba702d01348d9026f20e35e'

* commit '3d334e6fcb3c51313ba702d01348d9026f20e35e':
Exercise more functions of the SLEqualizerItf interface.
4c71179974933c5c36cbfc3e8227c8df63248d91 21-Aug-2010 Glenn Kasten <gkasten@google.com> Test reorganization

Change-Id: I0fb84afd72fe6839773937fdaece3276bba1b952
ests/api/Android.mk
ests/api/BufferQueue_test.cpp
ests/automated/Android.mk
ests/automated/BufferQueue_test.cpp
ests/effects/eqFdPath/Android.mk
ests/effects/eqFdPath/slesTestEqFdPath.cpp
ests/examples/Android.mk
ests/examples/bufferQueue.c
ests/examples/feedback.c
ests/examples/playSawtoothBufferQueue.cpp
ests/examples/slesTestEqFdPath.cpp
ests/examples/slesTestPlayFdPath.cpp
ests/examples/slesTestRecBuffQueue.cpp
ests/listening/Android.mk
ests/listening/seekTorture.c
ests/listening/slesTest_playMuteSolo.cpp
ests/mimeFd/playFdPath/Android.mk
ests/mimeFd/playFdPath/slesTestPlayFdPath.cpp
ests/mimeUri/Android.mk
ests/mimeUri/multiplay.c
ests/mimeUri/seekTorture.c
ests/mimeUri/slesTest_playMuteSolo.cpp
ests/pcmBufferQueue/intbufq/Android.mk
ests/pcmBufferQueue/intbufq/getch.c
ests/pcmBufferQueue/intbufq/intbufq.c
ests/pcmBufferQueue/loop/Android.mk
ests/pcmBufferQueue/loop/loop.c
ests/pcmBufferQueue/sawtoothBufferQueue/Android.mk
ests/pcmBufferQueue/sawtoothBufferQueue/bufferQueue.c
ests/pcmBufferQueue/sawtoothBufferQueue/playSawtoothBufferQueue.cpp
ests/recorder/recBuffQueue/Android.mk
ests/recorder/recBuffQueue/slesTestRecBuffQueue.cpp
ests/sandbox/Android.mk
ests/sandbox/getch.c
ests/sandbox/intbufq.c
ests/sandbox/multiplay.c
f5fce95f98037ea4ab341b416c82444af595313d 21-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Exercise more functions of the SLEqualizerItf interface.
Refactor EQ effect descriptor initialization in an effect neutral
function so it can be reused for other effects.

Change-Id: I72d71f7e05f19f0be3541440c1f67269c179b5cc
ibopensles/IEqualizer.c
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ests/effects/eqFdPath/slesTestEqFdPath.cpp
8d54883f9597432628e3cca5aa98c97a9068b55f 20-Aug-2010 Glenn Kasten <gkasten@google.com> am d31b42d4: Merge "Clean up interface visibility." into gingerbread

Merge commit 'd31b42d408a016f6eac3fbf171a88640e6880eaa'

* commit 'd31b42d408a016f6eac3fbf171a88640e6880eaa':
Clean up interface visibility.
b957609e3bc0acb0a91fb60d498e24d298da617d 18-Aug-2010 Yu Shan Emily Lau <yslau@google.com> resolved conflicts for merge of 2a2e131d to master

Change-Id: I8d208e5aa7681f335f915725e8af0e9f9b8f6a8c
5ccb7e8ec9d05daa47c57b5de48fd870d7c7caa5 18-Aug-2010 Glenn Kasten <gkasten@google.com> Merge "Clean up interface visibility." into gingerbread
c3845706778edec308bd9ced559cec0a456608bd 17-Aug-2010 Glenn Kasten <gkasten@google.com> Clean up interface visibility.

Fix the interface visibility for occurences of an instance within an object.
Check all known interface codes in switch statements for safer error
detection in case of future changes to the list of enum constants.
Replace USE_CONFORMANCE by USE_BASE, USE_GAME, USE_MUSIC, USE_PHONE, USE_OPTIONAL.
Move comment to Khronos bug

Change-Id: I11892db12590db6d2d6db5191aac5b62ab4f67bd
ibopensles/Android.mk
ibopensles/IDynamicSource.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IObject.c
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
e933984028716294560aa49676a54b526b99ab3b 18-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am b47ed908: Fix the MimeUri test: - some logs were reported as errors - the SLPrefetchItf was declared as required, but not requested in the creation of the AudioPlayer.

Merge commit 'b47ed9082f7be9da24523316298bbfcb3dbffc9a'

* commit 'b47ed9082f7be9da24523316298bbfcb3dbffc9a':
Fix the MimeUri test:
bea5fc020e8453472b25a8456a0b40d7a361e411 17-Aug-2010 Yu Shan Emily Lau <yslau@google.com> Merge "Re-org the bufferQueue unit tests." into gingerbread
3b2a7f6713db24c529a117a67aaabbc676678748 17-Aug-2010 Yu Shan Emily Lau <yslau@google.com> Re-org the bufferQueue unit tests.

Change-Id: I55d63ca25e98a6b89634c9ec496a07dacb9c71b6
ests/api/Android.mk
ests/api/Android.mk_
ests/api/BufferQueue_test.cpp
5940f26b6c2da96c0f0b2293623ed692d1fd9026 17-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix the MimeUri test:
- some logs were reported as errors
- the SLPrefetchItf was declared as required, but not requested in
the creation of the AudioPlayer.

Change-Id: I33f07ec532ef1d8151aa1bda4f7cfa4d3e64c8ec
ests/mimeUri_test.cpp
9651c6ce4b6ca28478445d85ab6a82b7176b277b 17-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 9864f937: Support SLPrefetchStatusItf on an AudioPlayer pulling from a BufferQueue - Make SLPrefetchStatusItf explicit on Android as per spec. - Signal prefetch status underflow when queue becomes empty, and sufficient data when filled again.

Merge commit '9864f9373c0772a69377b7ae9976e3c3a68bb4fc'

* commit '9864f9373c0772a69377b7ae9976e3c3a68bb4fc':
Support SLPrefetchStatusItf on an AudioPlayer pulling from a BufferQueue
a05622c974763d8ca038f3d39743c926309ab2c2 16-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Support SLPrefetchStatusItf on an AudioPlayer pulling from a BufferQueue
- Make SLPrefetchStatusItf explicit on Android as per spec.
- Signal prefetch status underflow when queue becomes empty, and
sufficient data when filled again.

Change-Id: I0e0ae9dc305fe6d83dd4497741f9271ca465edd5
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/classes.c
ibopensles/locks.c
ests/mimeUri/seekTorture.c
021ceb835cb50004544463b0d516d16b4e1591ba 17-Aug-2010 Glenn Kasten <gkasten@google.com> am 9c03f04a: Make internal implicit interfaces safer.

Merge commit '9c03f04a9c6cc2a821182c8be8f2efe964a27efe'

* commit '9c03f04a9c6cc2a821182c8be8f2efe964a27efe':
Make internal implicit interfaces safer.
e5d006b298ce7683d66f7ec86136403cf5fb20d6 13-Aug-2010 Glenn Kasten <gkasten@google.com> Make internal implicit interfaces safer.

Add IsInterfaceInitialized.
Don't directly manipulate a buffer queue.
Call the interface via it's named entry points, not the v-table as it may not be initialized/available.
GetInterface enables the v-table not init.
Update Doxygen comments.
Line length 100.
Allow bool, true, and false in C code.
Add a verbose option to seek torture test.

Change-Id: I37c42834422759b881d2ffe4b171d9aa284fde98
ibopensles/CAudioPlayer.c
ibopensles/IBufferQueue.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/MPH.h
ibopensles/MPH_to.h
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/SndFile.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/trace.c
ests/pcmBufferQueue/loop/loop.c
5fd4af7377f506b6624bd080a1a5fdaaccce55d6 17-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am 2b94d1ef: Add CleanSpec.mk

Merge commit '2b94d1efa2321404443fff193a60fc7c272c9b6d'

* commit '2b94d1efa2321404443fff193a60fc7c272c9b6d':
Add CleanSpec.mk
8c0c05d4ee21f57307ea77addb9ae756fdb6871c 16-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am b746b800: When enqueuing a buffer in an empty buffer queue on an AudioPlayer in playing state, restart the associated AudioTrack which was stopped when the queue became empty.

Merge commit 'b746b8006289cf3baed344fc8d827c423963f553'

* commit 'b746b8006289cf3baed344fc8d827c423963f553':
When enqueuing a buffer in an empty buffer queue on an AudioPlayer
d940cd047b4ea2dda56720bd26bd5d6ae7deea56 16-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am a91b556b: Add support for SL_PLAYEVENT_HEADATEND event for AudioPlayer that is fed by a buffer queue.

Merge commit 'a91b556b3f730c77a95d745671ab2a68ce1c7d99'

* commit 'a91b556b3f730c77a95d745671ab2a68ce1c7d99':
Add support for SL_PLAYEVENT_HEADATEND event for AudioPlayer that
db7781e2aa0cef38b73f9fd37fb3fca1dcaed934 14-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am fa89c1fa: Merge "Update use of audio effect framework in OpenSL ES to reflect latest updates." into gingerbread

Merge commit 'fa89c1fa4f6ed94bc42a64d7d903870b3086d6f3'

* commit 'fa89c1fa4f6ed94bc42a64d7d903870b3086d6f3':
Update use of audio effect framework in OpenSL ES to reflect latest updates.
b44084fdb096a2662085af0199b69ccb0dce5c30 14-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> When enqueuing a buffer in an empty buffer queue on an AudioPlayer
in playing state, restart the associated AudioTrack which was
stopped when the queue became empty.

Change-Id: I0361a3229fa2bd56c282a8a762f102c7ae23a4c7
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/locks.c
e8c5f1974de23ca3e0a2a41a8f2bda35b554290f 13-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Add support for SL_PLAYEVENT_HEADATEND event for AudioPlayer that
is fed by a buffer queue.

Change-Id: I573fdadd540d2ee127234299ec9a906504d72cbf
ibopensles/android_AudioPlayer.cpp
14ec932018bff8d64e0846dd837e58c16c15ce48 13-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Update use of audio effect framework in OpenSL ES to reflect latest updates." into gingerbread
4286842836a771a8cb51d095880d478b00e2f7ac 13-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am b93a3faa: Implement getPosition for an AudioPlayer reading from a URI or FD.

Merge commit 'b93a3faa0d84662717243b4c8b1271976e87a42c'

* commit 'b93a3faa0d84662717243b4c8b1271976e87a42c':
Implement getPosition for an AudioPlayer reading from a URI or FD.
ea48d0be41dad9b380773343f0e23c6385351328 13-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement getPosition for an AudioPlayer reading from a URI or FD.

For getPosition, return the last decoded position as the current
position. This is not accurate but will do for a first pass. Since
this requires knowing whether it's seeking, a lock is introduced
to guard against reading the seek flag in getPositionMsec(), and
it being written in the player looper.

Change-Id: I2af6daa7f1415d8b6463d114a7b61c266fd98c97
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
602a26fbd40cdb9749029df6a47c0c0c15d81f58 12-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 67894ba1: Implement seeking logic as a state updated in the message looper of the player, so no locks are required.

Merge commit '67894ba1f93e9102fc724b76204e0ef72e15b0e8'

* commit '67894ba1f93e9102fc724b76204e0ef72e15b0e8':
Implement seeking logic as a state updated in the message looper of
e1bb2c23d6da91094b436925e4dd39d8a1918691 12-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement seeking logic as a state updated in the message looper of
the player, so no locks are required.

Change-Id: I14f30ab1e3f3cde5d31c4a6d121d1951c1a11995
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
2e946f63052eb4cfda78f8223d9b1dae34d36449 11-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 0136e027: Merge "Cleanup AudioPlayer destroy sequence. Fix seek bug where audio wouldn\'t play, or played delayed after a seek." into gingerbread

Merge commit '0136e027ef9df7d78a394d0bf65e0d602f851d15'

* commit '0136e027ef9df7d78a394d0bf65e0d602f851d15':
Cleanup AudioPlayer destroy sequence. Fix seek bug where audio
208433e8712ffdd075b8cfd9734ddb1fd36f4c73 11-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Cleanup AudioPlayer destroy sequence. Fix seek bug where audio wouldn't play, or played delayed after a seek." into gingerbread
9ab6dd04be11483a9e8b58de91228b17b821eca4 11-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Cleanup AudioPlayer destroy sequence. Fix seek bug where audio
wouldn't play, or played delayed after a seek.

Change-Id: Id132ddf27774465af3df272707151876bc22f70d
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
7c1bdeeac45e799a9ac408df664e278a4f5ec610 11-Aug-2010 Glenn Kasten <gkasten@google.com> am 929a4348: Merge "Permute is a tool used by seek torture test." into gingerbread

Merge commit '929a4348f6926a130242bf1d6ab9d4c9b35b7bb7'

* commit '929a4348f6926a130242bf1d6ab9d4c9b35b7bb7':
Permute is a tool used by seek torture test.
8d36dc80f4ba5ac1296805e079512b6babbd503e 10-Aug-2010 Glenn Kasten <gkasten@google.com> Merge "Permute is a tool used by seek torture test." into gingerbread
284f863b37328ddccde8935cc8d28c9adb2669ea 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am dd1bf4e0: Prevent consecutive decode operations by discarding the next one if the decode buffer hasn\'t been released yet.

Merge commit 'dd1bf4e050672a232c9e34d3d2a580e5fbf66c89'

* commit 'dd1bf4e050672a232c9e34d3d2a580e5fbf66c89':
Prevent consecutive decode operations by discarding
095ce2204cc75a50d9f1df60d1c8f357209a7c3d 10-Aug-2010 Glenn Kasten <gkasten@google.com> Permute is a tool used by seek torture test.

Change-Id: Ifd077cda90f89c11011c8dd606a766d8b0ed5797
ests/mimeUri/seekTorture.c
ools/permute/Makefile
ools/permute/permute.c
ools/permute/readme.txt
66144b487ce117daff02e3bfcecd52946c905ce3 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Prevent consecutive decode operations by discarding
the next one if the decode buffer hasn't been released yet.

Change-Id: I4b9ebed899f6cead5b2ce0619dbb95ec0e1d3b64
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
b4ce9daf51a35b56cc79ee5c5d8def203fc7d297 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 0570652d: After stopping an AudioPlayer, playback should resume from the start.

Merge commit '0570652da8dcbb61d25b2c856a0911dd1f893bf4'

* commit '0570652da8dcbb61d25b2c856a0911dd1f893bf4':
After stopping an AudioPlayer, playback should resume from the start.
f1d03462cfd727e6fa303d03bbe6104880c66bb0 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> After stopping an AudioPlayer, playback should resume from the start.

Change-Id: Id524c1b9c74c89813c5699d25288509fa60d7aa5
ibopensles/android_SfPlayer.cpp
6ed4071f7c5f21dbf29b33b8c29c1eac1f36c3cf 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am f807bb87: Merge "Do not initialize effect descriptors if the audio player couldn\'t be initialized." into gingerbread

Merge commit 'f807bb874812e7bba79827d82dbc30279f407a18'

* commit 'f807bb874812e7bba79827d82dbc30279f407a18':
Do not initialize effect descriptors if the audio player couldn't
5d033b8b0c7649860177f4f82d5784e83d3ff504 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Do not initialize effect descriptors if the audio player couldn't be initialized." into gingerbread
86f7719a547d834a850e7ff86dd48c3f363dd11a 10-Aug-2010 Glenn Kasten <gkasten@google.com> am 63009434: Add command-line options to loop test.

Merge commit '63009434d6944a1c783fcf67a3ef6c6f94887259'

* commit '63009434d6944a1c783fcf67a3ef6c6f94887259':
Add command-line options to loop test.
80c3b79f93b4c36bd98f7a47342b5818c1ad75ec 10-Aug-2010 Glenn Kasten <gkasten@google.com> am 5992d073: This version works but has high latency.

Merge commit '5992d073a473e48872cb81d55085f106b560a3a2'

* commit '5992d073a473e48872cb81d55085f106b560a3a2':
This version works but has high latency.
0ac2a7d4343d98e3cb02180e548a5a4737ba0df1 10-Aug-2010 Glenn Kasten <gkasten@google.com> Add command-line options to loop test.

Fix file permissions (no execute).
Line length 100.

Change-Id: If9a3e435ce5a48684a281c8f68488894dcefbe6f
ests/pcmBufferQueue/loop/loop.c
ests/recorder/recBuffQueue/Android.mk
ests/recorder/recBuffQueue/slesTestRecBuffQueue.cpp
b78fe5f783209fbe1fed42634ca9889052ffcd0b 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Do not initialize effect descriptors if the audio player couldn't
be initialized.

Test playback behavior after stop.

Change-Id: I67d78b73f5392948e00af99eaa9335f76256df14
ibopensles/android_AudioPlayer.cpp
ibopensles/android_SfPlayer.cpp
ests/mimeUri/slesTest_playStates.cpp
6a433388b625eb5931736cfa65a5e7ac931f5de4 09-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Update use of audio effect framework in OpenSL ES to reflect latest updates.

Rely on returned status from Audio Effect framework when enabling
or disabling an effect now that an error is not returned when
setting the same enabled state twice.

Effect command and command size are now unsigned.

Change-Id: I421ef5b2c06429a65797d4489f927da210ceab12
ibopensles/android_Effect.cpp
5ef8af762b27b4fa45f59d944b11ad00311cb14b 09-Aug-2010 Glenn Kasten <gkasten@google.com> This version works but has high latency.

Change-Id: I7dc4e81cf78aa5c1c251d097f083b9428cb34984
Problems: mismatch of channel counts, too many buffers, buffers too large.
ests/pcmBufferQueue/loop/loop.c
958bd32e412dbfb38cad770e838095cbff76c464 07-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 15750dc9: Use paranthesis in macro for buffer size. Use stderr for error display.

Merge commit '15750dc9b6f0387bf9571518bcf924f8f89d0c41'

* commit '15750dc9b6f0387bf9571518bcf924f8f89d0c41':
Use paranthesis in macro for buffer size.
2fc000c778f4efdcd58f8c4cdf4d817815959589 07-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 7a27e77f: Add a demo app showcasing the use of the BufferQueue interface on an AudioRecorder object to record PCM samples to a file.

Merge commit '7a27e77f05a2d2286461364cbf9bb0da64d4ccdc'

* commit '7a27e77f05a2d2286461364cbf9bb0da64d4ccdc':
Add a demo app showcasing the use of the BufferQueue interface on
a384948fc96e81947a9b689fc65ea0e7b93df25c 07-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Use paranthesis in macro for buffer size.
Use stderr for error display.

Change-Id: I83d41377f58e10ac494522bea15bafe41ca84982
ests/recorder/recBuffQueue/slesTestRecBuffQueue.cpp
ece0014725c0f3b8ff6c369aeabd27a71f03510b 07-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Add a demo app showcasing the use of the BufferQueue interface on
an AudioRecorder object to record PCM samples to a file.

Change-Id: Ia27465a6540b81962266951800da1a81ef0794d1
ests/recorder/recBuffQueue/Android.mk
ests/recorder/recBuffQueue/slesTestRecBuffQueue.cpp
3cb3d2653c810d5b2d8eff94e22f4b5d75c6f0bc 04-Aug-2010 Glenn Kasten <gkasten@google.com> am cd4bb6b5: Doxygen generator.

Merge commit 'cd4bb6b5a68d185f4f677e270f1040183a35207d'

* commit 'cd4bb6b5a68d185f4f677e270f1040183a35207d':
Doxygen generator.
56a4f98b9f63dd207652a45a9cb89a4cceae50e1 04-Aug-2010 Glenn Kasten <gkasten@google.com> am 048032fa: Add the record to play loop test (broken)

Merge commit '048032faa3a5494283f647ddd98b8add8061c52d'

* commit '048032faa3a5494283f647ddd98b8add8061c52d':
Add the record to play loop test (broken)
75f41c5aef6f3754f91cd1ecea65df44fb000d83 04-Aug-2010 Glenn Kasten <gkasten@google.com> am 68c8d376: Add the seek torture test

Merge commit '68c8d376063a53b47c18dc99331253fb70bd695b'

* commit '68c8d376063a53b47c18dc99331253fb70bd695b':
Add the seek torture test
acb87647f5baa2c7a2c4044bb26018a25449b682 04-Aug-2010 Glenn Kasten <gkasten@google.com> am 0a66743f: A \n should continue to be mapped to \r\n

Merge commit '0a66743fb5e46c8d94f13d6170ef405f387f05f6'

* commit '0a66743fb5e46c8d94f13d6170ef405f387f05f6':
A \n should continue to be mapped to \r\n
0323e1ded15107f836d499e229dd3291c1d08329 04-Aug-2010 Glenn Kasten <gkasten@google.com> am 04cc6cca: Workaround assumption of prefetch interface

Merge commit '04cc6ccabd4ddce6b780a7c5e8d9b313880410f7'

* commit '04cc6ccabd4ddce6b780a7c5e8d9b313880410f7':
Workaround assumption of prefetch interface
0b12184fe38a2be6f6aaadeb480f8a162c9bd08f 04-Aug-2010 Glenn Kasten <gkasten@google.com> am 29745d29: Update logging.

Merge commit '29745d2982365fb0a2a0d28b366aefc0ab79f965'

* commit '29745d2982365fb0a2a0d28b366aefc0ab79f965':
Update logging.
08b03f82de606abe3d9926bd7b18def5a2b0854b 04-Aug-2010 Glenn Kasten <gkasten@google.com> Doxygen generator.

Change-Id: I9160878dad17baa7193240e3dcc31e22a14068e3
oc/Doxyfile
oc/Makefile
f460ec604707d0bdaf8124d84c5f8595cba9c804 04-Aug-2010 Glenn Kasten <gkasten@google.com> Add the record to play loop test (broken)

Change-Id: I2b50501fef8a110d97d3cac69a0fec807b9de422
ests/pcmBufferQueue/loop/Android.mk
ests/pcmBufferQueue/loop/loop.c
b9fa556e62aa6e0c8a59f224136e509df813cfc7 04-Aug-2010 Glenn Kasten <gkasten@google.com> Add the seek torture test

Change-Id: Icd4ef20283f6f0ac499901a7ffa8e9416abb2798
ests/mimeUri/Android.mk
ests/mimeUri/seekTorture.c
2a6437ce83811c28df37b4cbad171c74e7613892 04-Aug-2010 Glenn Kasten <gkasten@google.com> A \n should continue to be mapped to \r\n

Change-Id: I84a2c215e53d77a5a38fc9527b3111c1db76dfe6
ests/pcmBufferQueue/intbufq/getch.c
5280fa9645cbf32efaf64021dc8a2d0ef50a3b22 04-Aug-2010 Glenn Kasten <gkasten@google.com> Workaround assumption of prefetch interface

Change-Id: I2548dc5f2d3e8cff41f2d1d129082e2b6bfefc5e
ibopensles/android_AudioPlayer.cpp
ibopensles/classes.c
4c37c7242b7f2f4b703bb197fd5454ea2ffe053b 04-Aug-2010 Glenn Kasten <gkasten@google.com> Update logging.

Change-Id: I41f47c400adc1fb13a6d8ba88715a09c52855de4
ibopensles/android_SfPlayer.cpp
ibopensles/sles_allinclusive.h
ibopensles/trace.c
9f70dbab575cef1849c83bfea52a7304fd00efdf 31-Jul-2010 Glenn Kasten <gkasten@google.com> am 3806bddb: Merge "Fix broken build for sim-eng." into gingerbread

Merge commit '3806bddb1af5266d7a016026d0a08117ccda3e0d'

* commit '3806bddb1af5266d7a016026d0a08117ccda3e0d':
Fix broken build for sim-eng.
65b419c38e8e4e6a7eb4365da9592d61f5b06b27 31-Jul-2010 Glenn Kasten <gkasten@google.com> Merge "Fix broken build for sim-eng." into gingerbread
972fc5efc39b27efdf0c23397ff66923cdb729b9 31-Jul-2010 Glenn Kasten <gkasten@google.com> Fix broken build for sim-eng.

Change-Id: Ie1b1eaa93819bede1e024b1930de86c0b9772138
ests/api/Android.mk
ests/api/Android.mk_
c23abf191a62d274ec1f36eb3b2afeb4d9d0e7a1 31-Jul-2010 Wink Saville <wink@google.com> Fix sim build.

The problem is related stl libraries and the parent tests also uses
stl libraries and excludes itself from TARGET_SIMULATOR builds so it
seems reasonable to also exclude these api tests.

Change-Id: I247c43e6760c6343c4b1ee5bf5a7fa6c87ce5af9
ests/api/Android.mk
d99dce95bd6e6a1e16e9fd9cd9207f083150110c 30-Jul-2010 Glenn Kasten <gkasten@google.com> am e77eb40a: Merge "Automated test for buffer queues." into gingerbread

Merge commit 'e77eb40a4833f2234e90fdd8664d9fd7d7474f97'

* commit 'e77eb40a4833f2234e90fdd8664d9fd7d7474f97':
Automated test for buffer queues.
cae2caedc303f70944b2f097ebe1edc980e25761 30-Jul-2010 Glenn Kasten <gkasten@google.com> Merge "Automated test for buffer queues." into gingerbread
46363fa53e5440c4377de9747389c36218178942 30-Jul-2010 Eric Laurent <elaurent@google.com> am 3faeee81: Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.

Merge commit '3faeee81fc470c1a1772c3c51a101b1d050ace8d'

* commit '3faeee81fc470c1a1772c3c51a101b1d050ace8d':
Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.
b3b757daa7d162b6f66590d917c1f84f3ba73c70 30-Jul-2010 Eric Laurent <elaurent@google.com> Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.

Modified types of some arguments and returned values of the Equalizer class from int to short
to match those defined by OpenSL ES SLEqualizerItf interface.

Change-Id: Iaa975378d10f52362c04b464d6dbf354604d288d
ibopensles/IEqualizer.c
ibopensles/android_Effect.cpp
a15af1c45c3ad1d96e3012f1613a79a86c0b2547 30-Jul-2010 Glenn Kasten <gkasten@google.com> Automated test for buffer queues.

Change-Id: If59517d83bbb6c3e985e72303e6503301d091dda
ests/api/Android.mk
ests/api/BufferQueue_test.cpp
2558a442e63387ec2fad10e2bcbc0f08410147d7 29-Jul-2010 Glenn Kasten <gkasten@google.com> am a45db1a5: Fix build warning on Linux native.

Merge commit 'a45db1a5cabede18909327d84dbd6f92c5a0ce3d'

* commit 'a45db1a5cabede18909327d84dbd6f92c5a0ce3d':
Fix build warning on Linux native.
f7f6db2450bbb7843de2d325a5b669023d9a25fd 29-Jul-2010 Glenn Kasten <gkasten@google.com> Fix build warning on Linux native.

Change-Id: Id994888dc4be9cf9df44c3cf6222847d6422543b
ibopensles/trace.c
415ee270fad58a2dde500ba312e8c436d3353578 29-Jul-2010 Glenn Kasten <gkasten@google.com> am 76d3a99f: Merge "Hash generator." into gingerbread

Merge commit '76d3a99f858e5b4d470cef458171cf8f2e965493'

* commit '76d3a99f858e5b4d470cef458171cf8f2e965493':
Hash generator.
976ed1a275cd6a070bb8c35c3d76e7883d9f4ff9 29-Jul-2010 Glenn Kasten <gkasten@google.com> Merge "Hash generator." into gingerbread
539786b4d9b6aa65ef0a1ff68a2bdbefe9b9cdd2 29-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am a64fa3df: Fix build (invalid cast)

Merge commit 'a64fa3dff2128489e4e3f8e77769d74ec0bb7115'

* commit 'a64fa3dff2128489e4e3f8e77769d74ec0bb7115':
Fix build (invalid cast)
5e1b1363249699753bf8706d5593bbb9ebb189dd 29-Jul-2010 Glenn Kasten <gkasten@google.com> Hash generator.

Change-Id: I20865784fe8f27c0ffbb814257283c5498acbec1
rc/MPH.h
rc/OpenSLES_IID.c
rc/interfaces.c
ools/hashgen/Makefile
ools/hashgen/README.txt
ools/hashgen/frag1.c
ools/hashgen/frag2.c
ools/hashgen/frag3.c
ools/hashgen/hash.sed
ools/hashgen/part1.c
ools/hashgen/part4.c
ools/hashgen/part6.c
ools/hashgen/part8.c
8b7d70c522234225689d0ecce70eecb8a6c0ac1f 29-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix build (invalid cast)

Change-Id: I2be55bd2993e8f441f56ec3c8792b07b0a014725
ibopensles/android_Effect.cpp
6a740682db90f8b3e5471d02e69304e163105cda 29-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 465ecf80: First implementation of the generic audio effect interface for OpenSL ES.

Merge commit '465ecf80ac962d6a59341d99d083fed7525e79af'

* commit '465ecf80ac962d6a59341d99d083fed7525e79af':
First implementation of the generic audio effect interface for
67bdf8a2fbd1024ab50c4513e1504325475368e0 28-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> First implementation of the generic audio effect interface for
OpenSL ES.

SLAndroidAudioEffectItf is an explicit interface, exposed on AudioPlayer

Change-Id: I41f86fd64650db7b3cb2d220cdb043d2dcbbcc21
nclude/SLES/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/IAndroidAudioEffect.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/classes.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
833b547656805dd2b823f95815994a0e6b4ca859 28-Jul-2010 Glenn Kasten <gkasten@google.com> am cbf42b70: Use LOG macros instead of fprintf for logging

Merge commit 'cbf42b70edd2b71edf57eb12acfc7bd7db1dbe16'

* commit 'cbf42b70edd2b71edf57eb12acfc7bd7db1dbe16':
Use LOG macros instead of fprintf for logging
49e4076e940559bc204d0f0aa7ab412986445bfa 28-Jul-2010 Glenn Kasten <gkasten@google.com> Use LOG macros instead of fprintf for logging

Line length 100
Details on logging:
fprintf stderr -> SL_LOGE
fprintf stdout -> SL_LOGV
printf -> SL_LOGV
// fprintf stderr -> // SL_LOGE or LOGV depending
// fprintf stdout -> // SL_LOGV
// printf -> // SL_LOGV
newline is appended by the LOG macro

Change-Id: I5340249529784ec26cfdb2656fc30a2f4650cc11
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/android_Effect.cpp
ibopensles/android_SfPlayer.cpp
8fa74ed614fd504b631be9246e9f37954266d0c7 28-Jul-2010 Glenn Kasten <gkasten@google.com> am e889e8de: Add symlinks for apps that don\'t follow standard.

Merge commit 'e889e8de473885425dcd01c7bd2ad47495131949'

* commit 'e889e8de473885425dcd01c7bd2ad47495131949':
Add symlinks for apps that don't follow standard.
bf12143c05961afb502898c03c8814b48f6e82a7 28-Jul-2010 Glenn Kasten <gkasten@google.com> am 2dc537a0: Khronos recommendation: include "SLES/OpenSLES.h"

Merge commit '2dc537a086811c9a97e1f925ace16be7d0b0fcb4'

* commit '2dc537a086811c9a97e1f925ace16be7d0b0fcb4':
Khronos recommendation: include "SLES/OpenSLES.h"
579f0a46b0242606f075994fc581a1c32691de09 28-Jul-2010 Glenn Kasten <gkasten@google.com> Add symlinks for apps that don't follow standard.

Change-Id: I65bb243dc983d869b958cb90e62621026882cd88
nclude/OpenSLES.h
nclude/OpenSLES_Android.h
nclude/OpenSLES_Platform.h
ee21d26b4b66d0f19b826685b3070497523994d5 28-Jul-2010 Glenn Kasten <gkasten@google.com> Khronos recommendation: include "SLES/OpenSLES.h"

Change-Id: Iaa36d08f313a29ad2914e7459448bf9418e8c6c8
nclude/OpenSLES.h
nclude/OpenSLES_Android.h
nclude/OpenSLES_Platform.h
nclude/SLES/OpenSLES.h
nclude/SLES/OpenSLES_Android.h
nclude/SLES/OpenSLES_Platform.h
ibopensles/IID_to_MPH.c
ibopensles/OpenSLESUT.c
ibopensles/OpenSLES_IID.c
ibopensles/sles_allinclusive.h
ests/effects/eqFdPath/slesTestEqFdPath.cpp
ests/mimeFd/playFdPath/slesTestPlayFdPath.cpp
ests/mimeUri/multiplay.c
ests/mimeUri/slesTestPlayStreamType.cpp
ests/mimeUri/slesTestPlayUri.cpp
ests/mimeUri/slesTestPlayUri2.cpp
ests/mimeUri/slesTest_playMuteSolo.cpp
ests/mimeUri/slesTest_playStates.cpp
ests/mimeUri_test.cpp
ests/pcmBufferQueue/intbufq/intbufq.c
ests/pcmBufferQueue/sawtoothBufferQueue/bufferQueue.c
ests/pcmBufferQueue/sawtoothBufferQueue/playSawtoothBufferQueue.cpp
a4b64674b5ab3b76e30a1fd98d3ff063d4ffdca3 28-Jul-2010 Glenn Kasten <gkasten@google.com> am ac9b7e3d: Verify output mix is in realized state

Merge commit 'ac9b7e3d6da1fd8c00b2cc2a84c905df5e49d064'

* commit 'ac9b7e3d6da1fd8c00b2cc2a84c905df5e49d064':
Verify output mix is in realized state
3d86d84fe89faa0efaf09bcbe4b841dfd3c7b5d8 28-Jul-2010 Glenn Kasten <gkasten@google.com> Verify output mix is in realized state

Change-Id: Ie76de7bb68f31688cf96cf3621fe4b812030e59e
ibopensles/android_AudioPlayer.cpp
ibopensles/sles.c
8dd4a65810064982e2b909a185bfb22be8d12422 28-Jul-2010 Glenn Kasten <gkasten@google.com> am 793ddb6d: Rename the utility toolkit static library.

Merge commit '793ddb6dae36d6b5abf5a75f8f51b4182c5646d1'

* commit '793ddb6dae36d6b5abf5a75f8f51b4182c5646d1':
Rename the utility toolkit static library.
539bb6c1536873254feb30ea5d1436f03843f867 28-Jul-2010 Glenn Kasten <gkasten@google.com> am ff9f51f1: Back port to Eclair.

Merge commit 'ff9f51f17b6c00beaa51698e22873a979c7b3ff6'

* commit 'ff9f51f17b6c00beaa51698e22873a979c7b3ff6':
Back port to Eclair.
5dacc932cd1084e0cd746afe0a4d7e035560113c 28-Jul-2010 Glenn Kasten <gkasten@google.com> Rename the utility toolkit static library.

Change-Id: I8809aa5db6a259a0eb308f0e926e1922f9c9ea16
ibopensles/Android.mk
ibopensles/OpenSLESUT.c
ibopensles/OpenSLESUT.h
ibopensles/OpenSLUT.c
ibopensles/OpenSLUT.h
ibopensles/sles_allinclusive.h
ibopensles/trace.c
14e903028c4abfc1b2fbfab6560e3b864086f895 27-Jul-2010 Glenn Kasten <gkasten@google.com> Back port to Eclair.

Change-Id: Ib5fbb2f877a02891c0cd8f55c0fa2a46a12adffb
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/IEngine.c
ibopensles/IEqualizer.c
ibopensles/android_AudioPlayer.cpp
ibopensles/sles.c
ibopensles/sles_allinclusive.h
1d121737c0f4aadc59e32500a8de5d49ed3b3f7b 27-Jul-2010 Glenn Kasten <gkasten@google.com> am 6aa12107: Fix leak of track slot when audio player destroyed

Merge commit '6aa121077e8981b7d9f46471bdaa1a11211057e8'

* commit '6aa121077e8981b7d9f46471bdaa1a11211057e8':
Fix leak of track slot when audio player destroyed
343c522ebf4f9c321eef8c3b3b2945f1c1cb8846 27-Jul-2010 Glenn Kasten <gkasten@google.com> Fix leak of track slot when audio player destroyed

Move the link from audio player to associated output mix / track
from the effect send interface up to the audio player class.
Add some more comments.
Line length 100.

Change-Id: I4e2de5e673709e686f066d0bd852bac17996810f
ibopensles/CAudioPlayer.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IOutputMixExt.c
ibopensles/OutputMixExt.h
ibopensles/SndFile.c
ibopensles/sles_allinclusive.h
343acf8b15b1edd85f6b90d76c8a12ee351c91c7 27-Jul-2010 Glenn Kasten <gkasten@google.com> am 8252e6c3: Improve platform portability.

Merge commit '8252e6c392af287088a55d6d31b5ba7f80f13ca4'

* commit '8252e6c392af287088a55d6d31b5ba7f80f13ca4':
Improve platform portability.
18abcc4b70fab1f84d6fbebac3a8e34480a6c4d3 27-Jul-2010 Glenn Kasten <gkasten@google.com> Improve platform portability.

Fix build errors and warnings on other platforms.

Change-Id: I0adf9fbabe274c7ebcc1c0b11d598b65feb3efc8
ibopensles/IEngine.c
ibopensles/IOutputMixExt.c
ibopensles/IVolume.c
e36ec73f66561887b0414170d544a2602697e65d 27-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am ac4f9bf8: Use recording settings of the PCM Buffer Queue sink of an SL ES AudioRecorder to configure AudioRecord.

Merge commit 'ac4f9bf82c3321d2436485a3d4d0d490079872c6'

* commit 'ac4f9bf82c3321d2436485a3d4d0d490079872c6':
Use recording settings of the PCM Buffer Queue sink of an SL ES
712b490060e4164fbe47986be1d2584d1610d8dd 22-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Use recording settings of the PCM Buffer Queue sink of an SL ES
AudioRecorder to configure AudioRecord.

- check, for Android only, that when creating an AudioRecorder,
its data sink is a BufferQueue.
- move all inline SL ES to Android conversions to a separate file.
- in checkDataSink() function, take into account the type of
the object whose sink is being inspected.

Change-Id: Id452cf20a8a184904043aceaacbd70d835f68130
ibopensles/IEngine.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioRecorder.cpp
ibopensles/android_sles_conversions.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
b281088960a2564a96f13d120e54750252e4623f 26-Jul-2010 Glenn Kasten <gkasten@google.com> resolved conflicts for merge of 49202d85 to master

Change-Id: Ic235bbffc5cacbb227b8d59f4949bca5cbb1069e
3822742823ce338eff27637c04a4dce776da3076 26-Jul-2010 Glenn Kasten <gkasten@google.com> am 10ee2bc6: Add and update comments and use typedefs more.

Merge commit '10ee2bc6119445f4339ecef998c40c9cc95057cd'

* commit '10ee2bc6119445f4339ecef998c40c9cc95057cd':
Add and update comments and use typedefs more.
a64474bb5e142123ae3630bcd403dfb62bd64fc8 26-Jul-2010 Glenn Kasten <gkasten@google.com> Flatten the tests/mimeUri directory.

Change-Id: Ib8056ec7a4a167e6afdce7f020468381126c657e
ests/mimeUri/Android.mk
ests/mimeUri/multiplay.c
ests/mimeUri/multiplay/Android.mk
ests/mimeUri/multiplay/multiplay.c
ests/mimeUri/playMuteSolo/Android.mk
ests/mimeUri/playMuteSolo/slesTest_playMuteSolo.cpp
ests/mimeUri/playStates/Android.mk
ests/mimeUri/playStates/slesTest_playStates.cpp
ests/mimeUri/playStreamType/Android.mk
ests/mimeUri/playStreamType/slesTestPlayStreamType.cpp
ests/mimeUri/playUri/Android.mk
ests/mimeUri/playUri/slesTestPlayUri.cpp
ests/mimeUri/playUri2/Android.mk
ests/mimeUri/playUri2/slesTestPlayUri.cpp
ests/mimeUri/slesTestPlayStreamType.cpp
ests/mimeUri/slesTestPlayUri.cpp
ests/mimeUri/slesTestPlayUri2.cpp
ests/mimeUri/slesTest_playMuteSolo.cpp
ests/mimeUri/slesTest_playStates.cpp
369f3138f19f7102bf0f98b890ab84c8df633a93 24-Jul-2010 Glenn Kasten <gkasten@google.com> Add and update comments and use typedefs more.

Add Doxygen-style comments and convert some existing comments to Doxygen style.
Use typedef instead of struct as type name, e.g. rename struct Track to Track.

Change-Id: I251476c68304c9734210fcc5fe01d89544345af2
ibopensles/CAudioPlayer.c
ibopensles/CAudioRecorder.c
ibopensles/CEngine.c
ibopensles/IID_to_MPH.c
ibopensles/IOutputMix.c
ibopensles/IOutputMixExt.c
ibopensles/MPH_to.h
ibopensles/OpenSLUT.c
ibopensles/OpenSLUT.h
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/SLSndFile.h
ibopensles/SndFile.c
ibopensles/ThreadPool.h
ibopensles/devices.c
ibopensles/devices.h
ibopensles/locks.h
ibopensles/platform.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
79be622c73f39660a0ea45acb8338a52113bca75 23-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 840560a0: Fix build

Merge commit '840560a02426fd69ee3d8cd31564a56a60929857'

* commit '840560a02426fd69ee3d8cd31564a56a60929857':
Fix build
c532e43aa9a0b3c84079f9dcb3a23490449b63cd 23-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix build

Change-Id: I5c3f5e34836a3c2e4ea560d7925e84b550dfb0bb
ibopensles/android_AudioPlayer.cpp
7fb27edff2fe31fecd6d9924a7fca7f5b08de46a 23-Jul-2010 Glenn Kasten <gkasten@google.com> am 4ba5e94a: Merge "Initialize audio player for EffectSend." into gingerbread

Merge commit '4ba5e94ae39c8531fb88a9f1bace69dbb7e90f8c'

* commit '4ba5e94ae39c8531fb88a9f1bace69dbb7e90f8c':
Initialize audio player for EffectSend.
0e6b5e1b72aad7c66710e2e7b7795b24020584cc 23-Jul-2010 Glenn Kasten <gkasten@google.com> Merge "Initialize audio player for EffectSend." into gingerbread
3d81b8ca5d3cee893672beb76e00849d4f3fa8b8 23-Jul-2010 Glenn Kasten <gkasten@google.com> Initialize audio player for EffectSend.

During creation of an audio player, record the associated output
mix for later use by the EffectSend interface.
Dummy prefetch level and MIDI duration for testing.
Line length 100.

Change-Id: Ic0a5a0539f902fbbe8b3d10288c08c6a2d150670
ibopensles/IEngine.c
ibopensles/SndFile.c
ibopensles/android_AudioPlayer.cpp
f066a9b6880db0245954c03234b4d19067af60eb 23-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 18ed3a39: Merge "Add test to exercise the SLEqualizerItf interface." into gingerbread

Merge commit '18ed3a3937fafdfe80e3c6e38c9844962bb35359'

* commit '18ed3a3937fafdfe80e3c6e38c9844962bb35359':
Add test to exercise the SLEqualizerItf interface.
4776ee2b7b465472da86b2601db078c37363aa94 23-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add test to exercise the SLEqualizerItf interface." into gingerbread
34f7db8908b2d85ecdbca1a7bcb263d979d869e7 23-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Add test to exercise the SLEqualizerItf interface.

Change-Id: I8c23516cee834e05911f890a89671fb1acd4a8e4
ests/effects/eqFdPath/Android.mk
ests/effects/eqFdPath/slesTestEqFdPath.cpp
20fa79eea73dcb00ead955c6d6ad4b0f41b4c876 23-Jul-2010 Glenn Kasten <gkasten@google.com> am 0f3ce8ff: Update the rear pointer when enqueuing a closure.

Merge commit '0f3ce8ffdcb4a1bb7d0f25dec2616bdc714f1105'

* commit '0f3ce8ffdcb4a1bb7d0f25dec2616bdc714f1105':
Update the rear pointer when enqueuing a closure.
d4b099b83a686a7bb88f5e36c063f5efe623b56d 23-Jul-2010 Glenn Kasten <gkasten@google.com> Update the rear pointer when enqueuing a closure.

Change-Id: Ibc800b5384adbaa45b9d7418bc8e7be6df8f5bb6
ibopensles/ThreadPool.c
96ab0a7827db0f99b3589d6250f6592d528b5945 22-Jul-2010 Glenn Kasten <gkasten@google.com> am 23c38816: Buffer queue and audio player maintenance.

Merge commit '23c38816f7c210afae5072fd44658c98fec7e119'

* commit '23c38816f7c210afae5072fd44658c98fec7e119':
Buffer queue and audio player maintenance.
4b65ef9efdf5aba01bea89d8cdd64f500560a28d 17-Jul-2010 Glenn Kasten <gkasten@google.com> Buffer queue and audio player maintenance.

Known problems on Android only (SDL is ok):
High latency on first enqueue, or first after buffer underrun
Play after stop does not resume the current buffer.

Improvements:
Implement BufferQueue::Clear for both Android and SDL.
Play::SetPlayState to Stopped now works for SDL (not yet for Android), and
sets play cursor to start of current buffer.
Play::Pause and Play::Stop while playing now block until done for SDL.
SDL now calls buffer queue callback after each buffer completion, instead of when mixer needs a buffer.
Move SF_INFO sfinfo to CAudioPlayer so we always have good stuff like the sample rate etc.
BufferQueue::Enqueue on a successful enqueue to a formerly empty queue
now kicks off an attribute change followed by a synchronous call to a
hook when first buffer enqueued. Currently unused but could be a way to reduce latency.
Minor comment changes.
Add interface_cond_broadcast.
More logging of errors.
Include source file and line number in logs.
sles_to_android.cpp: needs code for #if 0 sections.
Disable trace logging of BufferQueue::Enqueue and GetState.
Fix printf warnings.
Fix typo in number of interfaces requested at CreateAudioPlayer.
Remove spurious printf and while loop.
Line length 100.
Add intermediate play states which need to be re-mapped.
Fix printf format warnings.
Re-organize the buffer queue initialization.
Implement true seeking based on position for libsndfile.
SndFile is working again, but just barely.
Make it build on non-Android platforms.
BufferQueue::RegisterCallback now checks for STOPPED play state.
Include function name in trace logs.
Enhance test to check buffer queue callbacks, get buffer queue state, get play state.
Fix bug with Stop while Paused not resetting buffer pointer.
Remove obsolete comments and #if 0.
Set enqueue attribute is state is PLAYING and the first buffer is enqueued.
Added slutPrintIIDs.
Update comments.
Fix build warnings.
Fix compile error introduced by the merge.
Fix runtime problems introduced during the merge.
Address code review comments:
- BufferQueue changes apply to AudioRecord also.
- Rename to conform to new naming conventions.
- Add comments.
Fix build warning.
Add interactive buffer queue test application.

Change-Id: I5b00545a599fd9dba96efb834fca2369d149eaaa
ibopensles/CAudioPlayer.c
ibopensles/CAudioRecorder.c
ibopensles/IBufferQueue.c
ibopensles/IEngine.c
ibopensles/IEqualizer.c
ibopensles/IOutputMixExt.c
ibopensles/IPlay.c
ibopensles/OpenSLUT.c
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/SndFile.c
ibopensles/android_AudioPlayer.cpp
ibopensles/locks.c
ibopensles/locks.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sync.c
ibopensles/trace.c
ests/mimeUri/multiplay/multiplay.c
ests/mimeUri/playMuteSolo/slesTest_playMuteSolo.cpp
ests/mimeUri/playUri2/slesTestPlayUri.cpp
ests/pcmBufferQueue/intbufq/Android.mk
ests/pcmBufferQueue/intbufq/getch.c
ests/pcmBufferQueue/intbufq/intbufq.c
ests/pcmBufferQueue/sawtoothBufferQueue/bufferQueue.c
4bc5f3ed65818b1a810ae8125b71adcf5ce5de57 22-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am f66a508b: Harmonize naming scheme for Android AudioPlayer related functions with what is used for AudioRecorder.

Merge commit 'f66a508b11e327670a6bf5a8cf9c106f215e3b39'

* commit 'f66a508b11e327670a6bf5a8cf9c106f215e3b39':
Harmonize naming scheme for Android AudioPlayer related functions
d739e18bea1deaf7c487f99a512c0ae7649615c2 21-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Harmonize naming scheme for Android AudioPlayer related functions
with what is used for AudioRecorder.

Change-Id: I96ed88ff17a5fff12b2e17dd6cb84630cba8fad8
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/IAndroidStreamType.c
ibopensles/IEngine.c
ibopensles/IPlay.c
ibopensles/IPlaybackRate.c
ibopensles/android_AudioPlayer.cpp
ibopensles/android_AudioPlayer.h
ibopensles/locks.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
83a6729246bc122e5cc4607a6cc4d030a76d87c4 21-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am bdb243c1: Add support for PCM audio recording in OpenSL ES.

Merge commit 'bdb243c16be832f5853083480965a437b81df3c8'

* commit 'bdb243c16be832f5853083480965a437b81df3c8':
Add support for PCM audio recording in OpenSL ES.
3af2a8dd03f3113d5da1000dd79c143a9f0c4f36 21-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Add support for PCM audio recording in OpenSL ES.

- add support for the AudioRecorder object in Android, not just for
the conformance tests.
- map the SL AudioRecorder object to the AudioRecord class.
- only allow buffer queue data sinks.
- more work required for the recording format, and input device
selection.

Change-Id: I4c65a8fa0ab162036f0eed4b756431f465325cd3
ibopensles/Android.mk
ibopensles/CAudioRecorder.c
ibopensles/IBufferQueue.c
ibopensles/IEngine.c
ibopensles/IRecord.c
ibopensles/MPH_to.c
ibopensles/android_AudioRecorder.cpp
ibopensles/android_AudioRecorder.h
ibopensles/classes.c
ibopensles/sles_allinclusive.h
79aad3a0052cba97ee4f580e00661dee6478b6b2 15-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 1f5702ed: Use the AudioEffect framework to implement SLEqualizerItf. EQ presets are stored in the engine because they need to be available during the duration of the application, not just during the life of the AudioPlayer that uses EQ. Change-Id: Ib55ce32b54a4dca1

Merge commit '1f5702ed2239c79b701aa8cc3c675798b34a9656'

* commit '1f5702ed2239c79b701aa8cc3c675798b34a9656':
Use the AudioEffect framework to implement SLEqualizerItf.
4be7fe875758b42939719a1082ae9e6dbf37a1d7 09-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Use the AudioEffect framework to implement SLEqualizerItf.
EQ presets are stored in the engine because they need to be
available during the duration of the application, not just
during the life of the AudioPlayer that uses EQ.
Change-Id: Ib55ce32b54a4dca134831a87bc5bd2ae8c111035
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/IEngine.c
ibopensles/IEqualizer.c
ibopensles/android_Effect.cpp
ibopensles/android_Effect.h
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
05ae7a7c2bdcd165891aab720e51f13e6304a0f1 14-Jul-2010 Glenn Kasten <gkasten@google.com> am 158dbd1a: Logging and comments to make testing easier.

Merge commit '158dbd1a71a890d29490198c8e5019081ac94ac3'

* commit '158dbd1a71a890d29490198c8e5019081ac94ac3':
Logging and comments to make testing easier.
0b595cc18d82e41dfab0c686e9e63c30a86e8c80 14-Jul-2010 Glenn Kasten <gkasten@google.com> Logging and comments to make testing easier.

Add utility function to print an IID.
checkDataFormat now prints a detailed log on invalid format.
Use SL_LOGE and SL_LOGV for logging instead of fprintf, we can easily redirect to standard Android logging eventually.
Add Doxygen-style comments.
Log more specific error message on invalid data format.
Use the full copyright header in one file.

Change-Id: I2342e29f57e97c3b5d94cb219d00e767a75e93fa
ibopensles/CAudioPlayer.c
ibopensles/CEngine.c
ibopensles/IAndroidStreamType.c
ibopensles/IBufferQueue.c
ibopensles/MPH_to.c
ibopensles/OpenSLUT.h
ibopensles/locks.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sync.c
e8e4656f4a75efc574bb40e50472b11c98cf3a1b 13-Jul-2010 Glenn Kasten <gkasten@google.com> am f51f5c6e: Bug fix and general code cleanup.

Merge commit 'f51f5c6ec99ebc8f2c833a68f232bc1c874a7f2f'

* commit 'f51f5c6ec99ebc8f2c833a68f232bc1c874a7f2f':
Bug fix and general code cleanup.
7a79f519d89eb0e1a5b3f4005484b16d6854d7e2 09-Jul-2010 Glenn Kasten <gkasten@google.com> Bug fix and general code cleanup.

Trace debug now uses Android logging by LOGV/LOGE.
Added SL Utility Toolkit for OpenSL ES, similar to OpenAL UT.
Add a -DUSE_TRACE instead of -DNDEBUG and add it commented out to Android.mk.
LOGE for error returns, LOGV for all entry and exit.
Rename debug.c to trace.c.
slutPrintIID prints the symbolic name if known.
Fix bug in slQueryNumSupportedEngineInterfaces and
slQuerySupportedEngineInterfaces which were not
skipping over unavailable interfaces.
Use USE_CONFORMANCE to return SL_RESULT_FEATURE_UNSUPPORTED when not supported
and make some interfaces unavailable depending on USE_CONFORMANCE.
Move most FIXME to separate bug/to-do list.
Fix possible intermediate overflow in duration computation for sndfile.
Line length 100.
Address code review comments, disable LOG.
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/CEngine.c
ibopensles/I3DCommit.c
ibopensles/I3DGrouping.c
ibopensles/I3DLocation.c
ibopensles/I3DMacroscopic.c
ibopensles/IAudioEncoder.c
ibopensles/IAudioIODeviceCapabilities.c
ibopensles/IBufferQueue.c
ibopensles/IDeviceVolume.c
ibopensles/IDynamicSource.c
ibopensles/IEngine.c
ibopensles/IMIDIMuteSolo.c
ibopensles/IMIDITempo.c
ibopensles/IMetadataExtraction.c
ibopensles/IMetadataTraversal.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/OpenSLUT.c
ibopensles/OpenSLUT.h
ibopensles/SndFile.c
ibopensles/classes.c
ibopensles/debug.c
ibopensles/devices.c
ibopensles/locks.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/trace.c
c634b331769172a4903247e33361dfefbeea1136 09-Jul-2010 Glenn Kasten <gkasten@google.com> am d1490dce: Port test apps to non-Android platform.

Merge commit 'd1490dce2ac1aaef4dc0a87847205f8af688802a'

* commit 'd1490dce2ac1aaef4dc0a87847205f8af688802a':
Port test apps to non-Android platform.
8eabaa529bf4796543a54bccc6f87def95e0b326 09-Jul-2010 Glenn Kasten <gkasten@google.com> Port test apps to non-Android platform.

Change-Id: If4e8ace08b3eee8c62c375a5b238fd1ed3665a06
ests/mimeUri/playMuteSolo/slesTest_playMuteSolo.cpp
ests/mimeUri/playUri/slesTestPlayUri.cpp
ests/mimeUri/playUri2/slesTestPlayUri.cpp
ests/pcmBufferQueue/sawtoothBufferQueue/playSawtoothBufferQueue.cpp
944a857e5902f73848c42f03c918aae6a932dd68 09-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 6da4dc84: Since SLPrefetchStatusItf is explicit, fix the playUri test to request two interfaces (volume and prefetch) when creating the AudioPlayer.

Merge commit '6da4dc84721fc3ee7fdf42cd87dc5953b69d9acd'

* commit '6da4dc84721fc3ee7fdf42cd87dc5953b69d9acd':
Since SLPrefetchStatusItf is explicit, fix the playUri test to
114f4640f271920ead73d9c586f0be46298f5929 09-Jul-2010 Glenn Kasten <gkasten@google.com> am ba90854b: Fix error and warning on non-Android platforms.

Merge commit 'ba90854bb11b5ff2afd5900a29d43689933e9df2'

* commit 'ba90854bb11b5ff2afd5900a29d43689933e9df2':
Fix error and warning on non-Android platforms.
14190e751192895fc82ec85a3dc37c7d9256ebd1 09-Jul-2010 Glenn Kasten <gkasten@google.com> am 5a430e03: Merge "Format: preprocessor directive not in column 1." into gingerbread

Merge commit '5a430e03fda740341a4093d8e026bf00b5c7e27b'

* commit '5a430e03fda740341a4093d8e026bf00b5c7e27b':
Format: preprocessor directive not in column 1.
9c534ad5cec8e99e5e0bbf5a371da7aeceb958f6 09-Jul-2010 Glenn Kasten <gkasten@google.com> am bc0465ab: Merge "Fix printf format problem." into gingerbread

Merge commit 'bc0465ab3d7633641aacc2dced88f7e5ad8addfe'

* commit 'bc0465ab3d7633641aacc2dced88f7e5ad8addfe':
Fix printf format problem.
65c0a9721375a7e224966e098841015c1c258185 09-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 2caa5dec: Modify result related macros to not force them to be used as the beginning and end of a variable visibility bloc.

Merge commit '2caa5decd4882f609c3bf1c69b40d6c2398387bc'

* commit '2caa5decd4882f609c3bf1c69b40d6c2398387bc':
Modify result related macros to not force them to be used as the
603d9aec6b2d96693bf91cba4b0a678027c34572 09-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Since SLPrefetchStatusItf is explicit, fix the playUri test to
request two interfaces (volume and prefetch) when creating the
AudioPlayer.

Change-Id: I97b18b68dac2ffacef9c709c3f1c2ee85081e07d
ests/mimeUri/playUri/slesTestPlayUri.cpp
a6b2d444f86f7bca8da33cb9904b225220b675a0 09-Jul-2010 Glenn Kasten <gkasten@google.com> Fix error and warning on non-Android platforms.

sles.c:374: error: ‘for’ loop initial declaration used outside C99 mode
sles.c:374: warning: comparison between signed and unsigned

Change-Id: I344c928cb2b0302f0ed6daa74e7b7c530783c2f4
ibopensles/sles.c
4aaf241778a3fe9f1a93766224f8180d8852178b 09-Jul-2010 Glenn Kasten <gkasten@google.com> Merge "Format: preprocessor directive not in column 1." into gingerbread
848ee832ace52d3cfdf9cb95b1a70ed6715cad11 09-Jul-2010 Yu Shan Emily Lau <yslau@google.com> am 6bc9decd: Added the make file for the opensles gTest.

Merge commit '6bc9decd2605337cfff7ee34e0ca8a785664672d'

* commit '6bc9decd2605337cfff7ee34e0ca8a785664672d':
Added the make file for the opensles gTest.
d865489ed04d7454aa3407a950eabb7ba0a958a4 09-Jul-2010 Glenn Kasten <gkasten@google.com> Merge "Fix printf format problem." into gingerbread
91ff8847bf0125c9cc04168396d485269ba6aad8 09-Jul-2010 Glenn Kasten <gkasten@google.com> Format: preprocessor directive not in column 1.

Change-Id: I33ee829c3f963c5ca2495cfa08ac400c28bd1da2
ibopensles/IDynamicInterfaceManagement.c
bd14ee2a1c5da5a6eb4a59c7cbe2091b2aea9c3a 09-Jul-2010 Glenn Kasten <gkasten@google.com> Fix printf format problem.

Change-Id: I8ced7479d29702455bf128337e24f1f4ef8aeb16
ibopensles/android_SfPlayer.cpp
486fb358beddd0967037ad8ca9151c9dff89da8d 09-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Modify result related macros to not force them to be used as the
beginning and end of a variable visibility bloc.

Change-Id: I31c0fcd6dda36a4f77c1361ace79e27c97ca87fb
ibopensles/sles_allinclusive.h
791b3c0bb7bef1fd930a1b91274b972989f6a715 08-Jul-2010 Yu Shan Emily Lau <yslau@google.com> Added the make file for the opensles gTest.

Change-Id: Ib2750cd5ba9500d7030bf64fca99a3411bbaa74c
ests/Android.mk
ests/mimeUri_test.cpp
c03389d259d7a9c8aa50d233c4ba9181e6a10efe 07-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 00e03878: Implement seeking on a media player.

Merge commit '00e03878051187063f3c167cd1d0bf02c4d68430'

* commit '00e03878051187063f3c167cd1d0bf02c4d68430':
Implement seeking on a media player.
6f0c1c280141bb49828f89c7fd1bd07238a87cb5 07-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement seeking on a media player.

Change-Id: I0894e79be80ded39f051c670c30ac380a74f9888
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/sles_to_android.cpp
71532fe5c2d3599b11026441ed180e5efc18d033 07-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am d0222eec: Don\'t allow requested the SLSeekItf when the data source is a buffer queue. Mark SLPrefetchStatusItf and SLSeekItf as explicit interfaces. New parameter change flag for playback position.

Merge commit 'd0222eec2f5ae565ab930fc1364950ab4530e1e8'

* commit 'd0222eec2f5ae565ab930fc1364950ab4530e1e8':
Don't allow requested the SLSeekItf when the data source is a buffer
3c170255cc71942f310b676d968cf73328aa5d70 07-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Don't allow requested the SLSeekItf when the data source is a buffer
queue.
Mark SLPrefetchStatusItf and SLSeekItf as explicit interfaces.
New parameter change flag for playback position.

Change-Id: I2c45818e294ec65a1b7e741ec50e9389acd6d187
ibopensles/IEngine.c
ibopensles/ISeek.c
ibopensles/classes.c
ibopensles/locks.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
3572a74b9fd2b86d22852e73ec70a7c83838c169 07-Jul-2010 Glenn Kasten <gkasten@google.com> am 50732e34: Merge "Trace debug support." into gingerbread

Merge commit '50732e34c3e613d59bfb37436b7d057a0c38c5be'

* commit '50732e34c3e613d59bfb37436b7d057a0c38c5be':
Trace debug support.
f41f2dc9e00e17185ee46255a186ba00d6b652d4 07-Jul-2010 Yu Shan Emily Lau <yslau@google.com> am 95a59645: The change broke the sim build. Remove the makefile for now until find the fix.

Merge commit '95a59645429206e707dd439857a409cfbed2dd15'

* commit '95a59645429206e707dd439857a409cfbed2dd15':
The change broke the sim build. Remove the makefile for now until find the fix.
98aadb37725077b313d237a070e0c3633487edee 07-Jul-2010 Glenn Kasten <gkasten@google.com> Merge "Trace debug support." into gingerbread
ed46c29d6a09112dbbf584c82953f63289596fd6 03-Jul-2010 Glenn Kasten <gkasten@google.com> Trace debug support.

Add Enter/Leave interface macros for trace debugging.
3D interface methods do not block for now.
Line length 100.
Add blank lines between interface methods for clarity.

Change-Id: I412936e8574f95308731e41f8b854fe342cb04b6
ibopensles/Android.mk
ibopensles/I3DCommit.c
ibopensles/I3DDoppler.c
ibopensles/I3DGrouping.c
ibopensles/I3DLocation.c
ibopensles/I3DMacroscopic.c
ibopensles/I3DSource.c
ibopensles/IAndroidStreamType.c
ibopensles/IAudioDecoderCapabilities.c
ibopensles/IAudioEncoder.c
ibopensles/IAudioEncoderCapabilities.c
ibopensles/IAudioIODeviceCapabilities.c
ibopensles/IBassBoost.c
ibopensles/IBufferQueue.c
ibopensles/IDeviceVolume.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IDynamicSource.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IEqualizer.c
ibopensles/ILEDArray.c
ibopensles/IMIDIMessage.c
ibopensles/IMIDIMuteSolo.c
ibopensles/IMIDITempo.c
ibopensles/IMIDITime.c
ibopensles/IMetadataExtraction.c
ibopensles/IMetadataTraversal.c
ibopensles/IMuteSolo.c
ibopensles/IObject.c
ibopensles/IOutputMix.c
ibopensles/IOutputMixExt.c
ibopensles/IPitch.c
ibopensles/IPlay.c
ibopensles/IPlaybackRate.c
ibopensles/IPrefetchStatus.c
ibopensles/IPresetReverb.c
ibopensles/IRatePitch.c
ibopensles/IRecord.c
ibopensles/ISeek.c
ibopensles/IThreadSync.c
ibopensles/IVibra.c
ibopensles/IVirtualizer.c
ibopensles/IVisualization.c
ibopensles/IVolume.c
ibopensles/classes.c
ibopensles/debug.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ests/mimeUri/multiplay/multiplay.c
2b42246440867e6be3e2b508e2dbd5a62bd6686e 03-Jul-2010 Yu Shan Emily Lau <yslau@google.com> The change broke the sim build. Remove the makefile for now until find the fix.

Change-Id: I83eb123fdaec129238f62efdc5ea21f2426f7f8c
ests/Android.mk
af6c9c10b162c70ffdb0b9bceafc18469ab1c9ff 02-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am b7aab831: Fix sim build. Proper makefile modification, not copy paste.

Merge commit 'b7aab83100a3aa1c887c7836a7a0c0bd0e3437d5'

* commit 'b7aab83100a3aa1c887c7836a7a0c0bd0e3437d5':
Fix sim build. Proper makefile modification, not copy paste.
af1a1f532a7a9d90675022c0d063a48b5d33a0d3 02-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix sim build. Proper makefile modification, not copy paste.

Change-Id: Iede8f9b07029491e76a46e500a13aff0aa6de881
ests/Android.mk
225caa208d2502a8f12d0686625065e7a316a422 02-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 26548758: Fix sim build. Exclude stlport on the simulator.

Merge commit '26548758df083487f754ff6b8d9fb0189e7185fc'

* commit '26548758df083487f754ff6b8d9fb0189e7185fc':
Fix sim build. Exclude stlport on the simulator.
e09d6784d14b138484179aae680fbfe1b08eeba0 02-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix sim build. Exclude stlport on the simulator.

Change-Id: I54f66168b75788846ee0c94216be7f487ab4c0f2
ests/Android.mk
7de70dabc493540c965721a0d7cfa3746d038819 02-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 5f24cf20: Merge "Cache sample rate once known instead of querying it from the player." into gingerbread

Merge commit '5f24cf20e7d8b13f84df98aff6012bc6c0160111'

* commit '5f24cf20e7d8b13f84df98aff6012bc6c0160111':
Cache sample rate once known instead of querying it from the player.
e5bd9a9231a4239054fbcf39d6da70cc6e089e45 02-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Cache sample rate once known instead of querying it from the player." into gingerbread
a50f5208eb9022a9d1a51288e25553cfe6828b3a 02-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Cache sample rate once known instead of querying it from the player.

Change-Id: I23f0ca4f6b65329ac5d13cc24a080c26dbc48648
ibopensles/IEngine.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ef1b82756d2e9c9b8e01426a980b9c71fbc49828 02-Jul-2010 Yu Shan Emily Lau <yslau@google.com> am 5b3af2f8: Merge "Integrated the mimeUri PlayUri native with the gTest framework." into gingerbread

Merge commit '5b3af2f818524f827c6b24ae54cb454a3c0150c1'

* commit '5b3af2f818524f827c6b24ae54cb454a3c0150c1':
Integrated the mimeUri PlayUri native with the gTest framework.
cbd591140854c0266e6c04bc95ad7bcac234f4c2 02-Jul-2010 Yu Shan Emily Lau <yslau@google.com> Merge "Integrated the mimeUri PlayUri native with the gTest framework." into gingerbread
6c974d9520ee0d303ab2c63b1ba962bbab1d5a29 01-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am ba6f5a85: Let SfPlayer handle the play state with regards to decoding. This fixes the bug where the player couldn\'t be resumed after being paused. Add test of the OpenSL ES play states.

Merge commit 'ba6f5a8583a5dabbd05a690b334844dffa179091'

* commit 'ba6f5a8583a5dabbd05a690b334844dffa179091':
Let SfPlayer handle the play state with regards to decoding.
1c1c2d6d225e8180ba85f41170f7921d471308da 01-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Let SfPlayer handle the play state with regards to decoding.
This fixes the bug where the player couldn't be resumed after being paused.
Add test of the OpenSL ES play states.

Change-Id: I3793941abf852aaca359346c656e4a8e29ed666c
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/sles_to_android.cpp
ests/mimeUri/playStates/Android.mk
ests/mimeUri/playStates/slesTest_playStates.cpp
05573e1f45a6c5cba4b95513d0ff9b6ad7659698 01-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am b4c7dc8d: Merge "Fix build. Correct definition of 64bit constants." into gingerbread

Merge commit 'b4c7dc8d26cfee768b9d495378ccd958bb7de3e6'

* commit 'b4c7dc8d26cfee768b9d495378ccd958bb7de3e6':
Fix build. Correct definition of 64bit constants.
78503a770d65d1f68943a5214a52b9e28e837d84 01-Jul-2010 Glenn Kasten <gkasten@google.com> am c37c934e: Fix miscellaneous bugs.

Merge commit 'c37c934e00a96afe18aaadd9f9a1863c721bf8ea'

* commit 'c37c934e00a96afe18aaadd9f9a1863c721bf8ea':
Fix miscellaneous bugs.
e85118fc087249aced44bdcd1f1319ab8a6ec802 01-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix build. Correct definition of 64bit constants." into gingerbread
6c7bd2eda0843708a8f36773b13716ba479dd6fb 01-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix build. Correct definition of 64bit constants.

Change-Id: I293a28f377b5e6f7ebf5e341c3317f99f78fd125
nclude/OpenSLES_Android.h
ibopensles/android_SfPlayer.h
a438eb1cf1ae602afab00336528dd230bd929206 30-Jun-2010 Glenn Kasten <gkasten@google.com> Fix miscellaneous bugs.

I3DCommit::Commit should block until generation count is updated.
IDeviceVolume_SetVolume and IDeviceVolume_GetVolume work on more device IDs.
Implement IEngine_CreateListener.
IEngine_Create3DGroup return correct status code.
IIDs were out of order in IID_to_MPH.c and OpenSLES_IID.c.
Comment out deadlock in Volume::SetMute.
Supply at least one codec descriptor for each supported codec.
Add object_cond_broadcast for use by 3DCommit::Commit.
EngineCapabilities allocates memory -- questionable.
Claim all 3 profiles temporarily.
AudioIODeviceCapabilities::GetDefaultAudioDevices should handle default audio devices.
Object::GetInterface needs to return correct status code.
Vibra interfaces are implicit not optional.
Line length 100.
Fix Android portability bug.
Update MPH perfect hash function.
MPH constants should not be ifdef.
MPH_to_index tables needed additional entries at end.
Interface ID and name tables should not be ifdef.
OUTPUTMIXEXT should not be advertised publicly.
For certain locator types, the format is permitted to be undefined.
Remove temporary workaround for Khronos bug 6331.
Engine::QueryNumSupportedInterfaces and Engine::QuerySupportedInterfaces skip unavailable interfaces.
Address code review comments.
More clear device ID handling.
Use symbolic constants instead of 0 for null data locator and data format.
Add comments about 3D commit.

Change-Id: I8d31ded6c877e71b6f5ef1e90446035da809d9a6
ibopensles/I3DCommit.c
ibopensles/IAudioDecoderCapabilities.c
ibopensles/IAudioIODeviceCapabilities.c
ibopensles/IDeviceVolume.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IID_to_MPH.c
ibopensles/IObject.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/SndFile.c
ibopensles/classes.c
ibopensles/devices.c
ibopensles/interfaces.c
ibopensles/locks.c
ibopensles/locks.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sync.c
ef61e8315562f441c24af4e4bed33c69e240fd61 01-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am e541e8b5: Merge "Declaration of a new DataLocator type for OpenSL ES on Android: file descriptor. Implementation of support for SL_DATALOCATOR_ANDROIDFD. Test application to play a file from a file descriptor. Fix bug in sles_to_android.cpp where resources were ne

Merge commit 'e541e8b546b4f37cec9238107d834cea2ed46d2b'

* commit 'e541e8b546b4f37cec9238107d834cea2ed46d2b':
Declaration of a new DataLocator type for OpenSL ES on Android: file
8009647ac2acc84df0d8d97196224abbc00f62d4 01-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Declaration of a new DataLocator type for OpenSL ES on Android: file descriptor. Implementation of support for SL_DATALOCATOR_ANDROIDFD. Test application to play a file from a file descriptor. Fix bug in sles_to_android.cpp where resources were never freed when destroying the player." into gingerbread
95ba463b7fd020b23dc48ac0049b9c107add7990 30-Jun-2010 Yu Shan Emily Lau <yslau@google.com> Integrated the mimeUri PlayUri native with the gTest framework.

Change-Id: I64bfc2acfdd1be7088a1536dec8033576eb11fdc
ests/Android.mk
ests/mimeUri_test.cpp
989ab369777ef514ac3ba6cdb893de9ae0c976bc 30-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Declaration of a new DataLocator type for OpenSL ES on Android: file
descriptor.
Implementation of support for SL_DATALOCATOR_ANDROIDFD.
Test application to play a file from a file descriptor.
Fix bug in sles_to_android.cpp where resources were never freed
when destroying the player.

Change-Id: I45156f41ee5ca77d3a944f8f89b75880db8b4aba
nclude/OpenSLES_Android.h
nclude/OpenSLES_Platform.h
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ests/mimeFd/playFdPath/Android.mk
ests/mimeFd/playFdPath/slesTestPlayFdPath.cpp
4e8f42694443771c09e4d0a7d8ae83ee9fd78eb8 30-Jun-2010 Glenn Kasten <gkasten@google.com> am ca80bb3b: Initial draft of multiplay command-line test app.

Merge commit 'ca80bb3b553c27994e3cecf2847619a23fafcad2'

* commit 'ca80bb3b553c27994e3cecf2847619a23fafcad2':
Initial draft of multiplay command-line test app.
1c1c16f5469b9ebb4943e2c5eb648f832e0a3c37 30-Jun-2010 Glenn Kasten <gkasten@google.com> Initial draft of multiplay command-line test app.

Change-Id: I821573c7e9eef123dab3a5b00e1040ab69ea215a
ests/mimeUri/multiplay/Android.mk
ests/mimeUri/multiplay/multiplay.c
af6faa36400633a653a0f5a4963cf9e7989cdd9c 30-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am 231d4348: Add a test for GetStreamType on SLAndroidStreamTypeItf.

Merge commit '231d43481aef3975acc1ad81e96ea976caa5703d'

* commit '231d43481aef3975acc1ad81e96ea976caa5703d':
Add a test for GetStreamType on SLAndroidStreamTypeItf.
b98e6b7b1cc2a130a29904e52ae7a71e15332a49 29-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Add a test for GetStreamType on SLAndroidStreamTypeItf.

Change-Id: I2115488a2d4dc97a8bb1f5f01742e77d0960e394
ests/mimeUri/playStreamType/slesTestPlayStreamType.cpp
0b1c017fe25b68d5fef93edd0367115d16fe1afc 29-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am ed3e92ee: Declaration and implementation of a new OpenSL ES interface to set to set the Android stream type on an AudioPlayer object.

Merge commit 'ed3e92ee5465be1396418098a4ef231ceb0adf33'

* commit 'ed3e92ee5465be1396418098a4ef231ceb0adf33':
Declaration and implementation of a new OpenSL ES interface to set
05ccff2aaa3e1507cdc7ab3b244c973c6708e009 29-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Declaration and implementation of a new OpenSL ES interface to set
to set the Android stream type on an AudioPlayer object.

Change-Id: Ic5d14e9899dfbccfc647642ae562730807bc73fe
nclude/OpenSLES_Android.h
ibopensles/Android.mk
ibopensles/IAndroidStreamType.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/classes.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
ests/mimeUri/playStreamType/Android.mk
ests/mimeUri/playStreamType/slesTestPlayStreamType.cpp
03ee1c0239056f07f2d37350e5ce7d3096ca8333 29-Jun-2010 Glenn Kasten <gkasten@google.com> am 9c2a7b1e: Restore previous version of CAudioPlayer fields.

Merge commit '9c2a7b1e9f8203bf9de26efca0f1f805038b1f2b'

* commit '9c2a7b1e9f8203bf9de26efca0f1f805038b1f2b':
Restore previous version of CAudioPlayer fields.
bac93b148299eb5c060c8de046a226c8f6ed4e58 29-Jun-2010 Glenn Kasten <gkasten@google.com> am 15f9f5e6: Gain and transport attributes at mutex unlock.

Merge commit '15f9f5e609265dff9d6036af38bea084c42a702a'

* commit '15f9f5e609265dff9d6036af38bea084c42a702a':
Gain and transport attributes at mutex unlock.
b91e32605ecf39e34ad39936b1ee193bb4e30225 29-Jun-2010 Glenn Kasten <gkasten@google.com> Restore previous version of CAudioPlayer fields.

Addressed code review comments:
Move channel mute, channel solo, and channel count from IMuteSolo to CAudioPlayer.
Deferred support for IMuteSolo to CMIDIPlayer deferred until we hear back from working group.
Move comment marker to correct location.

We discussed the code review comments and agreed to restore the
previous handling of channel mute, channel solo, and channel count.
We will probably have to review this again later, depending on what
the working group says about MIDI Player. To make it easier to
examine the history later, I'm submitting the previous change as
is, followed immediately by this change which addresses the code
review comments.

Change-Id: I4d5594d70c1c2d5fb90980a8a0414177ff29d4a7
ibopensles/CAudioPlayer.c
ibopensles/IEngine.c
ibopensles/IMuteSolo.c
ibopensles/IOutputMixExt.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
e5bf0d2c9531a7064eb3ddcafaf93ac1b0974037 24-Jun-2010 Glenn Kasten <gkasten@google.com> Gain and transport attributes at mutex unlock.

Update both interface and player copies of mute/solo.
Move synchronous gain and transport updates to mutex unlock exclusive.
Update sync thread logic.
Keep track of player position using tracks in PCM frame units.
Implement solo.
Various volume-related fixes.
Mute solo fields are only in IMuteSolo, but IMuteSolo is
immediately after IVolume to make it easier to find.
Move Android volume fields into audio player.
Fix printf missing newline.
Only one copy of mute and solo.
Clean up comments.
Line length 100.
SDL gain and transport updates are synchronous.
Fix unused variable warnings.
Use symbol for number of stereo channels.
Rearrange fields to save memory.
Add comments.
Fix problems introduced during the last merge.

Change-Id: I121fcbe4189b06850983941f540942a745fc51fb
ibopensles/CAudioPlayer.c
ibopensles/CEngine.c
ibopensles/IDeviceVolume.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IEqualizer.c
ibopensles/IMIDIMessage.c
ibopensles/IMIDIMuteSolo.c
ibopensles/IMuteSolo.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/IPlay.c
ibopensles/IPlaybackRate.c
ibopensles/ISeek.c
ibopensles/IThreadSync.c
ibopensles/IVolume.c
ibopensles/MPH.h
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/SLSndFile.h
ibopensles/SndFile.c
ibopensles/android_SfPlayer.cpp
ibopensles/locks.c
ibopensles/locks.h
ibopensles/platform.h
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
ibopensles/sync.c
ests/mimeUri/playMuteSolo/slesTest_playMuteSolo.cpp
1d77b3a65622e18dbe5c6c181eacebfdeb4cc1bf 29-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am a062961c: Fix test makefiles for OpenSL ES test apps.

Merge commit 'a062961c6103cf07f7a486bad390039823fa03e1'

* commit 'a062961c6103cf07f7a486bad390039823fa03e1':
Fix test makefiles for OpenSL ES test apps.
fa8629b180d59a299675cda6c95c4fc2b74645e3 29-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix test makefiles for OpenSL ES test apps.

Change-Id: I996bd47aad50231f8d93f48fdedac3be74295592
ests/mimeUri/playMuteSolo/Android.mk
ests/mimeUri/playUri/Android.mk
ests/mimeUri/playUri2/Android.mk
ests/pcmBufferQueue/sawtoothBufferQueue/Android.mk
7cbcb76a5611f466f99feef647b4323ece5829f0 26-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am 08c0c5b2: Fix prefetching issue where decode shouldn\'t start before playback starts.

Merge commit '08c0c5b29dd6a834ff4f1a55dc1455621b412a0e'

* commit '08c0c5b29dd6a834ff4f1a55dc1455621b412a0e':
Fix prefetching issue where decode shouldn't start before playback
6d9e6cd50e759db45910930efa5c28798b0549ec 26-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix prefetching issue where decode shouldn't start before playback
starts.

Change-Id: I01b7b36b388b9bc37ea3c9d5e3f74a531f887128
ibopensles/android_SfPlayer.cpp
ebb65a6d3b497d9edc3a0fb633279e83cac7e24f 25-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am eee8ad3a: Implement stop for SfPlayer. Fixes crash at end of playMuteSolo test.

Merge commit 'eee8ad3a39c439b48be3b5cecaa4b71272d5f77d'

* commit 'eee8ad3a39c439b48be3b5cecaa4b71272d5f77d':
Implement stop for SfPlayer. Fixes crash at end of playMuteSolo test.
8bf87011ef453d8ce07c88dfac2d73063b7ecbed 25-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement stop for SfPlayer. Fixes crash at end of playMuteSolo test.

Change-Id: I4fb88cae71d8972b03c8d7ad3f108d6aff39ada5
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/sles_to_android.cpp
b2ab7eaff34dba017d2983317427a8eab20a3d1b 25-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am 5ddecf65: Merge "Implement the SLMuteSoloItf interface." into gingerbread

Merge commit '5ddecf6541b2b518d61548cae6aff13b8c8ee6c0'

* commit '5ddecf6541b2b518d61548cae6aff13b8c8ee6c0':
Implement the SLMuteSoloItf interface.
83646b9330196fd6ea57b0882c984b3fdc04e629 25-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am 9ade5235: Merge "New test / demo to exercise SLMuteSoloItf on an AudioPlayer." into gingerbread

Merge commit '9ade5235616468c5083d62b5b1660457581839bc'

* commit '9ade5235616468c5083d62b5b1660457581839bc':
New test / demo to exercise SLMuteSoloItf on an AudioPlayer.
0d1f6476e217341c84a94118aaaeccaf06a1a7d1 25-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Implement the SLMuteSoloItf interface." into gingerbread
2cedab09dd3fe409458f888a2202c0fb8929e1f8 25-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "New test / demo to exercise SLMuteSoloItf on an AudioPlayer." into gingerbread
85bae78453492b42c7095cafc404a049e52bbc22 25-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> New test / demo to exercise SLMuteSoloItf on an AudioPlayer.

Change-Id: Ib3fddaea46098ed944b62d08d8ba8a657bf0174c
ests/mimeUri/playMuteSolo/Android.mk
ests/mimeUri/playMuteSolo/slesTest_playMuteSolo.cpp
1fec6cc920db52e63c67eafd2034e52b8eb5780d 24-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement the SLMuteSoloItf interface.

Change-Id: I5ed3112046c4317fe752bc2545b3e168f7e8a18a
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/IMuteSolo.c
ibopensles/IVolume.c
ibopensles/android_SfPlayer.h
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
4f6e1af04ad3a85866d8b493cc8e914a56bd50a9 24-Jun-2010 Glenn Kasten <gkasten@google.com> am 05f65ed1: Normalize boolean input parameters to slCreateEngine.

Merge commit '05f65ed167848e7f51b36c804dd70e3fe5478928'

* commit '05f65ed167848e7f51b36c804dd70e3fe5478928':
Normalize boolean input parameters to slCreateEngine.
4b2f97bb1df6b3a65d2c3a158fba3a604c8f543c 24-Jun-2010 Glenn Kasten <gkasten@google.com> Normalize boolean input parameters to slCreateEngine.

Change-Id: Ia9453d9f5784ff75148e380fc3bbb03fe4ef8c40
ibopensles/sles.c
5cc4c946a4ef0091a11f896a2a022599e85857f6 24-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am 474bc3d1: Share the same AudioTrack instance regardless of the data source of the AudioPlayer, buffer queue or URI. Refactor code that handles AudioTrack events so it is shared among the two implementations of AudioTrack event callbacks.

Merge commit '474bc3d17dc75cbaf3f553d16fe21ef35071ddad'

* commit '474bc3d17dc75cbaf3f553d16fe21ef35071ddad':
Share the same AudioTrack instance regardless of the data source
4614bf6ff570bc1593e07f796d2d8d28c6424c50 23-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Share the same AudioTrack instance regardless of the data source
of the AudioPlayer, buffer queue or URI. Refactor code that
handles AudioTrack events so it is shared among the two implementations
of AudioTrack event callbacks.

Change-Id: Ida49fada2515acaac06bdcb42cc833c97ee20dc8
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
5ef676fff4a1233304902558af006db2b46971bc 23-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am 5d9e8432: Introduction of Stagefright to replace MediaPlayer. Change-Id: I59c467ebafed6f5ceee37c2d8f6cd132b25c1459

Merge commit '5d9e8432d0217fe139987703b8e1f129296171ff'

* commit '5d9e8432d0217fe139987703b8e1f129296171ff':
Introduction of Stagefright to replace MediaPlayer.
de16b4c2bc71c163c7c821a475a53a3b567789b2 16-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Introduction of Stagefright to replace MediaPlayer.
Change-Id: I59c467ebafed6f5ceee37c2d8f6cd132b25c1459
ibopensles/Android.mk
ibopensles/IEngine.c
ibopensles/android_SfPlayer.cpp
ibopensles/android_SfPlayer.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ests/mimeUri/playUri/slesTestPlayUri.cpp
f7c1df948652bd96fdb4badd37a0d0e8c2aab0f2 21-Jun-2010 Glenn Kasten <gkasten@google.com> am 7e5dd9fa: Continued bug fixing.

Merge commit '7e5dd9fa6ab032d7eeaac79bee4370a133eda8c2'

* commit '7e5dd9fa6ab032d7eeaac79bee4370a133eda8c2':
Continued bug fixing.
40d1c40832a448e23d0bb37512aee53222575c2e 21-Jun-2010 Glenn Kasten <gkasten@google.com> Continued bug fixing.

Remove obsolete FIXMEs.
Fix copyright notices on two files.
Move interface ID lookup function to separate source file,
and replace O(n) linear search by O(1) perfect hash.
Use symbolic constants instead of magic numbers in SndFile and DeviceVolume.
Remove blank lines at EOF.
Pre-compute max index of devices at engine creation time.
Fix mute and gain bugs on SDL/SndFile.
Add interface name lookup function for debugging.

Change-Id: I31686c2bf874c9778e193648b74b6ab061950f8a
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IID_to_MPH.c
ibopensles/IMuteSolo.c
ibopensles/IOutputMixExt.c
ibopensles/IPlay.c
ibopensles/MPH.h
ibopensles/MPH_to.h
ibopensles/SndFile.c
ibopensles/interfaces.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
f755eeff7a8fe281cc0482161d8950476b5de83c 21-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am 9db83353: For Android code, use ANDROID flag rather then USE_ANDROID.

Merge commit '9db8335361c67c4ed877f68218835df96ce43a4b'

* commit '9db8335361c67c4ed877f68218835df96ce43a4b':
For Android code, use ANDROID flag rather then USE_ANDROID.
ef8931ae547cd703e69df9ad350d69825da0f546 21-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> For Android code, use ANDROID flag rather then USE_ANDROID.

Change-Id: I4b5877d8b6aee37bb472c817a2a863104271a03b
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/IBufferQueue.c
ibopensles/IEngine.c
ibopensles/IPlay.c
ibopensles/IPlaybackRate.c
ibopensles/IVolume.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
224e24d038daff46e79704b2b9185600d97a851c 18-Jun-2010 Glenn Kasten <gkasten@google.com> am 277aee45: Improve platform portability.

Merge commit '277aee45eabf5d756a7e0de49efee2ee1c0d9640'

* commit '277aee45eabf5d756a7e0de49efee2ee1c0d9640':
Improve platform portability.
7245a5b0889fec8996e3a9d270e551cc1bf940ab 18-Jun-2010 Glenn Kasten <gkasten@google.com> Improve platform portability.

Change-Id: I00ae4f3f4cf31d9156c274750c3582ae60450732
nclude/OpenSLES_Platform.h
ibopensles/sles_allinclusive.h
7161283bb4359a72e242c72b75764d16c09f2e97 18-Jun-2010 Glenn Kasten <gkasten@google.com> am ffeb2e16: Minor bug fixes and FIXMEs.

Merge commit 'ffeb2e16c2886eefa88d6eaf4c7be78c2eced82b'

* commit 'ffeb2e16c2886eefa88d6eaf4c7be78c2eced82b':
Minor bug fixes and FIXMEs.
6a357b8fa57b0bc1557cd5ab9f9fb86aabaaa18c 17-Jun-2010 Glenn Kasten <gkasten@google.com> Minor bug fixes and FIXMEs.

3DGroup object now tracks its member Player objects.
Avoid possible integer overflow during multiplication.
Remove hard-code indices in EffectSend initialization.
Remove obsolete FIXME comments.
Localize hard-coded constants in SDL and libsndfile platforms.
Add primitive stereo positioning for SDL platform.
ibopensles/I3DGrouping.c
ibopensles/I3DLocation.c
ibopensles/I3DMacroscopic.c
ibopensles/I3DSource.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IOutputMixExt.c
ibopensles/OpenSLES_IID.c
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/SndFile.c
ibopensles/sles_allinclusive.h
7041f7fbc064728fdc87d569974cbf5a6e824c32 18-Jun-2010 Glenn Kasten <gkasten@google.com> am 3cdc48ac: Add limited volume support for USE_SNDFILE platform.

Merge commit '3cdc48ac145e12a40b0ff0f90e8c01bec269bc38'

* commit '3cdc48ac145e12a40b0ff0f90e8c01bec269bc38':
Add limited volume support for USE_SNDFILE platform.
276cab2d983b892d1b634474b6249f6bec400c76 16-Jun-2010 Glenn Kasten <gkasten@google.com> Add limited volume support for USE_SNDFILE platform.

Fix build warnings.
Remove obsolete FIXME.
ibopensles/CAudioPlayer.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IObject.c
ibopensles/IOutputMix.c
ibopensles/IOutputMixExt.c
ibopensles/OutputMixExt.h
ibopensles/SndFile.c
ibopensles/sles.c
ests/pcmBufferQueue/sawtoothBufferQueue/bufferQueue.c
05b492f8d923ee02f27cdd4387b0f5791e0a6730 17-Jun-2010 Glenn Kasten <gkasten@google.com> am 32a32a46: Fix two long-standing FIXMEs: O(n) and mThis.

Merge commit '32a32a4674ed760e1ab6bf4b4349216bbfa75735'

* commit '32a32a4674ed760e1ab6bf4b4349216bbfa75735':
Fix two long-standing FIXMEs: O(n) and mThis.
d07ed7df4ec9338f97f12627690d58ed9b34f25b 17-Jun-2010 Glenn Kasten <gkasten@google.com> Fix two long-standing FIXMEs: O(n) and mThis.

Replace some O(n) algorithms by O(1) using ctz.
mThis was redundant for IObject.

Change-Id: Ic2cd0345498992af06495e9f3a13211dfeb3910e
ibopensles/I3DCommit.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IDynamicSource.c
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/IOutputMix.c
ibopensles/IOutputMixExt.c
ibopensles/locks.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sync.c
e5be7c495b9694760288e4555c6b71f55eb0ac43 16-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> am b3a9572c: Introduction of android resource states, rather than relying only a the mPrepared field.

Merge commit 'b3a9572c70375e02b15d2ffb0e28d4c36ec269b0'

* commit 'b3a9572c70375e02b15d2ffb0e28d4c36ec269b0':
Introduction of android resource states, rather than relying only
61f326e99e5dc76ea400326479c6b76667392313 16-Jun-2010 Glenn Kasten <gkasten@google.com> am bcf6e4f2: More work on asynchronous operations.

Merge commit 'bcf6e4f2a46544f599f6c77354650c6aad91ea5d'

* commit 'bcf6e4f2a46544f599f6c77354650c6aad91ea5d':
More work on asynchronous operations.
80ed979fd2aef1d6bcaeb1bb2be5b220ac04fe9d 16-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Introduction of android resource states, rather than relying only
a the mPrepared field.

Change-Id: I9d532d4b8cad28743b2bef2232591a24c646be5e
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
510f3671f716f6835282e4b0fd0275c20e9dadd8 14-Jun-2010 Glenn Kasten <gkasten@google.com> More work on asynchronous operations.

Improve interface handling.
Interface state is kept using array of 4-bit fields instead of
separate bit-masks; this is simpler and uses less memory.
Better error handling in EffectSend.
Keep track of interfaces that have been gotten.
Asynchronous AddInterface and ResumeInterface.
Closures are now allocated dynamically.
Add resume hook.
Fix 2 bugs introduced during last effort.
Line length 100.
Continue asynchronous DynamicInterfaceManagement.
Implement asynchronous Object::Resume.
AbortAsyncOperation for Realize and Resume phase 1.
Implement asynchronous abort during phase 1.
ThreadPool bug fixes.
When destroying ThreadPool, free memory used by pending closures.
Don't enqueue additional closures while ThreadPool is shutting down.
Update comments and assertions.
Use 8-bits per interface state instead of 4-bits.
List official object states explicitly.
Add comments.
ibopensles/CEngine.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IEffectSend.c
ibopensles/IObject.c
ibopensles/MPH_to.c
ibopensles/ThreadPool.c
ibopensles/ThreadPool.h
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
b6bc27bacf2c3f18f952a43511534ec1653cafb8 15-Jun-2010 Dmitry Shmidt <dimitrysh@google.com> Fix compilation problem - wrong include path

Change-Id: I55b39c1b3e0171328bdce8e4295439d3610c1226
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
ests/mimeUri/playUri/Android.mk
ests/mimeUri/playUri2/Android.mk
9c6c275c23f614df95e5f9382d188e09cb2b628a 12-Jun-2010 Glenn Kasten <gkasten@google.com> am aee4409e: Improve platform portability.

Merge commit 'aee4409e59584f8e8d0ddaf7e44dc80ec5b80444'

* commit 'aee4409e59584f8e8d0ddaf7e44dc80ec5b80444':
Improve platform portability.
7324a5ab12cc734e2feb4cef8baeda26566d3c92 12-Jun-2010 Glenn Kasten <gkasten@google.com> Improve platform portability.

Change-Id: Ieb7290591730f1be7d201ec4690a805c959f76e0
ibopensles/IMetadataExtraction.c
ibopensles/IThreadSync.c
ibopensles/SDL.c
ibopensles/SLSndFile.h
ibopensles/SndFile.c
ibopensles/SndFile.h
ibopensles/sles_allinclusive.h
844ef5b2927de47803c3e4b44aebe07fbb63d10f 12-Jun-2010 Glenn Kasten <gkasten@google.com> am ca4bf6e7: Merge "Make test apps work on host platform." into gingerbread

Merge commit 'ca4bf6e7366991ed2d124b7240a0657e30b8ad39'

* commit 'ca4bf6e7366991ed2d124b7240a0657e30b8ad39':
Make test apps work on host platform.
b9d8668e4d1daae01cb0523ec8ffcdbfb24731ca 12-Jun-2010 Glenn Kasten <gkasten@google.com> Merge "Make test apps work on host platform." into gingerbread
f0f95730551a5a2722e67858c567873f3a9b09dd 12-Jun-2010 Glenn Kasten <gkasten@google.com> am 210602c4: Fix printf format bug.

Merge commit '210602c46068065dcd15ad78e4af26593d61f03f'

* commit '210602c46068065dcd15ad78e4af26593d61f03f':
Fix printf format bug.
27f8dfaea17ab7831a1bd34a02f85d55bacf67b7 11-Jun-2010 Glenn Kasten <gkasten@google.com> Make test apps work on host platform.

Change-Id: Ia5ed73b0ff77eb16959b3a539ac33ea9e89a9f4c
ibopensles/CAudioPlayer.c
ibopensles/SndFile.c
2a00e1105c1e051f13d2b5f3f69f02882de982ea 11-Jun-2010 Glenn Kasten <gkasten@google.com> Fix printf format bug.

Change-Id: Ic81eea513315ca6465a6cbc5d19731122bbb62ed
ests/mimeUri/playUri2/slesTestPlayUri.cpp
2c5ce7add3e9633bf8decf0fb5537e55b61e884f 11-Jun-2010 Glenn Kasten <gkasten@google.com> am 437f9ab9: Add note about bug in IMuteSolo channel count.

Merge commit '437f9ab9914ea61112aa496a047162a0d22194cd'

* commit '437f9ab9914ea61112aa496a047162a0d22194cd':
Add note about bug in IMuteSolo channel count.
d2a7f0d6883a6d3835642e7b282f05ed1c54fe63 07-Jun-2010 Glenn Kasten <gkasten@google.com> Add note about bug in IMuteSolo channel count.

Change-Id: Iccb78019bbbffaa98eaa8877258d88a77c979e48

Remove spurious NDEBUG, init in same order as .h.

Change-Id: Ia30b30ce4dbc8f074632c275583b7ef6069141dc

Implement asynchronous Object.Realize

Added ThreadPool mechanism for asynchronous operations.
Fixed off-by-one bug in BufferQueue that didn't use the last buffer.
Added engine hooks for Realize and Destroy.
Realize hook and callback are now called with mutex unlocked.
Added new Object states realizing 1 and realizing 2, mapped to unrealized.
Asynchronous realize on an engine is forced to be synchronous.
Engine initialization now done at Realize, not during CreateEngine.

Change-Id: I9c11461dbeab97aec04f8266f268cfd16086b5a7

Port to Android.

Change-Id: I0fff9f32e4d374230ab940e00fe6b8429b143ed3

Shutdown the sync thread when engine is destroyed.

Change-Id: I197267e5eaa4a49cacb34bc6e6f9c6fa92b381b5

Mutex unlocked during the initialization phase of DynamicInterfaceManagement.AddInterface.

Change-Id: I16000a2c4f1f9e93075f08ac2eaad6a8f12ba9da

Dynamic interface removal is done with mutex unlocked.

Change-Id: I5317d859dee680ca1c96e803388f2475f7795099

Normalize SLboolean input parameters.

Store non-zero boolean value as SL_BOOLEAN_TRUE rather than original value.
Line length 100.

Change-Id: I867ae8dd328b1427be98dfd148e32fcba38ce409

More input parameter checks.

Line length 100.
Fix a few build warnings.

Change-Id: I78fb1415fed649e05a370cf60e015a7fe13ffe8c

Address code review comments.

Change-Id: Ic7f2c70ded42f3d0e5e92f173cf80e084e54fc89
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/I3DCommit.c
ibopensles/I3DDoppler.c
ibopensles/I3DGrouping.c
ibopensles/I3DLocation.c
ibopensles/I3DMacroscopic.c
ibopensles/I3DSource.c
ibopensles/IAudioDecoderCapabilities.c
ibopensles/IAudioEncoder.c
ibopensles/IAudioEncoderCapabilities.c
ibopensles/IAudioIODeviceCapabilities.c
ibopensles/IBassBoost.c
ibopensles/IBufferQueue.c
ibopensles/IDeviceVolume.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IDynamicSource.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IEqualizer.c
ibopensles/ILEDArray.c
ibopensles/IMIDIMessage.c
ibopensles/IMIDIMuteSolo.c
ibopensles/IMIDITempo.c
ibopensles/IMIDITime.c
ibopensles/IMetadataExtraction.c
ibopensles/IMetadataTraversal.c
ibopensles/IMuteSolo.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/IPitch.c
ibopensles/IPlay.c
ibopensles/IPlaybackRate.c
ibopensles/IPrefetchStatus.c
ibopensles/IPresetReverb.c
ibopensles/IRatePitch.c
ibopensles/IRecord.c
ibopensles/ISeek.c
ibopensles/IThreadSync.c
ibopensles/IVibra.c
ibopensles/IVirtualizer.c
ibopensles/IVisualization.c
ibopensles/IVolume.c
ibopensles/ThreadPool.c
ibopensles/ThreadPool.h
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sync.c
fb1a3b36602fde0453468d504e8b340ec89a15d4 07-Jun-2010 Glenn Kasten <gkasten@google.com> Add note about bug in IMuteSolo channel count.

Change-Id: Iccb78019bbbffaa98eaa8877258d88a77c979e48

Remove spurious NDEBUG, init in same order as .h.

Change-Id: Ia30b30ce4dbc8f074632c275583b7ef6069141dc

Implement asynchronous Object.Realize

Added ThreadPool mechanism for asynchronous operations.
Fixed off-by-one bug in BufferQueue that didn't use the last buffer.
Added engine hooks for Realize and Destroy.
Realize hook and callback are now called with mutex unlocked.
Added new Object states realizing 1 and realizing 2, mapped to unrealized.
Asynchronous realize on an engine is forced to be synchronous.
Engine initialization now done at Realize, not during CreateEngine.

Change-Id: I9c11461dbeab97aec04f8266f268cfd16086b5a7

Port to Android.

Change-Id: I0fff9f32e4d374230ab940e00fe6b8429b143ed3

Shutdown the sync thread when engine is destroyed.

Change-Id: I197267e5eaa4a49cacb34bc6e6f9c6fa92b381b5

Mutex unlocked during the initialization phase of DynamicInterfaceManagement.AddInterface.

Change-Id: I16000a2c4f1f9e93075f08ac2eaad6a8f12ba9da

Dynamic interface removal is done with mutex unlocked.

Change-Id: I5317d859dee680ca1c96e803388f2475f7795099

Normalize SLboolean input parameters.

Store non-zero boolean value as SL_BOOLEAN_TRUE rather than original value.
Line length 100.

Change-Id: I867ae8dd328b1427be98dfd148e32fcba38ce409

More input parameter checks.

Line length 100.
Fix a few build warnings.

Change-Id: I78fb1415fed649e05a370cf60e015a7fe13ffe8c

Address code review comments.

Change-Id: Ic7f2c70ded42f3d0e5e92f173cf80e084e54fc89
ibopensles/Android.mk
ibopensles/CEngine.c
ibopensles/I3DCommit.c
ibopensles/I3DDoppler.c
ibopensles/I3DGrouping.c
ibopensles/I3DLocation.c
ibopensles/I3DMacroscopic.c
ibopensles/I3DSource.c
ibopensles/IAudioDecoderCapabilities.c
ibopensles/IAudioEncoder.c
ibopensles/IAudioEncoderCapabilities.c
ibopensles/IAudioIODeviceCapabilities.c
ibopensles/IBassBoost.c
ibopensles/IBufferQueue.c
ibopensles/IDeviceVolume.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IDynamicSource.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IEqualizer.c
ibopensles/ILEDArray.c
ibopensles/IMIDIMessage.c
ibopensles/IMIDIMuteSolo.c
ibopensles/IMIDITempo.c
ibopensles/IMIDITime.c
ibopensles/IMetadataExtraction.c
ibopensles/IMetadataTraversal.c
ibopensles/IMuteSolo.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/IPitch.c
ibopensles/IPlay.c
ibopensles/IPlaybackRate.c
ibopensles/IPrefetchStatus.c
ibopensles/IPresetReverb.c
ibopensles/IRatePitch.c
ibopensles/IRecord.c
ibopensles/ISeek.c
ibopensles/IThreadSync.c
ibopensles/IVibra.c
ibopensles/IVirtualizer.c
ibopensles/IVisualization.c
ibopensles/IVolume.c
ibopensles/ThreadPool.c
ibopensles/ThreadPool.h
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sync.c
85da61df4231113debc9e829c9b71493ab945200 10-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> The library for the OpenSL ES implementation is supposed to be name
libOpenSLES, not libopensles.

Change-Id: Icdfb266650abb75a8aaf5670b651bfea1361c3c1
ibopensles/Android.mk
ests/mimeUri/playUri/Android.mk
ests/mimeUri/playUri2/Android.mk
ests/pcmBufferQueue/sawtoothBufferQueue/Android.mk
45d40b8ac4cd8f3f73813a26334c7e5ecc3cb73c 09-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> When updating stereo volume (for panning or balance), verify first
where to get the channel count (AudioTrack vs MediaPlayer).
At the moment MediaPlayer doesn't support querying the audio format,
so assume 1 channel.

Change-Id: I91ca71c7c0b5b2934c9e208db2dbb2c9475b100d
ibopensles/sles_to_android.cpp
b0dc406de15e71fb53df0bd070b611317bea1d73 09-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> New OpenSL ES test+demo application that uses the SLPrefetchStatusItf.
Plays two URIs and pans them left and right.

Change-Id: Ic804c0d666889088db6a4075f5c40029e11273fe
ests/mimeUri/playUri2/Android.mk
ests/mimeUri/playUri2/slesTestPlayUri.cpp
8addfbc02746de2e4d3f87ce50e4ba2e547e7485 09-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "OpenSL ES tests shouldn't be built in all builds." into kraken
c0bee8e867b37db601809df7a6fc30f8ee698e83 08-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> OpenSL ES tests shouldn't be built in all builds.

Change-Id: Ib014c47cb5c25d1348e544ead3e272e4d2194d5f
ests/mimeUri/playUri/Android.mk
ests/pcmBufferQueue/sawtoothBufferQueue/Android.mk
497c71251661f9096f77d0a9bc08fe7a5eb49079 08-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement SLPlaybackRateItf

Change-Id: I5f73882a76f8e2c120f68f1b64c374e1950d2356
ibopensles/IPlaybackRate.c
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
06a1b91fb42d3ecc9da725e673b56ca849b9b9a4 04-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Modify implementation of SLPlayItf to only start prefetching data
when the playstate is set to PAUSED, and notify prefetch status
change and buffer fill level through the SLPrefetchItf callback.
Modify test app to correctly start playing only after a prefetch
status change.

Change-Id: I51482bb5b7db419bdb694be2277282d94ff8234f
ibopensles/IPrefetchStatus.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ests/mimeUri/playUri/slesTestPlayUri.cpp
00d2d554e04ac369367c903dbf53b975355d1bcd 04-Jun-2010 Glenn Kasten <gkasten@google.com> Improve portability.

Change-Id: I67643ff9807fcb0459322b36d2b5406ae15903a7
nclude/OpenSLES.h
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/MPH_to.c
ibopensles/OpenSLES_IID.c
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ccdf07b17f23b4c040dd3f62478d0965eba804e3 04-Jun-2010 Glenn Kasten <gkasten@google.com> Continue preparations for implementing async ops.

Centralize object destroy.
Record an object instance ID for use by debugger user interface.
Track all object instances associated with an engine, for use by sync thread and debugger.

Change-Id: Id8b7d0d1acd43f9524443f1bdcfb70ede7b66bfb
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ef927795ae969136c85b92f8e336cbe2c71388fd 04-Jun-2010 Glenn Kasten <gkasten@google.com> Merge "Work in progress towards a Windows port." into kraken
cefec35685b74cec33db426e11111ba49a5c2e25 04-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Use interface exclusive locks when reading and modifying interface
properties.

Change-Id: I666f1e9af00e3ffd89077b68dcf447800d64a7a6
ibopensles/IPlay.c
ibopensles/IVolume.c
f8acf4b469cdc9d2fe08fb7f6ca007365efc8bc1 02-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> For audio players with URI data source:
- Modify stereo volume update to also work on a MediaPlayer.
- Add support for completion callback when play event mask
specifies SL_PLAYEVENT_HEADATEND
Before changing a property related to the SLVolumeItf or
SLPlayItf, check that the property has changed before applying
it to avoid useless calls and computations.
Cleanup in playUri test and compile without warnings.
Remove "driver" test content: test app was previously moved
to tests/pcmBufferQueue.
According to spec: initialize periodic update for SLPlayItf
and SLRecordItf to 1s.
Change-Id: I00dad162eac7c0d88b535ab65e2351353b8888d5
ibopensles/IBufferQueue.c
ibopensles/IPlay.c
ibopensles/IRecord.c
ibopensles/IVolume.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
ests/driver/Android.mk_
ests/driver/bufferQueue.c
ests/driver/playSine.cpp
ests/driver/slesTestBufferQueue.cpp
ests/mimeUri/playUri/slesTestPlayUri.cpp
5fdec70b45c6c9b0cd52203b0ad49961a188eaff 03-Jun-2010 Glenn Kasten <gkasten@google.com> Work in progress towards a Windows port.

Windows supports C89, not C99.
Fix an assignment warning caught by Windows compiler.
Avoid POSIX calls.

Change-Id: I7993d045156233f3c6f20caff05de1f94778041c
ibopensles/IMuteSolo.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/sles.c
3a413f1863daa026ed2b9fc9eac01e1341116cdb 02-Jun-2010 Glenn Kasten <gkasten@google.com> Improve resource recovery.

Better cleanup in AudioPlayer.Destroy.
Avoid mallocs in LEDArray and Equalizer.
Line length 100.

Change-Id: I2d22880b27ccf7e9038b398cae9287781fd82253

Continued work on threading.

Lay the groundwork for true asynchronous realize.
Call all callbacks with mutex unlocked.
C volatile is meaningless.
Start adding support for suspend/resume on interfaces.
Line length 100.

Change-Id: I631cb4f123143e4ef79c6c491d12b1e559857cab
ibopensles/CAudioPlayer.c
ibopensles/IBufferQueue.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IEngine.c
ibopensles/IEqualizer.c
ibopensles/ILEDArray.c
ibopensles/IObject.c
ibopensles/IOutputMixExt.c
ibopensles/IPlay.c
ibopensles/classes.c
ibopensles/locks.h
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
acd88797a1d3b8225bab888d29036e245f275be5 02-Jun-2010 Glenn Kasten <gkasten@google.com> Simplify initialization of AudioPlayer.

Clear whole object at initialization. Remove spurious NDEBUG.

Change-Id: Idb116722d95526f8204200d14ca1bafbedd19936
ibopensles/IBufferQueue.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IDynamicSource.c
ibopensles/IEngine.c
ibopensles/IObject.c
ibopensles/IOutputMix.c
ibopensles/IOutputMixExt.c
ibopensles/IPlay.c
ibopensles/ISeek.c
ibopensles/IVolume.c
ibopensles/OutputMixExt.h
ibopensles/SndFile.c
ibopensles/SndFile.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
dc181a4a041fe4be7c91b92646b236b6d652f4a3 02-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement GetDuration and GetPosition in SLPlayItf

Change-Id: I83ae15310c3e473556703e5d373aef5a07e6eda5
ibopensles/IPlay.c
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
ests/mimeUri/playUri/slesTestPlayUri.cpp
8f4f78fd27806e013065e675a7cf056172d9b6dc 01-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> When calling an OpenSL ES callback after an AudioTrack callback, use
interface locks to retrieve the data for the callback, unlock, and
then use the callback function pointer.

Change-Id: Icf3ca3bad78159ee6c01dd937221477cc2939c1c
ibopensles/sles_to_android.cpp
daf661248ff6ea2e21799e5114c78b7c1d49630e 29-May-2010 Glenn Kasten <gkasten@google.com> Move platform-specific code to separate files. Use sles_allinclusive.h to really mean all inclusive. MuteSolo check channel count.

Change-Id: I96caab5be55a1f04342eb67b511309babd5a6916

Make a copy of data source and sink parameter to avoid dangling inputs. Pre-process URI scheme and MIME type using a perfect hash. Line length 100.

Change-Id: Icb1e1a7a9c6370eda1e15e61f0dff35c1d59d7fa

Fix merge problem on Android.

Change-Id: I70b724273147f3981550272990729a4a409e1f72

MIME type needs to be completely initialized.

Change-Id: I3766acfb170abc976506cf305fabd5548107f592

Remove MIME lookup and URI scheme lookup.

Change-Id: I7058dfef01c9db509ad5915d9f8099a720e6736b
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IEngine.c
ibopensles/IMuteSolo.c
ibopensles/IOutputMixExt.c
ibopensles/IPlay.c
ibopensles/IVolume.c
ibopensles/OutputMixExt.h
ibopensles/SDL.c
ibopensles/SndFile.c
ibopensles/SndFile.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_check_audioplayer.c
ibopensles/sles_check_audioplayer.h
ibopensles/sles_check_audioplayer_ext.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
ibopensles/sles_to_android_ext.h
ests/mimeUri/playUri/slesTestPlayUri.cpp
1be90f9197d7a48e788b5e40fd15d73a877acef0 01-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Add command line test to play a URI, to exercise the OpenSL ES
AudioPlayer with a SL_DATALOCATOR_URI as data source. Plays 10s
of the URI.

Change-Id: I24b8ae5293c4efbc372551febd91eb6dafe890eb
ests/mimeUri/playUri/Android.mk
ests/mimeUri/playUri/slesTestPlayUri.cpp
6fff2c605cdc46a10037e011d8fb47702ae70c37 27-May-2010 Jean-Michel Trivi <jmtrivi@google.com> First pass at implementing support of SL_DATALOCATOR_URI in an SL ES
audio player data source.

Change-Id: Ie8dc3b88c667035cbb20d2180eed6f699b6e7c2b
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/IEngine.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
ibopensles/sles_to_android_ext.h
b7154f2324c8ae44b820c07c69aaa80a4bb9e418 29-May-2010 Glenn Kasten <gkasten@google.com> Continue splitting up source code.

Change-Id: Iad6caa5adf111f50ad1a3aa14fc31efc7d5b285e
ibopensles/Android.mk
ibopensles/CAudioPlayer.c
ibopensles/I3DGrouping.c
ibopensles/IEngine.c
ibopensles/IOutputMixExt.c
ibopensles/IPlay.c
ibopensles/IVolume.c
ibopensles/SDL.c
ibopensles/SndFile.c
ibopensles/SndFile.h
ibopensles/classes.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
3d146e0a31f5ee2a7d9807c4e99994084fdd3283 28-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Rename RealizeHook to AsyncHook.

Change-Id: I9a01c438bba7d18a214f90912620847a3d72d3f2
ibopensles/IObject.c
ibopensles/sles_allinclusive.h
b90cb3de9b67383be4e077d807464044f6f18f7a 28-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Add async field to the object-specific implementation of Realize
and Resume functions.

Change-Id: Ib9854a4ba06ebbc6a9e2a58274db2bfe47d46f35
ibopensles/IObject.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
9309fe7834ab02adfacb2d6b4ac02852d3aa121d 26-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Add a command line test for PCM buffer queues.
This example is based on the buffer queue sample code from the
OpenSL ES specification.

Change-Id: Ic0730549fe54e7d5cedf1bd7d374e2b81c1e969d
ests/pcmBufferQueue/sawtoothBufferQueue/Android.mk
ests/pcmBufferQueue/sawtoothBufferQueue/bufferQueue.c
ests/pcmBufferQueue/sawtoothBufferQueue/playSawtoothBufferQueue.cpp
76dde6cd71bdb39459f38218e8aa2b7c19e790db 27-May-2010 Glenn Kasten <gkasten@google.com> Compile (almost) all .c as C++ for Android.

Change-Id: I2213f8cd615723b5d1dc34ba206bf3f900b44739
ibopensles/Android.mk
ibopensles/IBufferQueue.c
ibopensles/OpenSLES_IID.c
ibopensles/devices.h
ibopensles/locks.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_check_audioplayer.c
ibopensles/sles_check_audioplayer.cpp
ibopensles/sles_check_audioplayer.h
ibopensles/sles_check_audioplayer_ext.h
ibopensles/sles_cpp.cpp
ibopensles/sles_to_android.h
ibopensles/sles_to_android_ext.h
f517e6305d986d73ceae7a7eeb330ba01af375ee 27-May-2010 Glenn Kasten <gkasten@google.com> Fix broken build.

Change-Id: I99bea1ced30ea5eb10036e4b8f6450aa469b74c4
ibopensles/sles_allinclusive.h
979a3f8743646af9999a89dff9e13b972b7efd87 26-May-2010 Glenn Kasten <gkasten@google.com> IEngine, IPlay, IVolume are compiled separately. Turn on USE_ANDROID for the whole build.

Change-Id: I28096fa86286cf9ff97ce4ae4164f7cd4a0d6198
ibopensles/Android.mk
ibopensles/IEngine.c
ibopensles/IMetadataTraversal.c
ibopensles/IPlay.c
ibopensles/IVolume.c
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_check_audioplayer.cpp
ibopensles/sles_check_audioplayer.h
ibopensles/sles_check_audioplayer_ext.h
ibopensles/sles_to_android.h
ibopensles/sles_to_android_ext.h
b6e3c1093dfbdec29e620e85d0d81cc39395a45f 26-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Corrections to the implementation of SLVolumeItf for an AudioPlayer.
When unmuting an AudioPlayer, update volume in framework, not
implementation-specific code.
Android implementation limits maximum volume to 0.

Change-Id: I2f49a55e33ce58fb3543ca047ec20c04340e8d9f
ibopensles/IVolume.c
ibopensles/sles_allinclusive.h
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
1989e190dbc3266aff2c591e9201c3937fa149f5 26-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Move OpenSL ES library implementation to the libopensles folder.
Add an Android makefile for libopensles.

Change-Id: I1480bf46c7165cd35bb55aef1f11fb0a04fff88e
ndroid.mk_
3DCommit.c
3DDoppler.c
3DGrouping.c
3DLocation.c
3DMacroscopic.c
3DSource.c
AudioDecoderCapabilities.c
AudioEncoder.c
AudioEncoderCapabilities.c
AudioIODeviceCapabilities.c
BassBoost.c
BufferQueue.c
DeviceVolume.c
DynamicInterfaceManagement.c
DynamicSource.c
EffectSend.c
Engine.c
EngineCapabilities.c
EnvironmentalReverb.c
Equalizer.c
LEDArray.c
MIDIMessage.c
MIDIMuteSolo.c
MIDITempo.c
MIDITime.c
MetadataExtraction.c
MetadataTraversal.c
MuteSolo.c
Object.c
OutputMix.c
Pitch.c
Play.c
PlaybackRate.c
PrefetchStatus.c
PresetReverb.c
RatePitch.c
Record.c
Seek.c
ThreadSync.c
Vibra.c
Virtualizer.c
Visualization.c
Volume.c
PH.h
PH_to.c
PH_to.h
penSLES_IID.c
utputMixExt.h
evices.c
evices.h
ibopensles/Android.mk
ibopensles/I3DCommit.c
ibopensles/I3DDoppler.c
ibopensles/I3DGrouping.c
ibopensles/I3DLocation.c
ibopensles/I3DMacroscopic.c
ibopensles/I3DSource.c
ibopensles/IAudioDecoderCapabilities.c
ibopensles/IAudioEncoder.c
ibopensles/IAudioEncoderCapabilities.c
ibopensles/IAudioIODeviceCapabilities.c
ibopensles/IBassBoost.c
ibopensles/IBufferQueue.c
ibopensles/IDeviceVolume.c
ibopensles/IDynamicInterfaceManagement.c
ibopensles/IDynamicSource.c
ibopensles/IEffectSend.c
ibopensles/IEngine.c
ibopensles/IEngineCapabilities.c
ibopensles/IEnvironmentalReverb.c
ibopensles/IEqualizer.c
ibopensles/ILEDArray.c
ibopensles/IMIDIMessage.c
ibopensles/IMIDIMuteSolo.c
ibopensles/IMIDITempo.c
ibopensles/IMIDITime.c
ibopensles/IMetadataExtraction.c
ibopensles/IMetadataTraversal.c
ibopensles/IMuteSolo.c
ibopensles/IObject.c
ibopensles/IOutputMix.c
ibopensles/IPitch.c
ibopensles/IPlay.c
ibopensles/IPlaybackRate.c
ibopensles/IPrefetchStatus.c
ibopensles/IPresetReverb.c
ibopensles/IRatePitch.c
ibopensles/IRecord.c
ibopensles/ISeek.c
ibopensles/IThreadSync.c
ibopensles/IVibra.c
ibopensles/IVirtualizer.c
ibopensles/IVisualization.c
ibopensles/IVolume.c
ibopensles/MPH.h
ibopensles/MPH_to.c
ibopensles/MPH_to.h
ibopensles/OpenSLES_IID.c
ibopensles/OutputMixExt.h
ibopensles/devices.c
ibopensles/devices.h
ibopensles/locks.c
ibopensles/locks.h
ibopensles/sles.c
ibopensles/sles_allinclusive.h
ibopensles/sles_check_audioplayer.cpp
ibopensles/sles_check_audioplayer.h
ibopensles/sles_check_audioplayer_ext.h
ibopensles/sles_cpp.cpp
ibopensles/sles_to_android.cpp
ibopensles/sles_to_android.h
ibopensles/sles_to_android_ext.h
ocks.c
ocks.h
les.c
les_allinclusive.h
les_check_audioplayer.cpp
les_check_audioplayer.h
les_check_audioplayer_ext.h
les_cpp.cpp
les_to_android.cpp
les_to_android.h
les_to_android_ext.h
6a7bf7733e955d4d89204627c34fb357d542a9ec 24-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement the SLVolumeItf and SLPlayItf on an AudioPlayer's AudioTrack.
Iplay.c and IVolume.c are temporarily included in sles.c to circumvent
a build issue.
Change-Id: I213fc1d681ca2e7ff158aff876faf980a88292b5
ndroid.mk_
BufferQueue.c
Engine.c
Play.c
Volume.c
les.c
les_allinclusive.h
les_to_android.cpp
les_to_android.h
les_to_android_ext.h
0b167267bda99b68346045ccab14e810121d5de4 21-May-2010 Glenn Kasten <gkasten@google.com> Almost done splitting off the interfaces.

Change-Id: I374133ed856b38eb16e59ca3e917ef85d8dd2cf0

Split up MIDI interfaces.

Change-Id: Ife064b0ef6149ab8bcbc93646689cd5197c8c197

Interface initialization.

Change-Id: Iefa67680dab3ac558555462672261f613499a967

Add parameter range checks.

Change-Id: Ie2efba85e2b8ec8c2c6c73e0edf393318833d886
ndroid.mk_
3DDoppler.c
3DGrouping.c
3DLocation.c
BufferQueue.c
DeviceVolume.c
EffectSend.c
Engine.c
EngineCapabilities.c
EnvironmentalReverb.c
Equalizer.c
LEDArray.c
MIDIMessage.c
MIDIMuteSolo.c
MIDITempo.c
MIDITime.c
MetadataExtraction.c
MetadataTraversal.c
MuteSolo.c
Object.c
OutputMix.c
Pitch.c
Play.c
PlaybackRate.c
PrefetchStatus.c
PresetReverb.c
RatePitch.c
Record.c
Seek.c
Volume.c
les.c
les_allinclusive.h
1ae30e37f39fcfe7937a707b789e49a7d68112ba 19-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement the AudioTrack callback to retrieve audio data from a
BufferQueue interface.
When handing audio data from the buffer queue to the AudioTrack
callback, you cannot give more data than the given size. This
requires the handling of partial buffer consumption, before
the play index is incremented and the buffer queue callback
is called.

Change-Id: I2181afbc509182ff5c38aebbc4784f9b9916a6ae
les.c
les_allinclusive.h
les_to_android.cpp
ests/driver/Android.mk_
ests/driver/bufferQueue.c
ests/driver/slesTestBufferQueue.cpp
61ac0ade16f84d877dfd8d0e984eb203d4a2901d 20-May-2010 Glenn Kasten <gkasten@google.com> Continue the split into smaller source files.

Change-Id: I90dd822c4d91a21400e704b7cf3aab91293a35a7
ndroid.mk_
AudioDecoderCapabilities.c
AudioEncoder.c
AudioEncoderCapabilities.c
AudioIODeviceCapabilities.c
DeviceVolume.c
DynamicInterfaceManagement.c
DynamicSource.c
EffectSend.c
LEDArray.c
MetadataExtraction.c
MetadataTraversal.c
MuteSolo.c
Object.c
Pitch.c
PlaybackRate.c
PrefetchStatus.c
RatePitch.c
Record.c
ThreadSync.c
Vibra.c
evices.c
evices.h
les.c
les_allinclusive.h
a6d984c32855a239f7f79a3d3b7f2ddfb8cb9697 19-May-2010 Glenn Kasten <gkasten@google.com> Move devices to separate files.

Change-Id: I24c7c8d344a747a1b8b0854e6f872dcf8158a932

Move locks to separate file.

Change-Id: I4b5a2c4d497416d009dd6574ff793eaa93b7e9ac

Move 3D interfaces to separate files.

Change-Id: I8a4166301b3ff677784290794a1be8de4d424711

Move more interfaces to separate files.

Change-Id: I253f101663dc493bae4b469746a3ededb0882ae8
ndroid.mk_
3DCommit.c
3DDoppler.c
3DGrouping.c
3DLocation.c
3DMacroscopic.c
3DSource.c
BassBoost.c
EnvironmentalReverb.c
Equalizer.c
PresetReverb.c
Virtualizer.c
Visualization.c
evices.c
evices.h
ocks.c
ocks.h
les.c
les_allinclusive.h
les_check_audioplayer.cpp
72a04d8e9e059dad969d166a6a70491fe1e65970 18-May-2010 Glenn Kasten <gkasten@google.com> Start adding frame thread (sync).

Change-Id: Ifc163177cd990f1db27886e796ef23cbe420136f

Make test C32 work again on SDL.

Change-Id: I3c4949efbceaa44dc91d988641ce1ecbad977571

Add missing initializer for _3DGroup_class.
Fix uninitialized variables in metadata extraction.
Add missing const for data source and sink.

Change-Id: Iccc5ebc721bbd52167098b5fa04c8a54a8bab6c9

Start adding typedefs I* and C*.

Change-Id: I30d263f22ae0edd4e9f438161670f778a6f0ee96

Start implementing name changes.

Change-Id: I28cae1cd8f69a721251d83efd1ba7cef124201a9
les.c
les_allinclusive.h
les_check_audioplayer.cpp
les_check_audioplayer.h
les_check_audioplayer_ext.h
les_to_android.cpp
les_to_android.h
les_to_android_ext.h
48913d4519d5112319c4277d4966435fec2f551c 18-May-2010 Jean-Michel Trivi <jmtrivi@google.com> In Engine_CreateAudioPlayer, only initialize buffer queue depth and
allocate buffer queue array if the AudioPlayer data source is a
buffer queue.

Change-Id: I140174809656cbe252a218d2eb91d099a733b5c5
les.c
les_check_audioplayer.cpp
les_check_audioplayer.h
les_check_audioplayer_ext.h
les_to_android.cpp
les_to_android.h
les_to_android_ext.h
a852e9eca77c64fcba11eb590bec7a11aca5fe16 18-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Add android-specific AudioPlayer Realize function.

Change-Id: Ice8fcc0243a146cdfc7941d72419b4181f9a5909
les.c
les_to_android.cpp
les_to_android.h
les_to_android_ext.h
ests/driver/bufferQueue.c
c116ab2a033ee7dc78cfd458defe38d4528383a8 17-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Separate in external functions the checks done on the data source and
sink of an audio player during its creation.

Change-Id: I1d45d40aa0a58f8abcd27764bf557ad6159d468b
ndroid.mk_
les.c
les_allinclusive.h
les_check_audioplayer.cpp
les_check_audioplayer.h
les_check_audioplayer_ext.h
les_to_android.cpp
les_to_android.h
les_to_android_ext.h
7754b1c33590dbb03531f59e6f108818bc303f4f 17-May-2010 Glenn Kasten <gkasten@google.com> Continue adding locks for multi-threading.

Change-Id: Ia46a71b42983d37677bafba9b55f12058a25db57

Line 212 mDistance needs to be SLmillimeter.

Change-Id: I15ff3c3371f94798b3d04773c9c638c3793c2e40
les.c
les_allinclusive.h
32918086b694fc383c8c2d590ac45492801676f7 14-May-2010 Glenn Kasten <gkasten@google.com> Continued work on multi-threading.

Change-Id: I0eaf56540a93ae1dbda9f626faf38361c8ef9728
les.c
les_allinclusive.h
773e0429cbb9e85b4f1c6eb5a095ccd7b57f5ba4 14-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Remove all new type definitions into a separate header.
New files to host the implementation of Android media framework
resource allocation.

Change-Id: I71de03a595add1a44e3e86a944382d73fde0c1bd
les.c
les_allinclusive.h
les_to_android.cpp
les_to_android.h
les_to_android_ext.h
ba51587362ce7ed3fe3be37e481e67b7caed7670 14-May-2010 Glenn Kasten <gkasten@google.com> Continued work on multi-threading, and sketch out remaining interfaces.

Change-Id: Ib8549ae96909bd7f8a0c23149dcfce8457000107
les.c
e0e0b596ad06527ca5814c78db4ab6ab5b16e06c 12-May-2010 Glenn Kasten <gkasten@google.com> Continuation of previous changelist.

Change-Id: I249049747109c4ae281632a08e4099ebecd12442
les.c
83f93b0afd3607b1570d8473c2f6e45276c133ba 12-May-2010 Glenn Kasten <gkasten@google.com> Continue on multi-threading support.

Clean up audio codec capabilities.
First cut at ThreadSync, LED, Vibra, EffectSend.

Change-Id: Id3130fef774a7b5bcb725fb41dfc91a58ebf60dd
les.c
29b9008a17cae003590a5ff361e98809f02e3025 10-May-2010 Glenn Kasten <gkasten@google.com> Start adding mutex locks.

Change-Id: I507211b0ff6cd11c8110be18bf4ba44af848c55d
les.c
d20441ee29747b206cb0d197260c3ac78d7762da 08-May-2010 Glenn Kasten <gkasten@google.com> First audio output using Android AudioTrack.

Change-Id: Id18de8f51a73d9c801dbc79c1e8a19845b6045c2
ndroid.mk_
les.c
ests/driver/Android.mk_
ests/driver/bufferQueue.c
ests/driver/playSine.cpp
bd3cb772fc94c5baf0d1fe1a63693b33ca5fe9e3 03-May-2010 Glenn Kasten <gkasten@google.com> Continuing framework to support more interfaces and build with C++.

Change-Id: I218a28e3cab708ea45e74d4bb011e6018dbe51ef
ndroid.mk_
PH.h
PH_to.c
PH_to.h
penSLES_IID.c
utputMixExt.h
les.c
les_cpp.cpp
2045b02407f6ac0a570faee3157b24317c8a69e0 28-Apr-2010 Glenn Kasten <gkasten@google.com> Continued implementation, move all C files to top.

Change-Id: I33bc95ba7a27d53e2fa87e0e994a2c0007be6726
penSLES_IID.c
nclude/OpenSLES_IID.c
les.c
6452540bf3acf21cc702636217ef369b1bd68da7 27-Apr-2010 Glenn Kasten <gkasten@google.com> Delete obsolete 1.0 specification.

Change-Id: I018e56a8436a840ffc108aeaef9f539fef65aa4d
oc/OpenSL_ES_Specification_1.0.pdf
29ecc091f988ce8e6d95296a5f47377007ad77fe 27-Apr-2010 Glenn Kasten <gkasten@google.com> OpenSL ES 1.0.1 documents and headers as downloaded from Khronos.

Change-Id: Ie9cf1df5018b26e5148eb1666dcd546d450b43e6
oc/OpenSL_ES_Specification_1.0.1.pdf
nclude/OpenSLES.h
nclude/OpenSLES_IID.c
nclude/OpenSLES_Platform.h
9c3a1c1711ec228a236b59b461aeaa3e925ce3b8 27-Apr-2010 Glenn Kasten <gkasten@google.com> OpenSL ES 1.0 documents and headers as downloaded from Khronos.

Change-Id: Ifd948d08eb0493cf09c08657635c61d5e835a37e
oc/OpenSL_ES_Specification_1.0.pdf
oc/README.txt
nclude/OpenSLES.h
nclude/OpenSLES_IID.c
nclude/OpenSLES_Platform.h
342d6fbb17907386701ae5fd4af7a12ca40e87cc 27-Apr-2010 Glenn Kasten <gkasten@google.com> Fix problems found during code review on 2010/04/16, and committed on 2010/04/21.

Change-Id: I709f327e23904716b48da1e7dd36e7785725df73
les.c
d7143537437acbd4b97761a1c5bf852be9ba485a 27-Apr-2010 Glenn Kasten <gkasten@google.com> Initial version of 2010/04/15.

Change-Id: I2fa40b0bdd87df8fc3ae13f1b475b96ed6f9efda
les.c
ae87eb144deaa96de5f1ba97c126d62f8698a664 27-Apr-2010 Nico Sallembien <nsallembien@google.com> new project, first commit