screenshots are taken using ISurfaceComposer::captureScreen() which returns
the size of the screenshot and an IMemoryHeap containing the data.
screenshots have limitations:
- they will always fail if a secure window is up on screen
- require GL_OES_framebuffer_object extension
- in some situation, video planes won't been captured
Change-Id: I741c68a2d2984fb139039301c3349e6780e2cd58
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 '19fe783d83b10ecfae3494f7b1ceff9584ad3839'
* commit '19fe783d83b10ecfae3494f7b1ceff9584ad3839':
Proper sync-frame detection for sources that don't already provide it.
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