* changes:
A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).
Merge commit 'ed90811e711065bcc82a45f4173587cd95ef6b6f' into eclair-mr2-plus-aosp
* commit 'ed90811e711065bcc82a45f4173587cd95ef6b6f':
Do not peform a click/move if longpress has been performed in WebTextView.
Merge commit '51e45ff0d53ce299be316e14e48cdd3e3a51d0b0' into eclair-mr2-plus-aosp
* commit '51e45ff0d53ce299be316e14e48cdd3e3a51d0b0':
Cleanup how a plugin goes full-screen.
Merge commit 'c3e20af0b6aed8afe28be5fa08b8d69c6b50f34c' into eclair-mr2-plus-aosp
* commit 'c3e20af0b6aed8afe28be5fa08b8d69c6b50f34c':
Refactoring the logging interface to remove dependence on NPP.
The problem comes from a deadlock with AudioPolicyService mutex: When the second ringtone starts,
this mutex is locked by AudioPolicyService::startOutput() which in turn calls setParameters() to change the output device.
Audioflinger::ThreadBase::setParameters() signals the parameter change to the AudioFlinger mixer thread and waits for a condition
indicating that the parameter change has been processed.
At the same time, the mixer thread detects that the audio track corresponding to the first ring tone has been killed and calls its destructor.
This calls AudioPolicyService::releaseOutput() which tries to lock the AudioPolicyService mutex.
If this happens before the mixer thread can process the setParameters() command we are deadlocked.
The deadlock ends because setParameters() uses a timeout when waiting for the condition.
This regression was introduced by change 33736 fixing issue 2265163.
The fix consists in calling AudioPolicyService::releaseOutput() from Track::destroy() instead of from Track destructor: as detroy() is never called from the mixer thread loop (as opposed to the destructor) the deadlock described above cannot occur.
Merge commit 'b292461c6791b6e6780085358a5ba15f688e70ba' into eclair-mr2-plus-aosp
* commit 'b292461c6791b6e6780085358a5ba15f688e70ba':
add --esn option to am to allow adding extra with a null value
Merge commit 'cb37e71509da43e0d8d809591b09e8f5a582b5cd' into eclair-mr2-plus-aosp
* commit 'cb37e71509da43e0d8d809591b09e8f5a582b5cd':
Refactoring plugins to use new java interfaces.
Merge commit 'e11a1b4d1a57dd6f42171aca3a4edb71438cbad1' into eclair-mr2-plus-aosp
* commit 'e11a1b4d1a57dd6f42171aca3a4edb71438cbad1':
dumpstate: Pick up the last kernel log from /proc
Merge commit 'f817218e09a556f20efc81309ba2cdb3475a370b' into eclair-mr2
* commit 'f817218e09a556f20efc81309ba2cdb3475a370b':
dumpstate: Pick up the last kernel log from /proc
Merge commit '331c7788a84fc6f625ac1bafbb33cf7da1116407' into eclair-mr2-plus-aosp
* commit '331c7788a84fc6f625ac1bafbb33cf7da1116407':
Store info in the bookmarks/history database on whether it was a manually entered url.
Merge commit 'd82f452fdcfbaa057c5db3491417c49c86247970' into eclair-mr2-plus-aosp
* commit 'd82f452fdcfbaa057c5db3491417c49c86247970':
Set more camera parameters initial values.
We will need those values for new camera framework. And change the canned jpeg
image to match the new width and height setting.
Change-Id: I49f8fb63d2b859b9e9f1c5d27657a10203315bb6
Merge commit '429a8eaccc133b2ebf610cccf26c4ad323a18ef3' into eclair-mr2-plus-aosp
* commit '429a8eaccc133b2ebf610cccf26c4ad323a18ef3':
Add a new priority for Auto Connection of A2DP.
Merge commit '199d7bed1184985cdd1130b4ad1e79163a5c28cc' into eclair-mr2-plus-aosp
* commit '199d7bed1184985cdd1130b4ad1e79163a5c28cc':
Add a test app that will drain the battery. NOT IN BUILD.
Merge commit '9c0b39c47efade5ee2303a8f8ffbd9cf87c2c841' into eclair-mr2-plus-aosp
* commit '9c0b39c47efade5ee2303a8f8ffbd9cf87c2c841':
Improve the exception message text by including eglGetError().
Merge commit 'bcab01f6d0158c4d928f42b034949dc9608665a6' into eclair-mr2
* commit 'bcab01f6d0158c4d928f42b034949dc9608665a6':
Add a test app that will drain the battery. NOT IN BUILD.
Merge commit 'ca00dee21425882619aef4ecbe3e0d08de0544e5' into eclair-mr2
* commit 'ca00dee21425882619aef4ecbe3e0d08de0544e5':
Improve the exception message text by including eglGetError().
Merge commit 'c61b0de83bc0c6f7bb1d10bcfc02ab29f3a49caa' into eclair-mr2-plus-aosp
* commit 'c61b0de83bc0c6f7bb1d10bcfc02ab29f3a49caa':
Update documentation: The width of the image for face detection must be even.
Merge commit 'ed8d33b7976c006b4bd28eb89cac36074e4eccf5' into eclair-mr2-plus-aosp
* commit 'ed8d33b7976c006b4bd28eb89cac36074e4eccf5':
More elimination of Formatter (I was tired of waiting several
Merge commit '99cee0318bdceb6e996bbe9a3e0f961d622e0365' into eclair-mr2-plus-aosp
* commit '99cee0318bdceb6e996bbe9a3e0f961d622e0365':
Change the DropBoxManager API slightly (this is public, but not yet released) --