Merge commit '8559ca18de9cdd60bd8979e641c4fd1a8e66b62e'
* commit '8559ca18de9cdd60bd8979e641c4fd1a8e66b62e':
libbinder: MemoryHeapPmem: honor the NO_CACHING flag when creating a client heap
Merge commit '15ec511b5c5cdb901bf1bd0e26ff0514635fc681'
* commit '15ec511b5c5cdb901bf1bd0e26ff0514635fc681':
Fix a build break. Too many branches to keep track of.
Merge commit '8ba42ba83b206929c4c13c0b8ef24de87a92f42c'
* commit '8ba42ba83b206929c4c13c0b8ef24de87a92f42c':
libbinder: add a NO_CACHING flag to MemoryHeapBase
Merge commit '766df995e30caa054cc25068e55f160c765590eb'
* commit '766df995e30caa054cc25068e55f160c765590eb':
Fix some leaks. This fixes the major malloc memory leak in allApps. Still tracking some much more minor issues.
Merge commit '80164966d087388ac0192caf7270158dea22444e'
* commit '80164966d087388ac0192caf7270158dea22444e':
Fix issue 197683: English IME key-press latency is noticeably higher on passion than sholes. Part 2.
Reduce sleep time in AudioFlinger mixer thread when no data has been written to output to speed up startup time when exiting standby.
The rest of the modifications for this issues is in kernel driver:
commit 0dbb0ee136ed8de757df1ae26d84556c1751deae for buffer size modification from 8192 to 4800 bytes.
Another kernel improvement that is not submitted yes will reduce delay when audio output is exiting standby.
Merge commit 'c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc'
* commit 'c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc':
fix[2222341] Soft reset while going back from camcorder settings
add a way to convert a mapped "pushbuffer" buffer to a gralloc handle
which then can be safely used by surfaceflinger, without including
gralloc_priv.h
Temporarily make a function public that doesn't need to be. When
host gcc-4.0.3 is gone from the build servers we can undo this.
(Cherry-picked from eclair-mr2.)
Merge commit '04104665271248719cb3659e42938fa4bec0261e' into eclair-mr2
* commit '04104665271248719cb3659e42938fa4bec0261e':
Fix x offset for boxed textures
Merge commit '64d3f44c7bf5a6e80be419df5850ef60fec216b5'
* commit '64d3f44c7bf5a6e80be419df5850ef60fec216b5':
fix [2143798] Need to figure out how to do video
Use EGLImageKHR instead of copybit directly.
We now have the basis to use streaming YUV textures (well, in fact
we already are). When/if we use the GPU instead of the MDP we'll
need to make sure it supports the appropriate YUV format.
Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
Instead of using glTex{Sub}Image2D() to refresh the textures, we're using an EGLImageKHR object
backed up by a gralloc buffer. The data is updated using memcpy(). This is faster than
glTex{Sub}Image2D() because the texture is not swizzled. It also uses less memory because
EGLImageKHW is not limited to power-of-two dimensions.
Added setVoiceVolume() method to AudioSystem, AudioFlinger, IAudioFlinger, AudioPolicyService.
Removed call to AudioHardwareInterface::setVoiceVolume() from AudioFlinger::setStreamVolume().
Added a workarouond to request the A2DP output standby directly to audio hardware when the sink is suspended as it seems that the suspend request often fails.
Also take into account resume requests received while a suspend request is pending.
when running out of memory, a null handle is returned but the error code may not be set.
In that case we need to return NO_MEMORY instead of NO_ERROR, so that the calling code
won't try to dereference the null pointer.
When switching rapidily orientation back and forth, surfaces end-up
acquiring the freeze-lock when the first orientation change happens,
but never release it because by the time the 2nd orientation change
comes in, the surface size is back to its original size and
doesn't appear to have resized.
we now always release the freeze-lock when we receive a buffer of the
expected size.
This also fixes [2152536] ANR in browser
When SF is enqueuing buffers faster than SF dequeues them.
The update flag in SF is not counted and under some situations SF will only
dequeue the first buffer. The state at this point is not technically
corrupted, it's valid, but just delayed by one buffer.
In the case of the Browser ANR, because the last enqueued buffer was delayed
the resizing of the current buffer couldn't happen.
The system would always fall back onto its feet if anything -else- in
tried to draw, because the "late" buffer would be picked up then.