Merge commit '194bbcce9ba15634500f542b9ea017b2cf154b45' into gingerbread-plus-aosp
* commit '194bbcce9ba15634500f542b9ea017b2cf154b45':
SIP: longer timeout for making call, shorter for cancelling
Merge commit '52f58e96a723a56e6619c237c814a07503745de9' into gingerbread-plus-aosp
* commit '52f58e96a723a56e6619c237c814a07503745de9':
fix problem in AudioEffect JNI setup.
There is a problem in AudioEffect and Visualizer native_setup() methods
that causes a crash in the application after the mediaserver process
has crashed and restarted.
The problem is that the native AudioEffect/Visualizer constructor is
called while the JNI is in critical state after calling
GetPrimitiveArrayCritical(). As the mediaserver process just restarted, the
first call to AudioSystem will cause the binder IAudioflinger interface to
be reteived and a callback send to AudioSystem JNI to clear the mediaserver
error state. This will call env->FindClass() and crash due to the JNI being
in critical state.
Also fixed a similar problem in AudioTrack JNI
Change-Id: I4a9026a3e26c7f78d9b4b4bec1aac90fbee2ab62
Merge commit '0cd28fdd16ac140d024953c7a076ffb3ec82c8b2' into gingerbread-plus-aosp
* commit '0cd28fdd16ac140d024953c7a076ffb3ec82c8b2':
Use the default SecureRandom provider.
- New feature to "am monitor" to have it automatically launch
gdbserv for you when a crash/ANR happens, and tell you how to
run the client.
- Update dumpstate to match new location of binder debug logs
- Various commented out logs that are being used to track down
issues.
Change-Id: Ia5dd0cd2df983a1fc6be697642a4590aa02a26a5
Don't be tricky when trying to set the seed for the secure
random number generator. Setting the seed manually eliminates
the internal randomization the SecureRandom class does automatically,
reducing randomness. Just use the default seed, which is designed
to be safe.
Change-Id: I5747c2b3a10cf04e33d2202195951ed5cb82b2fe
Merge commit '3ae249dc6a23f40cfc189ce2e25f75de32e7889a' into gingerbread-plus-aosp
* commit '3ae249dc6a23f40cfc189ce2e25f75de32e7889a':
Add new Alarm provider class for setting an alarm.
Merge commit '74865ef6600e2e81cecf6619ab7141df6a7dfeb9' into gingerbread-plus-aosp
* commit '74865ef6600e2e81cecf6619ab7141df6a7dfeb9':
Add locking around ZIP seeking
Merge commit '6d8fae722cfb2833dd542b2a5e613582a9096fc6' into gingerbread-plus-aosp
* commit '6d8fae722cfb2833dd542b2a5e613582a9096fc6':
Instead of just writing one track to the .mp4 file, write all of them (at most 1 video and 1 audio track). Also support httplive URIs in the stagefright commandline tool.
Merge commit '8f97fe551e7bd95abf395eed303b975eaa8f0158' into gingerbread-plus-aosp
* commit '8f97fe551e7bd95abf395eed303b975eaa8f0158':
Move long Connectivity tasks to handler thread.
Merge commit '4318ab058629b701e225bb7ead9dd2b229c9354b' into gingerbread-plus-aosp
* commit '4318ab058629b701e225bb7ead9dd2b229c9354b':
Import revised translations. DO NOT MERGE
The new class provides static variables for creating an intent to broadcast to
applications implementing the alarm clock. A new permission has been added and
applications are recommended to require this permission if accepting the set
alarm broadcast.
Change-Id: I7b1014acdc54371cbda19bcf9b5c395b647aa413
Removed a cross deadlock condition between audioflinger and audio policy
service mutexes.
Audioflinger::createEffect() locks audioflinger mutex and then calls
AudioSystem::getOutputForEffect() which ends up in
AudioPolicyService::getOutputForEffect() which locks audio policy service
mutex. If at the same time, the command thread in audio policy service is
processing a command(set volume, set route...), the mutex is locked and the
command will call one audioflinger method which in turn will attempt to
lock audioflinger mutex.
The fix consists in releasing audioflinger mutex before calling
getOutputForEffect().
Change-Id: Id44e7feb36e0a295731f6aa97cf32d022edd34d0
Merge commit '37155854b4d9ca405e5c41c4ab271006a4716193' into gingerbread-plus-aosp
* commit '37155854b4d9ca405e5c41c4ab271006a4716193':
Proper sync-frame detection for sources that don't already provide it.
Since we switched to seeking to the LFH to verify its existence instead
of a huge mmap of the file, we have to guarantee that another seek
doesn't happen before we finish our read on the LFH.
Change-Id: If8135d9cb6f2f5cc4db734eafa4f6b5f6269c62a
Merge commit '933fc94ce1ca4a1ead83dbc2a0f50f7324b28982' into gingerbread-plus-aosp
* commit '933fc94ce1ca4a1ead83dbc2a0f50f7324b28982':
Use MOTOYA font for Japanese font
Merge commit '84a357bb6a8005e1c5e924e96a8ecf310e77c47c' into gingerbread-plus-aosp
* commit '84a357bb6a8005e1c5e924e96a8ecf310e77c47c':
Refactoring SIP classes to get ready for API review.
+ replace SipAudioCall and its Listener interfaces with real implementations,
+ remove SipAudioCallImpl.java, most of it is has become part of SipAudioCall,
+ add SipSession and its Listener classes to wrap ISipSession and ISipSessionListener,
+ move SipSessionState to SipSession.State,
+ make SipManager keep context and remove the context argument from many methods of its,
+ rename SipManager.getInstance() to newInstance(),
+ rename constant names for action strings and extra keys to follow conventions,
+ set thread names for debugging purpose.
Change-Id: Ie1790dc0e8f49c06c7fc80d33fec0f673a9c3044
Merge commit '524a6d8e9bb4df9cec0520ac1d9733642b13e76f' into gingerbread-plus-aosp
* commit '524a6d8e9bb4df9cec0520ac1d9733642b13e76f':
better fix for [3028370] GL get error should return a valid error if no context is bound.
Merge commit 'a7bfe6ad763208942d74a15933e2de1a3e06eba0' into gingerbread-plus-aosp
* commit 'a7bfe6ad763208942d74a15933e2de1a3e06eba0':
Support "seascape" rotation for "landscape-only" apps
Merge commit 'cbb7b05e35368b104c27089f5f16640680f567c2' into gingerbread-plus-aosp
* commit 'cbb7b05e35368b104c27089f5f16640680f567c2':
Crash apps when they provide bad notifications instead of crashing the system process.
it turns out that we cannot return INVALID_OPERATION from glGetError() because the
GL spec says that it must be called in a loop until it returns GL_NO_ERROR.
now, we always return 0 from GL functions called from a thread with no
context bound. This means that glGetError() will return NO_ERROR in this case,
which is better than returning a random value (which could trap the app in a loop).
if this happens in the main thread of a process, we LOG an error message once.
Change-Id: Id59620e675a890286ef62a257c02b06e0fdcaf69