• Home
  • History
  • Annotate
  • only in /frameworks/base/include/
History log of /frameworks/base/include/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4fbbda4cecb078bd3867f416b02cc75f5455284f 25-Sep-2012 Jeff Sharkey <jsharkey@android.com> Handle multi-user mountObb() requests.

Since emulated external storage paths differ based on execution
context, carefully fix up paths for various use-cases:

1. When sending paths to DefaultContainerService, always scope
OBB paths as belonging to USER_OWNER.
2. When sending paths to vold, always build emulated storage paths
visible to root.
3. Always use the original untouched path when talking with apps.

Mount OBB containers using shared app GID, so that an app can read
the mount point across users.

Handle legacy paths like "/sdcard" by resolving the canonical path
before sending to MountService. Move tests to servicestests, and
add tests for new path generation logic.

Bug: 7212801
Change-Id: I078c52879cd08d9c8a52cc8c83ac7ced1e8035e7
torage/IMountService.h
83d616a9c7b9505153d258511eb5c16b552e268d 10-Sep-2012 Jeff Brown <jeffbrown@google.com> Make input system aware of multiple displays.

The input system needs to know about the window that has
focus, even if it is on a secondary display. So now we
send it the list of all windows and indicate which display
they are on. We filter the list of windows as necessary
when delivering touch events.

To keep things simple, monitor input channels and input
filters are not supported except on the main display.
We also do not pass the display id to applications; it is
only used inside the input system for now.

Properly scale touch coordinates based on the viewport.
This will be needed to ensure that touch works on external
display as well as when the internal display is being used
to simulate a different resolution.

Change-Id: I1815579a52fcc852c519b5391fc7ab8767c2dc59
ndroidfw/Input.h
cbad976b2a36a0895ca94510d5208a86f66cf596 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for Wifi display.

Change-Id: I99693786cf9d07d07d3400046c55eb4933730b80
ndroid_runtime/android_view_Surface.h
035ce2ca92742894f7f906c93d7d217c647aa19a 05-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add support for "-rtl" in resources" into jb-mr1-dev
64a55af0ac700baecb0877235eb42caac59a3560 26-Aug-2012 Jeff Brown <jeffbrown@google.com> Add plumbing for new surface flinger display API.

Cleaned up the implementation of Surface and SurfaceSession
to use more consistent naming and structure.

Added JNI for all of the new surface flinger display API calls.

Enforced the requirement that all Surfaces created by
the window manager be named.

Updated the display manager service to use the new methods.

Change-Id: I2a658f1bfd0437e1c6f9d22df8d4ffcce7284ca2
ndroid_runtime/android_view_Surface.h
ndroid_runtime/android_view_SurfaceSession.h
5f7979993979466c79ab4f38d83c6f2aca361662 16-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Add support for "-rtl" in resources

- fix bug #7035019 Need to have "-rtl" support for Resource

Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
ndroidfw/ResourceTypes.h
b696de5c10ebcc7bf42d8487fc0e56e0e937754d 28-Jul-2012 Jeff Brown <jeffbrown@google.com> Move and rename user activity event type constants.

Change-Id: Ie565808796773b6896e71ddfac6aaaf8031de846
ndroidfw/PowerManager.h
de7a8ead2467a4a152a5a9b2416c8048f1b48bbb 14-Jun-2012 Jeff Brown <jeffbrown@google.com> Add new ASSIST key and map it to the global assist intent.

Moved some duplicate code from SearchPanelView and LockScreen
over to SearchManager to avoid creating yet another copy of it
in PhoneWindowManager.

Bug: 6594275
Change-Id: Ib4ebcd6817639d17548952ab2ce7cb876c05777c
ndroidfw/KeycodeLabels.h
51df04b93e8e362edd867abd7efaf1659b8b8b82 04-Jun-2012 Jeff Brown <jeffbrown@google.com> Port the legacy velocity tracker strategy.

For comparison purposes, port the legacy velocity tracker
algorithm as it behaved prior to ICS.

Bug: 6413587
Change-Id: I7e8e56584dcdb1a3c660ca9d8f9c5bd5d868e449
ndroidfw/VelocityTracker.h
a5b0698231459ac5b54cf8e8952ac5c2b2b2198b 04-Jun-2012 Jeff Brown <jeffbrown@google.com> Implement a second order integrating VT strategy.

Bug: 6413587
Change-Id: I51bc7b8cbff22b10b728fc84ee15370e9984dd55
ndroidfw/VelocityTracker.h
18f329e9480fca75210bb7496e5b4bc987b4ad8f 03-Jun-2012 Jeff Brown <jeffbrown@google.com> Implement a weighted least squares VelocityTracker strategy.

No change to the default strategy.

Bug: 6413587
Change-Id: I08eb6f9a511e65ad637359b55b5993c26ba93b40
ndroidfw/VelocityTracker.h
1fbbc0716f9b70c6dcee00c4550757077ef7f7b5 04-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Implement an integrating VelocityTracker strategy." into jb-dev
f47e76e2c78e78e26110786e99548d718d177c32 04-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Make velocity tracker strategy configurable." into jb-dev
53dd12a66884540b87fe428383e2f79d0f5e32ba 01-Jun-2012 Jeff Brown <jeffbrown@google.com> Implement an integrating VelocityTracker strategy.

This algorithm better tolerates certain kinds of errors in the
touch input than the least squares strategy but it may underestimate
the velocity of accelerating movements. This algorithm is
mainly of interest as a baseline for testing and comparison with the
least squares algorithm, which remains the default.

Bug: 6413587
Change-Id: I8ddb50084e44875e234717907e5b06d03f59788c
ndroidfw/VelocityTracker.h
9eb7d86181729c3eb769d71123c4ce9ffc868f08 01-Jun-2012 Jeff Brown <jeffbrown@google.com> Make velocity tracker strategy configurable.

This change is very useful for testing purposes because it makes it
easy to compare different implementations to see how they behave.

There is no change to the current default strategy.

Bug: 6413587
Change-Id: I4d8567aa4160571ba9fa397ce419882cd9366749
ndroidfw/VelocityTracker.h
486590963e2207d68eebd6944fec70d50d41116a 01-Jun-2012 Chet Haase <chet@google.com> Skip eglSwapBuffers() call when we do not draw to GL

The fix is to track when we issue GL drawing commands, and to skip the
call to eglSwapBuffers() when a DisplayList does not result in
any actual rendering calls to GL.

Issue #6364143 QuickMuni list items and buttons flicker instead of fade

Change-Id: I60a02c61a58c32d92481a1e814b4c8a49c6a37a3
rivate/hwui/DrawGlInfo.h
90729403d50488566eb4ae0e09bb1be21979a633 15-May-2012 Jeff Brown <jeffbrown@google.com> Detect when pointer has stopped moving.

Some input devices do not generate ACTION_MOVE events while all
pointers have stopped, thereby lulling the VelocityTracker into
a false sense of complacency. Before handling the following sample,
reset the VelocityTracker state so as not to be influenced by
earlier samples before the pointer stopped. The velocity after
stopping is assumed to be discontinuous.

Bug: 6413587
Change-Id: I6387bc036ff141d083d3d17a89e37eeaa3188349
ndroidfw/VelocityTracker.h
7174a491bc1f89da65eaef3be25f3ea3f3e3bab5 15-May-2012 Jeff Brown <jeffbrown@google.com> Improve touch event resampling.

Fixed a few bugs related to the id-to-index mapping for
pointer coordinates.

Tightened the bounds on the resampling time interval to
avoid predicting too far into the future.

Only lerp X and Y components of motion events.

Alter the future to satisfy past predictions. (Rewrite touch
events to conceal obvious discontinuities.)

Added a system property to control whether resampling is enabled
for debugging purposes.

Bug: 6375101
Change-Id: I35972d63278bc4e78148053a4125ad9abeebfedb
ndroidfw/Input.h
ndroidfw/InputTransport.h
85bd0d62830a098c1bdc720dfdcf4fe1b18b657c 14-May-2012 Jeff Brown <jeffbrown@google.com> More VelocityTracker refactoring.

Bug: 6413587
Change-Id: Ida1152e7a34d5fe5caab5e6b5e1bc79f6c7a25e6
ndroidfw/VelocityTracker.h
8a90e6e3174083f274538567d851f98478fc83e9 11-May-2012 Jeff Brown <jeffbrown@google.com> Minor refactoring before starting on velocity tracker changes.

Bug: 6413587
Change-Id: I5eba2bb57193bff78cb3740de5f87aca0b31d154
ndroidfw/Input.h
ndroidfw/VelocityControl.h
ndroidfw/VelocityTracker.h
fd23e3ed976b22b9a92ddb2cb3a46f9d2a0ce23f 09-May-2012 Jeff Brown <jeffbrown@google.com> Fix bugs in fallback key handling.

If a fallback key is generated using a key plus a modifier,
then it's possible we might get a different fallback key
generated if the modifier has changed. PhoneWindowManager
needs to remember which fallback is last generated for a
given key code so that it can apply the same fallback action.

When generating cancellation events, it's important to have
preserved the policyFlags of the original event. Otherwise
we may not dispatch the cancellation properly. For example,
some actions are not performed if the POLICY_FLAG_TRUSTED
is not specified.

Remember the metaState associated with a key event so we can
include it when canceled.

Tell the policy when a fallback is being cancelled so that it
can clean up its state.

After a SEARCH shortcut is invoked, clear the flag indicating
that a shortcut is pending. This is to prevent SEARCH from
getting stuck down in the case where we might forget to send
the up. (Shouldn't happen anymore after the prior fixes.)

Bug: 5616255
Change-Id: I68f0a9679c7af464eaf31c099f2aa50b53fecf1f
ndroidfw/Input.h
0632b35b6828cd4324b3d218c2e38f895e819aad 02-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Improve handling of built-in keyboard." into jb-dev
daa3753a04699724d2cfe824ac1f5a266d643a05 02-May-2012 Jeff Brown <jeffbrown@google.com> Improve handling of built-in keyboard.

The window manager policy made some incorrect assumptions about the
meaning of the Configuration.keyboard field. We need to be more
careful about distinguishing between built-in and external keyboards.

Most of this change is to move the determination of the parts of
the Configuration related to input devices into the WindowManagerService
leveraging new features of the InputManagerService to good effect.

Then we plumb through the flag that indicates whether a device
is internal or external so that we can be more particular about
how the lid switch effects changes to the Configuration.

Bug: 6424373
Change-Id: I36a1c22ade35e578955465a25940a33f227b9763
ndroidfw/Input.h
ndroidfw/InputDevice.h
92bc5d086ab250c8a1cb9b5e6d5273a0ba75e698 01-May-2012 Chris Craik <ccraik@google.com> Revert "Add header for forward compatibility"

GPL build fix mistakenly merged into master

This reverts commit fd862e9828d544f593a622f2914d1257366ae802.
tils/Trace.h
771526c88f5cc4b56a41cb12aa06a28d377a07d5 28-Apr-2012 Jeff Brown <jeffbrown@google.com> Resample touch events on frame boundaries.

Bug: 6375101
Change-Id: I8774e366306bb2b6b4e42b913525bf25b0380ec3
ndroidfw/Input.h
ndroidfw/InputTransport.h
5bbd4b4f5fc19302fa017ad6afee6eb2d489d91a 21-Apr-2012 Jeff Brown <jeffbrown@google.com> Get alias for Bluetooth devices.

Bluetooth devices can be renamed by the user. Make the
input system aware of the user-specified name and transparently
pass it down to applications. This enables the keyboard
layout picker Settings UI to use device names that are
consistent with what the user set in the Bluetooth UI.

Bug: 6363157
Change-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c
ndroidfw/InputDevice.h
9a2bbf680e3b5b98051b9f2913ab6bd31b77f79a 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Improve handling of certain keyboard layout properties.

Automatically choose a default value for the 'number' property
based on the characters that the key can generate.

Don't generate any character when ctrl, alt or meta is
pressed unless the behavior exactly matches the modifier keys
that are pressed.

Simplified the basic keyboard layouts taking into account the
new features.

Bug: 6110399
Change-Id: Ibc0f0b50c2dcf3f962a33ac77c24d2993b77637d
ndroidfw/KeyCharacterMap.h
6957b60378597ee5bffd9ac125cd8aff1142664f 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Add Dvorak keyboard layout."
4a3862f6b0a8971b6ab5b1c46735b28e7604d0db 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Add Dvorak keyboard layout.

Added support for mapping both scan codes and HID usages to
KeyLayoutMap and KeyCharacterMap. Keyboard overlays can
now influence how key events are mapped to key codes.

Bug: 6110399
Change-Id: I6619fd2d3e1337c55928f89869dbc45b535c7ccf
ndroidfw/KeyCharacterMap.h
420489ca1f92b290f4737fb675bfd3db9cdbed29 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Support loading keyboard layout overlays from resources."
6ec6f79e1ac1714e3b837796e99f07ff88f66601 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Support loading keyboard layout overlays from resources.

Added the concept of a keyboard layout overlay, which is
a key character map file that has "type OVERLAY".

Added support for loading keyboard layout overlays from
resources dynamically. The layouts are reloaded whenever they
are changed in the Settings application or an application
is installed. This is somewhat more aggressive than necessary
so we might want to optimize it later.

Before system-ready, the input system uses just the generic
keyboard layouts that are included on the device system image.
After system-ready, it considers the user's selected keyboard
layout overlay and attempts to load it as necessary. We need to
wait until system-ready before doing this because we need to
be in a state where it is safe to start applications or access
their resources.

Bug: 6110399
Change-Id: Iae0886d3356649b0d2440aa00910a888cedd8323
ndroidfw/KeyCharacterMap.h
3844067c3c6cca954250a734d8bd8dad673bb846 17-Apr-2012 Chris Craik <ccraik@google.com> am a6d62b76: am 4f998a1e: am fd862e98: Add header for forward compatibility

* commit 'a6d62b76ad8f09bd677fa115fbb71fdae2510552':
Add header for forward compatibility
fd862e9828d544f593a622f2914d1257366ae802 17-Apr-2012 Chris Craik <ccraik@google.com> Add header for forward compatibility

Change-Id: I6e3da852d50fc14cfb6fb50f7dd867f37daea19d
tils/Trace.h
a47425a13c19f95057df78b8bb65bb25657e8753 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Add support for input devices that have vibrators.

Added a getVibrator() method to InputDevice which returns a Vibrator
associated with that input device. Its uses the same API as the
system vibrator which makes it easy for applications to be modified
to use one or the other.

Bug: 6334179
Change-Id: Ifc7f13dbcb778670f3f1c07ccc562334e6109d2e
ndroidfw/InputDevice.h
af9e8d38184c6ba4d2d3eb5bde7014a66dd8a78b 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Notify applications when input devices change.

This change allows the InputManager to keep track of what input
devices are registered with the system and when they change.
It needs to do this so that it can properly clear its cache of
input device properties (especially the key map!) when changes
occur.

Added new API so that applications can register listeners for
input device changes.

Fixed a minor bug in EventHub where it didn't handle EPOLLHUP
properly so it would spam the log about unsupposed epoll events
until inotify noticed that the device was gone and removed it.

Change-Id: I937d8c601f7185d4299038bce6a2934fe4fdd2b3
ndroidfw/InputDevice.h
3d7f0cb3d9724eb4a45611127e0986538e838964 12-Apr-2012 Teng-Hui Zhu <ztenghui@google.com> Update header for forward compatibility

Change-Id: Idf38142dc073dce14741e8da005e7d2eaf9242de
rivate/hwui/DrawGlInfo.h
49ccac530b5a798e3c4a79b66b51b8546a0deed1 12-Apr-2012 Jeff Brown <jeffbrown@google.com> Refactor key code mapping.

Added handling for EV_MSC / MSC_SCAN which typically reports
the HID usage associated with a key. This will enable key maps
to map keys with HID usages that Linux does not natively recognize.

Removed keyCode and flags fields from EventHub RawEvent since
they don't necessarily make sense in isolation now that we
pay attention to HID usage codes too.

Removed the fallback code for mapping keys and axes. In practice,
an input device should be self-sufficient. We should not ever
need to look at the built-in keyboard's key map. In fact, there
usually isn't a built-in keyboard anyhow. This code was originally
working around a problem where we weren't loading the key map
for touch screens with virtual keys, which has long since been fixed.

Change-Id: I0a319bdec44be9514f795526347397e94d53a127
ndroidfw/KeyLayoutMap.h
7b6a75872bd2df96a23453d31c2e2e7fcc373554 11-Apr-2012 Chet Haase <chet@google.com> Pass width/height parameters to webview

When webview draws into an fbo layer, it needs to know the
size of that surface to create the rendering transform appropriately.
This change copies in the current viewport size to the structure that
is passed to the webview.

Change-Id: I7160b0836d00834134c799c95a439cdc045e2035
rivate/hwui/DrawGlInfo.h
9f25b7fdf216c9ef0bd2322cd223eeaf0d60f77f 10-Apr-2012 Jeff Brown <jeffbrown@google.com> Request key maps from input manager service.

Instead of each application loading the KeyCharacterMap from
the file system, get them from the input manager service as
part of the InputDevice object.

Refactored InputManager to be a proper singleton instead of
having a bunch of static methods.

InputManager now maintains a cache of all InputDevice objects
that it has loaded. Currently we never invalidate the cache
which can cause InputDevice to return stale motion ranges if
the device is reconfigured. This will be fixed in a future change.

Added a fake InputDevice with ID -1 to represent the virtual keyboard.

Change-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7
ndroidfw/Input.h
ndroidfw/InputDevice.h
ndroidfw/KeyCharacterMap.h
ndroidfw/KeyLayoutMap.h
ndroidfw/Keyboard.h
ndroidfw/VirtualKeyMap.h
544f89aece46e8f4bbe4eed93116c8736e68ac07 09-Apr-2012 Teng-Hui Zhu <ztenghui@google.com> Update SurfaceTexture interface for forward compatibility

Change-Id: I32d224428c0127800714a976b4d7bb68cc7c2464
ui/SurfaceTexture.h
e38fdfae9196afd1bdc14c5ec6c12793af1e2550 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Add a unique input device descriptor.

The purpose of the input device descriptor is to make it possible
to associate persistent settings for each input device, such as the
keyboard layout.

The descriptor is a hash of the information we have about the
device, such as its vendor id, product id, unique id, name,
or location.

Bug: 6110399
Change-Id: Idb80f946819b3f0dbf4e661bb0a753dbc2b60981
ndroidfw/Input.h
c70e89e2a024645d425b49db2bbf3f20ed68e518 03-Apr-2012 Chris Craik <ccraik@google.com> Fix hybrid build

Change-Id: Ieef556473e1878d1319f9844fb0bbb974637999e
rivate/hwui/DrawGlInfo.h
56bad16f0200b7afff12fcc45c82723cf467cfee 03-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Add Japanese specific key codes."
7511f9cd2ff39075ff56c2558c785caffc8b4383 10-Feb-2012 Yang Chuang <Yang_Chuang@asus.com> Add Japanese specific key codes.

These keys are specific to Japanese hardware keyboard which can be
used by input method.

Patch ported from AOSP, with the addition of EISU and KANA mappings.

Change-Id: I647473cdd257458e3b9d134b0fc623eae946c3e0
ndroidfw/KeycodeLabels.h
8f3b8e32993d190a26c70c839a63d8ce4c3b16d9 28-Mar-2012 Romain Guy <romainguy@google.com> Allow fine-grained control over functors execution

Adds non-drawing execution mode

Change-Id: I82f92cf1b9a3b9ff2ca6d7427c4e02b73e04e6bf
rivate/hwui/DrawGlInfo.h
4be004163071d550d72389ea1772bf6a6f95d345 28-Mar-2012 Colin Cross <ccross@android.com> Move services/powermanager from frameworks/base to frameworks/native

Move services/powermanager into frameworks/native so audioflinger can
use it. Note that this is not the same as a PowerManagerService,
which is part of systemserver and handles turning the screen on and
off, etc. This is just a binder interface to allow taking wakelocks.

Change-Id: I1142e6d9ddbb651cc19ac07d946fa24d8feed8a3
owermanager/IPowerManager.h
owermanager/PowerManager.h
d927a1d99630c05ff773f0e9e8791ca9a965e020 28-Mar-2012 James Dong <jdong@google.com> Deleted the media, camera, drm related files since they are relocated

Change-Id: I9bc5573ee07e30b305b5b879023aa9ec69e10b91
ndroid_runtime/ActivityManager.h
amera/Camera.h
amera/ICamera.h
amera/ICameraClient.h
amera/ICameraRecordingProxy.h
amera/ICameraRecordingProxyListener.h
amera/ICameraService.h
ommon_time/ICommonClock.h
ommon_time/ICommonTimeConfig.h
ommon_time/cc_helper.h
ommon_time/local_clock.h
rm/DrmConstraints.h
rm/DrmConvertedStatus.h
rm/DrmInfo.h
rm/DrmInfoEvent.h
rm/DrmInfoRequest.h
rm/DrmInfoStatus.h
rm/DrmManagerClient.h
rm/DrmMetadata.h
rm/DrmRights.h
rm/DrmSupportInfo.h
rm/drm_framework_common.h
edia/AudioEffect.h
edia/AudioParameter.h
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/EffectsFactoryApi.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
edia/IAudioPolicyService.h
edia/IAudioRecord.h
edia/IAudioTrack.h
edia/ICrypto.h
edia/IEffect.h
edia/IEffectClient.h
edia/IMediaDeathNotifier.h
edia/IMediaMetadataRetriever.h
edia/IMediaPlayer.h
edia/IMediaPlayerClient.h
edia/IMediaPlayerService.h
edia/IMediaRecorder.h
edia/IMediaRecorderClient.h
edia/IOMX.h
edia/IStreamSource.h
edia/JetPlayer.h
edia/MediaMetadataRetrieverInterface.h
edia/MediaPlayerInterface.h
edia/MediaProfiles.h
edia/MediaRecorderBase.h
edia/MemoryLeakTrackUtil.h
edia/Metadata.h
edia/ToneGenerator.h
edia/Visualizer.h
edia/mediametadataretriever.h
edia/mediaplayer.h
edia/mediarecorder.h
edia/mediascanner.h
edia/stagefright/AACWriter.h
edia/stagefright/ACodec.h
edia/stagefright/AMRWriter.h
edia/stagefright/AudioPlayer.h
edia/stagefright/AudioSource.h
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
edia/stagefright/ColorConverter.h
edia/stagefright/DataSource.h
edia/stagefright/FileSource.h
edia/stagefright/JPEGSource.h
edia/stagefright/MPEG2TSWriter.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaBuffer.h
edia/stagefright/MediaBufferGroup.h
edia/stagefright/MediaCodec.h
edia/stagefright/MediaCodecList.h
edia/stagefright/MediaDefs.h
edia/stagefright/MediaErrors.h
edia/stagefright/MediaExtractor.h
edia/stagefright/MediaSource.h
edia/stagefright/MediaWriter.h
edia/stagefright/MetaData.h
edia/stagefright/NativeWindowWrapper.h
edia/stagefright/NuMediaExtractor.h
edia/stagefright/OMXClient.h
edia/stagefright/OMXCodec.h
edia/stagefright/SkipCutBuffer.h
edia/stagefright/StagefrightMediaScanner.h
edia/stagefright/SurfaceMediaSource.h
edia/stagefright/TimeSource.h
edia/stagefright/Utils.h
edia/stagefright/VideoSourceDownSampler.h
edia/stagefright/YUVCanvas.h
edia/stagefright/YUVImage.h
edia/stagefright/foundation/AAtomizer.h
edia/stagefright/foundation/ABase.h
edia/stagefright/foundation/ABitReader.h
edia/stagefright/foundation/ABuffer.h
edia/stagefright/foundation/ADebug.h
edia/stagefright/foundation/AHandler.h
edia/stagefright/foundation/AHandlerReflector.h
edia/stagefright/foundation/AHierarchicalStateMachine.h
edia/stagefright/foundation/ALooper.h
edia/stagefright/foundation/ALooperRoster.h
edia/stagefright/foundation/AMessage.h
edia/stagefright/foundation/AString.h
edia/stagefright/foundation/base64.h
edia/stagefright/foundation/hexdump.h
edia/stagefright/timedtext/TimedTextDriver.h
rivate/media/AudioEffectShared.h
rivate/media/AudioTrackShared.h
rivate/media/VideoFrame.h
56485fe62882065688e70fcb1f4b5c3894ed2c87 27-Mar-2012 Romain Guy <romainguy@google.com> Merge "Use a status_t return type for GL functors"
6554943a1dd6854c0f4976900956e556767b49e1 27-Mar-2012 Romain Guy <romainguy@google.com> Use a status_t return type for GL functors

WebView needs more fine-grained control over the behavior of the
framework upon execution of the display lists. The new status_t
allows WebView to requests its functor to be re-executed directly
without causing a redraw of the entire hierarchy.

Change-Id: I97a8141dc5c6eeb6805b6024cc1e76fce07d24cc
rivate/hwui/DrawGlInfo.h
8296628ed89d98a76a904cbca53ffeb62db8bbda 26-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "mv libcpustats from frameworks/base to /native"
30b8a65c5c2b950eaa95a0ce6792a05c30c86a08 26-Mar-2012 Glenn Kasten <gkasten@google.com> mv libcpustats from frameworks/base to /native

OK to lose history

Change-Id: I05ce0452f16a396cff6e18db5424492f3a6f6861
pustats/CentralTendencyStatistics.h
pustats/README.txt
pustats/ThreadCpuUsage.h
b3e2e24f789d41d6c38b8ad4c252cf9f6e2122d8 26-Mar-2012 Andreas Huber <andih@google.com> Merge "Provisional support for secure decryption of media streams."
9b8e496f4d143280deff137c5f30ca8907bc28db 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
edia/ICrypto.h
edia/IMediaPlayerService.h
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
edia/stagefright/MetaData.h
edia/stagefright/NuMediaExtractor.h
edia/stagefright/OMXCodec.h
edia/stagefright/foundation/AString.h
383c4b3e63b02dfb348db7504af0efefa7b6a682 26-Mar-2012 Eric Laurent <elaurent@google.com> Merge "reorganize SoundPool and JetPlayer code."
f5e18125498b768d4528e4d1c19533c2b16f338b 26-Mar-2012 Eric Laurent <elaurent@google.com> reorganize SoundPool and JetPlayer code.

Reorganize SoundPool and JetPlayer code to be ready for the
creation of libmedia_native.

Split SoundPool between libsoundpool (JNI) and libmedia(sound pool implementation).
Remove dependencies on nativehelper/jni.h from JetPlayer.

Change-Id: I130c6014173b714329929dd82c5dfb70b757a610
edia/JetPlayer.h
4acee00352b6c420f235c9b35010849ceaa9fc14 19-Mar-2012 Glenn Kasten <gkasten@google.com> Add TRACK_FAST for IAudioFlinger::createTrack

Currently not implemented by client or server

Change-Id: Ib11dda57db3eeb871bcc7b546e340078776875f5
edia/IAudioFlinger.h
39581f92482e000af2fe0575843d0752d164f9ae 26-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "IAudioFlinger::createTrack and openRecord flags"
8dd6574809cc9799cf43a7349769eaeb70b63e2d 24-Mar-2012 Colin Cross <ccross@android.com> remove jni.h include from IOMX.h

jni.h is not used in IOMX.h and is not available in pdk builds,
remove it.

Change-Id: I9bc8fd70f617942712d9f684c6fc927bf18be753
edia/IOMX.h
062ed957e0a086b70414b62529993b28072dc86c 24-Mar-2012 James Dong <jdong@google.com> Fixed missing return value from a method should have returned status_t

Change-Id: I83ad2735eaf8a8dfa5f8f29f30aec1311b3222de
edia/stagefright/SurfaceMediaSource.h
a982dc05d7ca919c07f50e446549ef9dceadf6bd 23-Mar-2012 Colin Cross <ccross@android.com> frameworks/base: move Zip* from libandroidfw to libutils

ZipUtils is needed by build/tools, move it from libandroidfw
(frameworks/base) to libutils (frameworks/native).

Change-Id: I2b4b7adcdf68eb25ee7cba5dd3b69eadf0523af3
ndroidfw/AssetManager.h
ndroidfw/ZipFileCRO.h
ndroidfw/ZipFileRO.h
ndroidfw/ZipUtils.h
bf30911bf1894506793fccea24deca2e9208b3b4 22-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Remove enforceFrameCount"
da9deca7bab75f39a236d04b9e43d9da833ce4a0 21-Mar-2012 Marco Nelissen <marcone@google.com> Support gapless playback for mp3 and m4a

Gapless playback for appropriately tagged mp3 and m4a files.
Currently this is implemented in OMXCodec, which most players
use, but should be easy to support in other players as well by
using the SkipCutBuffer utility class.

Change-Id: I748c669adc1cfbe5ee9a7dea2fad945d48882551
edia/stagefright/OMXCodec.h
edia/stagefright/SkipCutBuffer.h
2333a27ee528e97400d41838696258f29aa48688 19-Mar-2012 Glenn Kasten <gkasten@google.com> Remove enforceFrameCount

It was only used to decide whether to issue a warning.
The warning was issued the first time track was created but
not at re-creation. Now it is a verbose message every time,
not a warning since it happens all the time with key clicks on A2DP.

Change-Id: I9d39f53c0a7eb84b666e55b1b76ff830cf8f37ba
edia/AudioTrack.h
3e6792232aa0ce3e650eaa03529c9eb2fe023ca9 21-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Add MetaData::dumpToLog"
d0a524fb5946dbe4f27df2c235435e6f1bf805ae 21-Mar-2012 Marco Nelissen <marcone@google.com> Add MetaData::dumpToLog

Utility method for dumping the content of a MetaData object to the log.

Change-Id: I2d91b991e1d9fed2215e8995a73c2b1854205074
edia/stagefright/MetaData.h
32d72b2f538673466f6e0ebf01886412e803dc4f 21-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Whitespace"
54fa7254838748c4149f4e340f479fc4e3b2357d 20-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Parse mp3 encoder padding/delay"
2ed77701f908f63e072abd0e7eb1c4af61f9347f 19-Mar-2012 Marco Nelissen <marcone@google.com> Parse mp3 encoder padding/delay

Get the mp3 encoder padding and delay from a XING frame or iTunSMPB tag.

Change-Id: Icde598c8857d7e7c187a718f478ee9799d6a1b8a
edia/stagefright/MetaData.h
f743e1f6abdb018fc58c467cdf35cbb8b81cf8c4 14-Mar-2012 Glenn Kasten <gkasten@google.com> Whitespace

Fix indentation, and add blank lines in key places for clarity

Change-Id: I57a0a8142394f83203161aa9b8aa9276abf3ed7c
ommon_time/local_clock.h
edia/AudioTrack.h
84569cc4e106ff4d6c6855b46e546572c5dda6b2 06-Mar-2012 Glenn Kasten <gkasten@google.com> IAudioFlinger::createTrack and openRecord flags

createTrack and openRecord don't need the "old" flags parameter,
which was either audio_policy_output_t or audio_in_acoustics_t
shifted left by 16 bits. But they do need "new" flags, which
are defined by the application use case. Initially, the only
application use case flag is timed output, but others are planned.

For output, the audio_policy_output_t flags are passed to
AudioSystem::getOutput, which returns an audio_io_handle_t, and that
handle is then passed to createTrack. So createTrack doesn't need the
old flags parameter.

For input, the audio_in_acoustics_t flags are passed to
AudioSystem::getInput, which returns an audio_io_handle_t, and that
handle is then passed to openRecord. So openRecord doesn't need the
old flags parameter.

Change-Id: I18a9870911846cca69d420c19fe6a9face2fe8c4
edia/AudioRecord.h
edia/IAudioFlinger.h
b388138ff2986d6883fa9331fa91ae5e18ae81a0 17-Mar-2012 Eric Laurent <elaurent@google.com> resolved conflicts for merge of 3fe7ee65 to ics-mr1-plus-aosp

Change-Id: Ia7e1cd869779e9f512e840b768f5b43992c8a122
0df689495a02c4a34943330099404bd8860981c9 06-Mar-2012 Eric Laurent <elaurent@google.com> AudioTrack: relax check on minimum buffer size

Current AudioTrack implementation enforces that the requested audio
buffer size is at least corresponding the audio latency.
This requirement is too strong and leads to problems with current
stagefright and AudioSink implementations when playing over output
streams with long latency.

Ultimately, the AudioSink design should be changed to specify a minimum
buffer size in time or frames units but not in buffer count units.

Change-Id: I8ba603956f92ac49143a8249572665aa548f2f0f

Conflicts:

media/libmedia/AudioTrack.cpp
edia/AudioTrack.h
543ec1c808e0064371cdf491bb8ff1e08134ed93 16-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "If an application calls System.exit() terminate it immediately."
8d3c318b2d6690a156cc22ef6599a73bee7ed482 16-Mar-2012 Wu-cheng Li <wuchengli@google.com> Merge "Add a new camera open API that allows taking the ownership."
4280c4a93ea17f2e9d3f651e49d8c13dc3fb92aa 16-Mar-2012 Jeff Brown <jeffbrown@google.com> If an application calls System.exit() terminate it immediately.

There is no graceful way to kill Android application processes.
They typically have many threads running doing various things
When System.exit() is called, those threads just keep going
while the cleanup actions run until the process finally.

Performing shutdown actions can easily cause more harm than good.
For example, closing the Binder driver's file descriptor may
cause other threads waiting on Binder to wake up and then crash
in nasty ways after receiving EBADF.

So when an Android application exits, skip the cleanup and just
call _exit() to end it all.

Bug: 6168809
Change-Id: I29790c064426a0bf7dae7cdf444eea3eef1d5275
ndroid_runtime/AndroidRuntime.h
4d2ece12a69da02a76b0826440ac0887dd8dc9a7 15-Mar-2012 Eino-Ville Talvala <etalvala@google.com> Merge "Move CameraParameters.h to frameworks/native."
a1c41e13b521cdd611a8fc46e43b5ae0a2c00238 24-Feb-2012 Wu-cheng Li <wuchengli@google.com> Add a new camera open API that allows taking the ownership.

The purpose is to let face unlock always get the camera
successfully. What happened was the camera applications may
have opened the camera in onResume under the lock screen.
This API lets face unlock take the camera from the camera
application. A new permission will be added, so other
applicatoins won't be able to take the camera from the face
unlock.

bug:5584464

Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
amera/Camera.h
amera/ICameraService.h
bf4431bd936ae39c17e4fe34263d361f7f7ffc1e 15-Mar-2012 Eino-Ville Talvala <etalvala@google.com> Move CameraParameters.h to frameworks/native.

CameraParameters.h is indirectly required to implement the Camera
HAL. Move it to frameworks/native.

Bug: 6171735
Change-Id: I1bf4db228333be16fc7caa3c51280a9495293011
amera/CameraParameters.h
41f3f716b07265fb355ef70e89b9d7e1ad5f0a6f 16-Feb-2012 Insun Kang <insun@google.com> Defines MediaPlayer APIs to support multiple audio/video/timedtext
tracks.

o Newly introduced APIs are (MediaPlayer):
getTrackInfo() / addExternalSource() / enableTrack() / disableTrack().

o Timed text tracks are supported only, for now.

o TODOs:
- Define the audio/video behavior for enableTrack and disableTrack.
- Refactoring AwesomePlayer / TimedTextDriver so that all types of
track index can be managed in the correct order and be ready for
supporting audio/video tracks.
(MediaExtractor and MediaSource for text file might be necessary.)

Change-Id: Idb85e1b3f2ed49a64f377d05472dd6663ce94e07
edia/mediaplayer.h
edia/stagefright/MediaDefs.h
edia/stagefright/timedtext/TimedTextDriver.h
81fe4fbd6ba87a0be556c57c14de0b23cf51f179 15-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "AudioFlinger playback thread CPU measurement in Hz"
f57e2bceb9f09b0a06ebfe89cd5fd46efcfd6fc8 06-Mar-2012 Glenn Kasten <gkasten@google.com> AudioFlinger playback thread CPU measurement in Hz

Log statistics on CPU usage in Hz in addition to wall clock time

Use CPU statistics for all playback threads, not just MIXER
(but they are disabled by default by a compile-time debug macro).

ThreadCpuUsage library:
- Move statistics out of the library and leave that up to the caller
- Add API to determine a CPU's frequency

Change-Id: Ia1011123146e641fcf210ef26e78ae2b4d3b64ad
pustats/ThreadCpuUsage.h
6940484150b9ef96c93ddfb4b2dfedcaa373cb34 14-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Use correct syntax for #include <> """
c81d31c3f801ba3d559a22c27b926ace38a7ab49 13-Mar-2012 Glenn Kasten <gkasten@google.com> Use correct syntax for #include <> ""

Change-Id: I943137108668ae66f8eba18dafe069a7951bcd8f
edia/JetPlayer.h
9dc348d75688faba645c03ecd6e72de7cecc87ba 13-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix spurious ANRs in native activities."
2b6c32ca4177f1a97307f9cbd81ca485df28762c 13-Mar-2012 Jeff Brown <jeffbrown@google.com> Fix spurious ANRs in native activities.

Some native activities experienced ANRs when the input consumer
deferred an input event due to client-side batching. If the
input channel was fully emptied then the client had no way of
knowing that it should wake up to handle the deferred input event.

This patch also fixes some lock issues in the native activity
input queue implementation. In at least one error case, it
was possible for a function to exit without releasing the lock.

Bug: 6051176
Change-Id: I4d9d843237e69b9834f8d8b360031b677fcab8c3
ndroid_runtime/android_app_NativeActivity.h
ndroidfw/Input.h
ndroidfw/InputTransport.h
1c1d1e7ed7ed2673b22642c6701659146ceaa602 13-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Gapless playback, step 1."
84b832054552e00257bb04997143ca33d6d100be 29-Feb-2012 Marco Nelissen <marcone@google.com> Gapless playback, step 1.

Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly
by reusing the initial AudioTrack for subsequent players.

Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
7cd59760be0f2eb3127b375d5c8e06abfb0dd151 13-Mar-2012 James Dong <jdong@google.com> Merge "Switched to use the header files in /frameworks/native and deleted the duplicate header files in /frameworks/base"
18db49a46259020387c40fff36d92edc1087a366 13-Mar-2012 Glenn Kasten <gkasten@google.com> Whitespace and indentation

Fix indentation to be multiple of 4.
Make it easier to search:
sp< not sp < to
"switch (...)" instead of "switch(...)" (also "if" and "while")
Remove redundant blank line at start or EOF.
Remove whitespace at end of line.
Remove extra blank lines where they don't add value.

Use git diff -b or -w to verify.

Change-Id: I966b7ba852faa5474be6907fb212f5e267c2874e
edia/IAudioRecord.h
edia/IAudioTrack.h
edia/IMediaMetadataRetriever.h
edia/IMediaPlayerClient.h
edia/IMediaRecorderClient.h
edia/JetPlayer.h
edia/MediaMetadataRetrieverInterface.h
edia/MediaProfiles.h
edia/MemoryLeakTrackUtil.h
rivate/media/VideoFrame.h
e1dea48f92fd087573ac76c6acd03f5a19181ece 12-Mar-2012 James Dong <jdong@google.com> Switched to use the header files in /frameworks/native
and deleted the duplicate header files in /frameworks/base

o related-to-bug: 6044887

Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
edia/stagefright/HardwareAPI.h
edia/stagefright/MetadataBufferType.h
edia/stagefright/OMXPluginBase.h
edia/stagefright/openmax/OMX_Audio.h
edia/stagefright/openmax/OMX_Component.h
edia/stagefright/openmax/OMX_ContentPipe.h
edia/stagefright/openmax/OMX_Core.h
edia/stagefright/openmax/OMX_IVCommon.h
edia/stagefright/openmax/OMX_Image.h
edia/stagefright/openmax/OMX_Index.h
edia/stagefright/openmax/OMX_Other.h
edia/stagefright/openmax/OMX_Types.h
edia/stagefright/openmax/OMX_Video.h
db9c21e75411232c2dae8df35e821142e7243a8b 12-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Remove virtual from methods that don't need it"
28b269f3418c27275bbf635e524ed501bfac6518 07-Mar-2012 Glenn Kasten <gkasten@google.com> Use audio_policy_output_flags_t consistently

This affects:
- IAudioFlinger::openOutput
- AudioTrack::AudioTrack
- AudioTrack::set
- apps that call these

Change-Id: I26fb281bac6cb87593d17697bc9cb37a835af205
edia/AudioTrack.h
edia/IAudioFlinger.h
df0d3ab4d03d8738a606b35bf9673950844aef4a 10-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Use AudioRecord::record_flags consistently"
8d8557ad578fa43fe9b1800db03a0a53afbe78c1 09-Mar-2012 Glenn Kasten <gkasten@google.com> Remove virtual from methods that don't need it

Change-Id: I30e17e61aae25b036436c0e270313c80c43e5f06
edia/IAudioFlinger.h
f60a5d7162e22b565e5977b5f4032b9334618269 07-Mar-2012 Glenn Kasten <gkasten@google.com> Use AudioRecord::record_flags consistently

Change-Id: I6f369a2b99eb515603bc7d5629a07db2b96783fe
edia/AudioRecord.h
d10a5992f90bf915a5534de24751ca40ef2919e6 09-Mar-2012 Eric Laurent <elaurent@google.com> Merge "audio policy: use audio_devices_t when appropriate"
c9ab9f5c2cd1726a3b9e4176ce0504991cce2c70 08-Mar-2012 Eric Laurent <elaurent@google.com> audio policy: use audio_devices_t when appropriate

Change-Id: I1b3a5879e81c789fb53d356af3d3a1ee2dca955f
edia/AudioSystem.h
edia/IAudioPolicyService.h
8c79817dc6459baa2c79db88e3c3e4d5c07d6a61 08-Mar-2012 Mathias Agopian <mathias@google.com> remove files that moved to frameworks/native

Change-Id: I140d291e520097b1148930f736823650e08488f7
inder/Binder.h
inder/BinderService.h
inder/BpBinder.h
inder/IBinder.h
inder/IInterface.h
inder/IMemory.h
inder/IPCThreadState.h
inder/IPermissionController.h
inder/IServiceManager.h
inder/MemoryBase.h
inder/MemoryDealer.h
inder/MemoryHeapBase.h
inder/Parcel.h
inder/PermissionCache.h
inder/ProcessState.h
ui/BitTube.h
ui/BufferQueue.h
ui/DisplayEventReceiver.h
ui/IDisplayEventConnection.h
ui/IGraphicBufferAlloc.h
ui/ISensorEventConnection.h
ui/ISensorServer.h
ui/ISurface.h
ui/ISurfaceComposer.h
ui/ISurfaceComposerClient.h
ui/ISurfaceTexture.h
ui/Sensor.h
ui/SensorEventQueue.h
ui/SensorManager.h
ui/Surface.h
ui/SurfaceComposerClient.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
rivate/binder/Static.h
rivate/binder/binder_module.h
rivate/gui/ComposerService.h
rivate/gui/LayerState.h
rivate/gui/SharedBufferStack.h
rivate/ui/RegionHelper.h
rivate/utils/Static.h
i/ANativeObjectBase.h
i/DisplayInfo.h
i/FramebufferNativeWindow.h
i/GraphicBuffer.h
i/GraphicBufferAllocator.h
i/GraphicBufferMapper.h
i/PixelFormat.h
i/Point.h
i/Rect.h
i/Region.h
tils/AndroidThreads.h
tils/Atomic.h
tils/BasicHashtable.h
tils/BitSet.h
tils/BlobCache.h
tils/BufferedTextOutput.h
tils/ByteOrder.h
tils/CallStack.h
tils/Compat.h
tils/Condition.h
tils/Debug.h
tils/Endian.h
tils/Errors.h
tils/FileMap.h
tils/Flattenable.h
tils/Functor.h
tils/GenerationCache.h
tils/KeyedVector.h
tils/LinearTransform.h
tils/List.h
tils/Log.h
tils/Looper.h
tils/Mutex.h
tils/PropertyMap.h
tils/RWLock.h
tils/RefBase.h
tils/SharedBuffer.h
tils/Singleton.h
tils/SortedVector.h
tils/StopWatch.h
tils/String16.h
tils/String8.h
tils/StringArray.h
tils/StrongPointer.h
tils/SystemClock.h
tils/TextOutput.h
tils/Thread.h
tils/ThreadDefs.h
tils/Timers.h
tils/Tokenizer.h
tils/Trace.h
tils/TypeHelpers.h
tils/Unicode.h
tils/Vector.h
tils/VectorImpl.h
tils/ashmem.h
tils/misc.h
tils/threads.h
ffed04ac3c1dd01d66b3e96ec1314173309e7415 01-Mar-2012 Glenn Kasten <gkasten@google.com> IAudioFlingerClient::ioConfigChanged param2 const

The 3rd parameter (param2) to AudioFlingerClient::ioConfigChanged
is used as an input. So changed it from void * to const void *.
It is then cast to const OutputDescriptor *
or const audio_stream_type_t * depending on the event.

Change-Id: Ieec0d284f139b74b3389b5ef69c7935a8e5650ee
edia/AudioSystem.h
edia/IAudioFlingerClient.h
54682583ba809a315ac1e5437d7f74483e6c7ab8 06-Mar-2012 Eric Laurent <elaurent@google.com> Merge "AudioTrack: relax check on minimum buffer size"
b7fdddab0d1cfa666747a0295fcea4bfea709737 06-Mar-2012 James Dong <jdong@google.com> Merge "Remove unused code - MediaSourceSplitter"
5fe705796026a174cb20bee840e03186a3eef7de 06-Mar-2012 James Dong <jdong@google.com> Remove unused code - MediaSourceSplitter

Change-Id: Icf37832a1c234501ee3ff91ff13eece2242425ae
edia/stagefright/MediaSourceSplitter.h
bd6b74ce4626c6738bec3d59f7cca95655d1288f 06-Mar-2012 Eric Laurent <elaurent@google.com> AudioTrack: relax check on minimum buffer size

Current AudioTrack implementation enforces that the requested audio
buffer size is at least corresponding the audio latency.
This requirement is too strong and leads to problems with current
stagefright and AudioSink implementations when playing over output
streams with long latency.

Ultimately, the AudioSink design should be changed to specify a minimum
buffer size in time or frames units but not in buffer count units.

Change-Id: I8ba603956f92ac49143a8249572665aa548f2f0f
edia/AudioTrack.h
b93a765ba69a292c268694e7ac127833e00a9b63 05-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add channel mask in AudioSink"
4ed260feda32f6c51dd018e1c012e39aa63e61d4 02-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Add channel mask in AudioSink

Add support for specifying a channel mask when opening an AudioSink.
This parameter does not replace the channel count parameter in order
to not have to duplicate the logic to derive a mask from the
channel count everywhere an AudioSink is used without a known mask.

A mask of 0 (CHANNEL_MASK_USE_CHANNEL_ORDER) means a mask will
be automatically derived from the number of channels.

Update existing AudioSink implementations to use the channel mask,
and users of AudioSink to specify the mask if available, and
CHANNEL_MASK_USE_CHANNEL_ORDER otherwise.

Change-Id: Ifa9bd259874816dbc25ead2b03ea52e873cff474
edia/MediaPlayerInterface.h
edia/stagefright/MetaData.h
92454de63c8ac4ce86b8d5e756055b42e8de9368 02-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Fix typos and line length in AudioRecord comments"
720aa282791ef9405d39a15f419a41ab24f11e30 23-Feb-2012 John Grossman <johngro@google.com> Switch the way we configure for MediaPlayer retransmission.

This is a cherry-pick of I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd
with merge conflicts addressed by hand and additional changes made in
response to code review feedback.

Move in the direction of a more publishable API for configuring a
media player for retransmission. It used to be that we used a custom
invoke and a modified URL (prefixed with aahTX://). There are many
issues with this technique and it was never meant to stand the test of
time.

This CL gets rid of all that. A new (but currently hidden) method was
introduced to the java level MediaPlayer API, called
setRetransmitTarget(InetSocketAddress), which allows an app writer to
set the retransmit target. For now, this method needs to be called
before a call to setDataSource (which is pretty unusual for the
MediaPlayer API) because this mid level code uses this as a cue to
instantiate an aahTX player instead of relying on the data source to
select a player. When retranmit functionality becomes part of the
existing android player implemenation, this
set-retrans-before-set-data-source behavior can go away, along with
the aahTX player itself.

Change-Id: I3b46c5227bbf69acb2f3cc4f93cfccad9777be98
Signed-off-by: John Grossman <johngro@google.com>
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
faf88b85e27ccdba225ec8a501803224a76b9c93 01-Mar-2012 Andreas Huber <andih@google.com> Merge "Instead of hardcoding OMX component names in our code, support"
3d3864fff49715fe528b6c4a919ef75f4c2f90e2 01-Mar-2012 Andreas Huber <andih@google.com> Instead of hardcoding OMX component names in our code, support

a config file instead.

Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
edia/stagefright/ACodec.h
edia/stagefright/MediaCodecList.h
edia/stagefright/OMXCodec.h
tils/Vector.h
c95cd6bca069b11720e9b27d13f2be09162ca832 01-Mar-2012 Eric Laurent <elaurent@google.com> Merge "renamed audio policy output flag."
45d8c80dea625726f9d1a6d095161c059ce55e09 01-Mar-2012 Eric Laurent <elaurent@google.com> renamed audio policy output flag.

Renamed AUDIO_POLICY_OUTPUT_FLAG_INDIRECT to AUDIO_POLICY_OUTPUT_FLAG_NONE
which is more appropriate.

Change-Id: Ia14d60397df0f2dcd9bea0186400a09da35bc104
edia/AudioSystem.h
edia/IAudioPolicyService.h
71dea373f40ef4d35bb8b2f503693f390d1316da 01-Mar-2012 James Dong <jdong@google.com> Merge "Added permission check for all sensitive drm API calls"
d67f2cf9430810eb2bdc7b6c38b45e1ef6e1b824 29-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "AudioRecord const methods"
06dd67e305c33eaf453bdbd24593bbac6b25660e 29-Feb-2012 Mathias Agopian <mathias@google.com> Merge "get rid of MemoryHeapPmem"
0c9aa1b6fca0210353af8a153cbb0380dc83ed2d 29-Feb-2012 Andreas Huber <andih@google.com> Merge "Separate the notion of "stop" from that of "release", i.e."
5df628055789a14267be365beffc0626b7822e96 28-Feb-2012 James Dong <jdong@google.com> Added permission check for all sensitive drm API calls

o all drm calls using a DecryptHandle now check the permission before proceeding

Change-Id: Ic992a991357876c6e4bfbfab4f5eec1fa0634a13
rm/drm_framework_common.h
ee31e56a16324058025ee3090452c72901977d8a 29-Feb-2012 James Dong <jdong@google.com> Merge "Moves TimedTextDriver.h into include/media/stagefright/timedtext."
4484bdd2f99a753b0801f0c13ca8a2b7bc38695a 29-Feb-2012 Andreas Huber <andih@google.com> Separate the notion of "stop" from that of "release", i.e.

stop - means transition back to LOADED state and keeping the component
instance allocated.

release - means we get rid of the component completely.

Change-Id: I40ad01ce70821faaad43f57999249904f9144924
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
bd714b6cbe8b21ed88ef37218ab18643bdf76932 25-Feb-2012 Glenn Kasten <gkasten@google.com> AudioRecord const methods

Change-Id: Ifae4fd7820b650aaca2b13c8658c292db1c46c0f
edia/AudioRecord.h
b1badfc7484070c7cd367320cb6b8bf24ff76817 28-Feb-2012 Mathias Agopian <mathias@google.com> get rid of MemoryHeapPmem

MemoryHeapPmem is not used any longer. PMEM is not a supported
type of memory by the system anymore. a particular device might
use PMEM and need something like MemoryHeapPmem, in this case this
should be implemented in device specific code (HAL).

This will most likely break older no longer supported targets.

Change-Id: I434e4291219950018de8b793b0403bb2d92dd5cc
inder/MemoryHeapPmem.h
49d2b1864c3dfec6faff74d67cb2527a8f1af5a8 28-Feb-2012 Mathias Agopian <mathias@google.com> move CursorWindow from libbinder to libandroidfw

Change-Id: I3b304e4f74e0d0ec8b20c57296c62449c9a0f792
ndroidfw/CursorWindow.h
inder/CursorWindow.h
6f15cc959ef11fd2fbba71bc996d4a669b518b25 23-Jan-2012 Daniel Lam <dalam@google.com> Removed dependecies between BufferQueue and SurfaceTexture

Refactored SurfaceTexture and BufferQueue such that share
no protected members. Created an consumer facing interface
for BufferQueue in preparation of connecting SurfaceTexture
and BufferQueue through a binder.

Change-Id: I938e63e085128148c58d0e26c7213b30145c109f
ui/BufferQueue.h
ui/SurfaceTexture.h
f6b53db704ed449d9376b31ee5a5c97b2796f559 27-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "libutils: add a system-wide tracing utility"
c7d47ec6222690c9433023cb8a5d9a1bdd5f9c70 27-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Revert "Removed dependecies between BufferQueue and SurfaceTexture""
8335f1ccccedb6655d96d9d5b697a7f0938235dd 26-Feb-2012 Mathias Agopian <mathias@google.com> fix libgui header location

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
amera/ICamera.h
ui/BufferQueue.h
ui/IGraphicBufferAlloc.h
ui/ISurface.h
ui/ISurfaceComposer.h
ui/ISurfaceComposerClient.h
ui/Surface.h
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
rivate/gui/SharedBufferStack.h
rivate/surfaceflinger/LayerState.h
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/IGraphicBufferAlloc.h
urfaceflinger/ISurface.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
57235fc65b5920f4867e66c8263efab49e92a21b 26-Feb-2012 Mathias Agopian <mathias@google.com> split utils/threads.h into multiple headers

AndroidDefs.h - C/C++ enums and types
Mutex.h - Mutex class declaration
Condition.h - Condition class declaration
RWLock.h - RWLock class declaration
Thread.h - Thread class declaration
AndroidThreads.h - low-level thread creation functions
threads.h - includes all the above for backward source compatibility

Change-Id: Ia2f80c175333b59a41d1720985810bb2346e94cb
Note: implementations are still in Threads.cpp
tils/AndroidThreads.h
tils/Condition.h
tils/Mutex.h
tils/RWLock.h
tils/Thread.h
tils/ThreadDefs.h
tils/threads.h
7d3916ff9cd464bd064a7e075c555f9ec6ff4349 26-Feb-2012 Mathias Agopian <mathias@google.com> libagl shouldn't export anything

Change-Id: Ia823dbc56aab2a0b8a6063df4348fe6baac124c6
rivate/opengles/gl_context.h
05221052c5bf1f14db30e57ce3b60e37431c07a5 27-Feb-2012 Daniel Lam <dalam@google.com> Revert "Removed dependecies between BufferQueue and SurfaceTexture"

This reverts commit a631399f71dbc7659d2f241968f85d337726ae61
ui/BufferQueue.h
ui/SurfaceTexture.h
c3c90353f9baaba7b09ead14bc720be57244bb7e 27-Feb-2012 Jean-Baptiste Queru <jbq@google.com> Add stubs for better compatibility

Change-Id: I3fafee637f3ab239e3b870c73bcfe34cf73caf4c
ui/Surface.h
ui/SurfaceComposerClient.h
3008f0329bb5a3e4ce93ec7b597893a318b5bd11 27-Feb-2012 Insun Kang <insun@google.com> Moves TimedTextDriver.h into include/media/stagefright/timedtext.

So that other players can include TimedTextDriver.h properly.

Change-Id: I15e72bf655de8555eef6244a6c853c27a0828a1d
edia/stagefright/timedtext/TimedTextDriver.h
c108613fb8ef0fabb3f08198a52bd0877e382937 27-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Removed dependecies between BufferQueue and SurfaceTexture"
f217df6819f7cdf7e4ef857dd61036c1812d09f5 23-Feb-2012 Jamie Gennis <jgennis@google.com> libutils: add a system-wide tracing utility

This change adds some utility functionality for doing userland tracing
into the kernel trace log.

Change-Id: Id0a8cee9ea515b1d8765afd1cecf472a88b4b9e8
tils/Trace.h
af01feafc30152baf8e0a5cfddbf02bd14731fd2 25-Feb-2012 Mathias Agopian <mathias@google.com> remove dependency on android_native{s_priv|buffer}.h

Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
ui/SurfaceTextureClient.h
edia/stagefright/HardwareAPI.h
rivate/ui/android_natives_priv.h
urfaceflinger/Surface.h
i/ANativeObjectBase.h
i/EGLNativeSurface.h
i/FramebufferNativeWindow.h
i/GraphicBuffer.h
i/android_native_buffer.h
i/egl/android_natives.h
cc0eaa6582563f51c98db1b232200ac4d2a9a996 25-Feb-2012 Mathias Agopian <mathias@google.com> remove libui dependency on libEGL

Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
i/EGLUtils.h
e9d4c71f47f74ee9a4a490f62769ad010a17d19b 24-Feb-2012 Mathias Agopian <mathias@google.com> deprecate L_8, LA_88 and RGB_332 in sdk

re-add support for pixelformats L_8, LA_88 and RGB_332 in libui
for backward compatibility.

This may or may not fix 6058926

Bug: 6049685
Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53
i/PixelFormat.h
bd3db2f54edff2632bee24a595a10257a38954d7 24-Feb-2012 Glenn Kasten <gkasten@google.com> Fix typos and line length in AudioRecord comments

Change-Id: I85cfb9a2b9b3ade098161aa7687b4d4f7eb226ea
edia/AudioRecord.h
6822c97898ef6c73528d17beb161059e5032f34a 23-Feb-2012 Jean-Baptiste Queru <jbq@google.com> am 32916f7a: am fc4215ee: am 2d03a93e: Merge "Xcode 4.3 compatibility checkin"

* commit '32916f7a22f2abf5c1e7021f44c2337ca172f2e5':
Xcode 4.3 compatibility checkin
a631399f71dbc7659d2f241968f85d337726ae61 23-Jan-2012 Daniel Lam <dalam@google.com> Removed dependecies between BufferQueue and SurfaceTexture

Refactored SurfaceTexture and BufferQueue such that share
no protected members. Created an consumer facing interface
for BufferQueue in preparation of connecting SurfaceTexture
and BufferQueue through a binder.

Change-Id: Iff55e740e36a7f70c9f7a17ee7a5af38e3d21f0f
ui/BufferQueue.h
ui/SurfaceTexture.h
5c850396b39a57baabd37a9c0c8324f1bee408ca 21-Feb-2012 Andreas Huber <andih@google.com> Add new APIs AMessage::(set|find)Buffer to make it safer to pass

ABuffer objects through messages.

Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
edia/stagefright/foundation/AMessage.h
88572f7a3e9d7ef85c26865a0150f3c2041561c2 21-Feb-2012 Andreas Huber <andih@google.com> Implementation of a java media codec interface and associated tools.

Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
edia/stagefright/MediaErrors.h
edia/stagefright/NativeWindowWrapper.h
edia/stagefright/NuMediaExtractor.h
edia/stagefright/foundation/AMessage.h
69e9c30c2641add74c9a3b02d0959c0ded9e66f7 22-Feb-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Add stubs for improved compatibility"
3e3681151a231225b2b25c996bb9e85948a345a8 22-Feb-2012 Mathias Agopian <mathias@google.com> remove libui's dependency on libpixelflinger

this also remove support for unused pixelformats.

Change-Id: I2c759a6d2daa740f3786ed62095def8047ae933d
i/PixelFormat.h
cd0f3088ef4c0f211d68235d9aa0556bd4e0984b 21-Feb-2012 Jean-Baptiste Queru <jbq@google.com> Add stubs for improved compatibility

Change-Id: I77b348b4c592e0b694aabb069812c94b9cb79a00
ndroidfw/Asset.h
ndroidfw/AssetManager.h
ndroidfw/KeycodeLabels.h
ndroidfw/ResourceTypes.h
f65934a7213b39859966a7054ea5ae1a7530dcbe 21-Feb-2012 James Dong <jdong@google.com> Merge "Limit the amount of audio record data in each buffer"
7a4d92af9bdcf94d770bfa8313ad5b21c829ed96 19-Feb-2012 Al Sutton <al@funkyandroid.com> Xcode 4.3 compatibility checkin

The update compiler in Xcode 4.3 (and 4.4) requires lookups into dependant
bases of class templates to be qualified. This checkin fixes the issues
raised by the compiler by implementing the this-> recommendation from
the llvm page at http://clang.llvm.org/compatibility.html#dep_lookup_bases

Signed-off-by: Al Sutton <al@funkyandroid.com>
tils/KeyedVector.h
b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4 18-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring.

step 2: move libutils headers to their new home: androidfw

Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
ndroid_runtime/android_content_res_Configuration.h
ndroid_runtime/android_util_AssetManager.h
ndroidfw/Asset.h
ndroidfw/AssetDir.h
ndroidfw/AssetManager.h
ndroidfw/BackupHelpers.h
ndroidfw/ObbFile.h
ndroidfw/ResourceTypes.h
ndroidfw/StreamingZipInflater.h
ndroidfw/ZipFileCRO.h
ndroidfw/ZipFileRO.h
ndroidfw/ZipUtils.h
tils/Asset.h
tils/AssetDir.h
tils/AssetManager.h
tils/BackupHelpers.h
tils/ObbFile.h
tils/ResourceTypes.h
tils/StreamingZipInflater.h
tils/ZipFileCRO.h
tils/ZipFileRO.h
tils/ZipUtils.h
b93a03f841d93498bfea6cc92a22faa34bce1337 18-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring.

First step. Move libui includes to their new home: androidfw.

Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
ndroid_runtime/android_app_NativeActivity.h
ndroidfw/Input.h
ndroidfw/InputTransport.h
ndroidfw/KeyCharacterMap.h
ndroidfw/KeyLayoutMap.h
ndroidfw/Keyboard.h
ndroidfw/KeycodeLabels.h
ndroidfw/PowerManager.h
ndroidfw/VirtualKeyMap.h
i/Input.h
i/InputTransport.h
i/KeyCharacterMap.h
i/KeyLayoutMap.h
i/Keyboard.h
i/KeycodeLabels.h
i/PowerManager.h
i/VirtualKeyMap.h
d72031cee315438c4728fd3f0cce1971a9f00717 10-Feb-2012 John Grossman <johngro@google.com> Upintegreate AAH TX and RX players from ICS_AAH

Upintegrate the android at home TX and RX players developed in the
ICS_AAH branch.

Change-Id: I8247d3702e30d8b0e215b31a92675d8ab28dccbb
Signed-off-by: John Grossman <johngro@google.com>
edia/MediaPlayerInterface.h
d8cf2960d0828121d67ad0234c648f193a90c86a 09-Feb-2012 John Grossman <johngro@google.com> Upintegrate Audio Flinger changes from ICS_AAH

Bring in changes to audio flinger made to support timed audio tracks
and HW master volume control.

Change-Id: Ide52d48809bdbed13acf35fd59b24637e35064ae
Signed-off-by: John Grossman <johngro@google.com>
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioTrack.h
6c929510474caa14dc9d56826b2c65552861d6b3 15-Aug-2011 Mike J. Chen <mjchen@google.com> Upintegrate the common_time service from ics-aah.

Move the common_time service developed in the ics-aah branch back into
master.

The common_time service is a small service build to synchronize an
arbitrary timeline amongst peers on a local sub-net. While running
and configured, the service will elect a master from the set of
available devices within the subnet, define a relationship between the
common_time timeline the local time timeline (provided by the local
time HAL), and then attempt to maintain synchronization between common
and local time by controlling the frequency of the local time clock
via the HAL, or by disciplining local time in the digital domain if
the local time HAL implementation does not support HW slewing.

On its own, the native common time service will do nothing until it is
configured. The CommonTimeManagementService (running out of the
system server process) is responsible for implementing policy
regarding configuration and operation of the common_time service and
will be added in a subsequent CL.

Change-Id: I71292f9b9b1797665865689c4572c9d3a0552f64
Signed-off-by: John Grossman <johngro@google.com>
ommon_time/ICommonClock.h
ommon_time/ICommonTimeConfig.h
ommon_time/cc_helper.h
ommon_time/local_clock.h
745fcc0571f2143dd0c1f45309bae47788612999 14-Feb-2012 James Dong <jdong@google.com> Limit the amount of audio record data in each buffer

o The size of each input buffer should be less than or equal to kMaxBufferSize
o related-to-bug: 5977032

Change-Id: I04343169aac3df56694aad4ba7967ec45337ad7e
edia/stagefright/AudioSource.h
91ec0b722f659bb5e4bcc64339f2fbbe30a31287 15-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Clean up InputChannel file descriptor data type."
39eb8074deba507e037a1596168e7b762508c63f 15-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Refactored query function from SurfaceTexture into BufferQueue"
91e328984c0d1e0f95b3d37f779d9d4fa9bfe8f8 15-Feb-2012 Jeff Brown <jeffbrown@google.com> Clean up InputChannel file descriptor data type.

File descriptors are ints.

Change-Id: Ie36733bf36ddfeaa9a09ef6ebd7bd2f1788f5d27
i/InputTransport.h
4f7adcf76a6f97076c05720d9c20a221a57692cb 14-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Update comments"
b3db213eb55acb661e4b9ea40bcc00af4b76fab9 19-Jan-2012 Glenn Kasten <gkasten@google.com> Update comments

We no longer put the filename at start of file.

Change-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e
edia/AudioSystem.h
edia/AudioTrack.h
edia/EffectsFactoryApi.h
edia/IAudioTrack.h
edia/MemoryLeakTrackUtil.h
rivate/media/AudioTrackShared.h
tils/KeyedVector.h
f4e1bdc13e0c9bb6352e458bef283dfc7165e23f 14-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead code AudioTrack::getLoop"
6a20b26d99d40b32a711e6fd5da51da73949aa73 02-Feb-2012 Glenn Kasten <gkasten@google.com> AudioRecord and AudioTrack client tid

Inform AudioFlinger of the tid of the callback thread.

Change-Id: I670df92dd06749b057238b48ed1094b13aab720b
edia/AudioRecord.h
edia/IAudioRecord.h
edia/IAudioTrack.h
fbd2e64346c3b86f62fdf2c94f0e3c558e029a6d 13-Feb-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Playback rate on MediaPlayer"
2d34e0cfe7e2586b75a6f2c6646dd2e1e52c973f 13-Feb-2012 Jeff Brown <jeffbrown@google.com> Accurately track the sequence numbers of batched events.

Instead of sending finished signals immediately when appending to
a batch, record the chain of sequence numbers that were part of
the batch and then send finished signals all at once when done.
This change helps the dispatcher keep track of the true state
of the application and can improve ANR detection slightly.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420
Change-Id: I463c2221e2aa8fdf1c3d670c18e39e59ab69b0db
i/InputTransport.h
90fde93c473aca5a33dc41c989bb2fdc5f2b1485 13-Feb-2012 Jeff Brown <jeffbrown@google.com> Enable deferred input messages to be batched.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420
Change-Id: I6874d2128e880a35c6c33890c858cc6ee22af0fd
i/InputTransport.h
e901a5c29b81ace1c7f185ca4e62404f03c4c43d 02-Feb-2012 Jean-Michel Trivi <jmtrivi@google.com> Playback rate on MediaPlayer

Add support for modifying the playback rate of a MediaPlayer
by altering the sample rate of its AudioTrack.
The playback rate is expressed in permille, where 1000 is the
playback at normal speed.

Change-Id: I981d060ab32f7bae7a767e82c60c88ae635dceed
edia/MediaPlayerInterface.h
edia/mediaplayer.h
edia/stagefright/AudioPlayer.h
072ec96a4900d4616574733646ee46311cb5d2cb 07-Feb-2012 Jeff Brown <jeffbrown@google.com> Implement batching of input events on the consumer side.

To support this feature, the input dispatcher now allows input
events to be acknowledged out-of-order. As a result, the
consumer can choose to defer handling an input event from one
device (because it is building a big batch) while continuing
to handle input events from other devices.

The InputEventReceiver now sends a notification when a batch
is pending. The ViewRoot handles this notification by scheduling
a draw on the next sync. When the draw happens, the InputEventReceiver
is instructed to consume all pending batched input events, the
input event queue is fully processed (as much as possible),
and then the ViewRoot performs traversals as usual.

With these changes in place, the input dispatch latency is
consistently less than one frame as long as the application itself
isn't stalled. Input events are delivered to the application
as soon as possible and are handled as soon as possible. In practice,
it is no longer possible for an application to build up a huge
backlog of touch events.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d
ndroid_runtime/android_app_NativeActivity.h
i/InputTransport.h
cbee6d6ede0499fb4a2c00bfc00d5db8d9ed5139 04-Feb-2012 Jeff Brown <jeffbrown@google.com> Rewrite input transport using sockets.

Since we will not longer be modifying events in place, we don't need
to use an ashmem region for input. Simplified the code to instead
use a socket of type SOCK_SEQPACKET.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I05909075ed8b61b93900913e44c6db84857340d8
i/InputTransport.h
8e9d67a1356881d7dce75c83d8c6639a562d1a7a 07-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
edia/stagefright/MediaDebug.h
a573f6a1d9b12393fbdfd2c0850499973849854b 10-Feb-2012 Dianne Hackborn <hackbod@google.com> Some hardening of isolated processes by restricting access to services.

Services now must explicitly opt in to being accessed by isolated
processes. Currently only the activity manager and surface flinger
allow this. Activity manager is needed so that we can actually
bring up the process; SurfaceFlinger is needed to be able to get the
display information for creating the Configuration. The SurfaceFlinger
should be safe because the app doesn't have access to the window
manager so can't actually get a surface to do anything with.

The activity manager now protects most of its entry points against
isolated processes.

Change-Id: I0dad8cb2c873575c4c7659c3c2a7eda8e98f46b0
inder/BinderService.h
inder/IServiceManager.h
f7c761e5d31146a1fbd2a51d9adfe17cc61ad4c1 31-Jan-2012 Daniel Lam <dalam@google.com> Refactored query function from SurfaceTexture into BufferQueue

Change-Id: Id1cb6cc38d01edb4fcfcad867c5a7693bdcc3ab1
ui/BufferQueue.h
ui/SurfaceTexture.h
1c90e73f5d22c3d8e07b236ec8f33a42c01e056f 09-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue."
6c9ddd2cbbdf59eaa1bdd83e7b6b0bc7d32bf7ca 08-Feb-2012 Glenn Kasten <gkasten@google.com> Remove dead code AudioTrack::getLoop

Change-Id: I868329c52f31bc20125f068500d8f892b4ec9796
edia/AudioTrack.h
e1a409ba68087c66238c986b270c17932e39f0ba 08-Feb-2012 James Dong <jdong@google.com> Merge "Enable B frame support in MPEG4Writer"
39d00cb442985723295540468610b5c612d251c9 17-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_io_handle_t consistently instead of int

Other:
- add a comment to nextUniqueId
- made ThreadBase::mId const, since it is only assigned in constructor.

Change-Id: I4e8b7bec4e45badcde6274d574b8a9aabd046837
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
6731333584b3065b30a371519a14ea005057061a 30-Jan-2012 Glenn Kasten <gkasten@google.com> Effect UUID inputs passed by pointer are const

Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
edia/AudioEffect.h
edia/EffectsFactoryApi.h
edia/IAudioFlinger.h
1b33107f3798636cb85cc876b17d4e2adbf1294a 08-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Don't double destruct audio_track_cblk_t"
1e3a8d3090f2a33562201f95f736949a8d2df576 08-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead mutex in AudioTrack/AudioRecord thread"
09b9ba0db29aaebe682b7391d93ae179b8bd8ee8 08-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "AudioTrack declare more methods const"
16d64ad699b2dc91d5e1f149a3de645cf83ec965 08-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Declare more IAudioFlinger methods const"
7251673821202960b38742f14d8bfa122a1843d2 07-Feb-2012 James Dong <jdong@google.com> Enable B frame support in MPEG4Writer

This patch allows us to automatically detect whether ctts box is needed in MPEG4Writer.
MPEG4Writer uses ctts version 0 (non-negative offset value) store the composition time
offset on a needed basis.

Currently, the size of the ctts box is not optimized. Optimization will be addressed
in a subsequent patch.

o also changed the private method retrieveDecodingTime(bool) in OMXCodec
to getDecodingTime()

o related-to-bug: 4232183

Change-Id: Ic6dc7b25ecd258c2506ca4b9c25156e922456e51
edia/stagefright/OMXCodec.h
68c02e25e84e9814d313b43680631b98e25fa6d5 08-Feb-2012 Romain Guy <romainguy@google.com> Merge "Preliminary support for clipRect(Rect, Op)"
967e2bf3ac8943a8e8a374bf86021915445cda67 08-Feb-2012 Romain Guy <romainguy@google.com> Preliminary support for clipRect(Rect, Op)

This adds basic support for clip regions. It is currently disabled at compile
time. Enabling clip regions will require setting up a stencil buffer.

Change-Id: I638616a972276e38737f8ac0633692c3845eaa74
i/Region.h
70e80aacf98414a6acee0d0e5eb1a7b5df7daccb 23-Jan-2012 Daniel Lam <dalam@google.com> Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue.

Change-Id: I514f6b802f6b49c9ae27bed37bf0b9d23da03c9a
ui/BufferQueue.h
ui/SurfaceTexture.h
f5a9f439b6560f286a9326212c8cd44034cc6d78 04-Feb-2012 James Dong <jdong@google.com> Don't call virtual function in destructor of SurfaceMediaSource

Change-Id: I3cbc2b1222335b61c814b5cdcfaefa495148b0ec
edia/stagefright/SurfaceMediaSource.h
cea2c396c5846a77c1427b9301e712beabe3f13d 04-Feb-2012 James Dong <jdong@google.com> Merge "Don't call virtual functions in the destructor for audio and camera source classes"
d9d68dcb62760e561fadc061b593e8c76bce85d6 03-Feb-2012 Glenn Kasten <gkasten@google.com> Don't double destruct audio_track_cblk_t

Fortunately audio_track_cblk_t doesn't have a destructor, but for clarity
remove the double destruction.

Also add warning not to add any virtuals to audio_track_cblk_t.

Change-Id: I70ebe1a70460c7002145b2cdf10f9f137396e6f3
rivate/media/AudioTrackShared.h
7c2e37dd32d42f1398a48d2ca6a51cf2e96b9893 04-Jan-2012 Glenn Kasten <gkasten@google.com> AudioTrack declare more methods const

Change-Id: I4999e984460893961d0d8092cff17f3cf07d7214
edia/AudioTrack.h
3f6d83a68a2d95905904b3352db677e55363591c 27-Jan-2012 Glenn Kasten <gkasten@google.com> Declare more IAudioFlinger methods const

This is just documentation, as C++ method const-ness doesn't mean anything
for a binder API. Instead, here const means "no side effects".

Change-Id: Iaa9cd2fe477db10ae9a40cac4f79f0faa9b4e5e6
edia/AudioEffect.h
edia/IAudioFlinger.h
4651c0ea80d0b64f8c689d8257b86414628daf9d 04-Feb-2012 James Dong <jdong@google.com> Merge "Don't call virtual functions in destructors for the writer classes"
1ef7d13172248848805b9ceb6161b0741d8580dd 03-Feb-2012 Amith Yamasani <yamasani@google.com> Merge "Multi-user - 1st major checkin"
742a67127366c376fdf188ff99ba30b27d3bf90c 04-May-2011 Amith Yamasani <yamasani@google.com> Multi-user - 1st major checkin

Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)

Added ServiceMap for separating services by user
Launch PendingIntents on the correct user's uid
Fix task switching from Recents list
AppWidgetService is mostly working.

Commands added to pm and am to allow creating and switching profiles.

Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
inder/IPCThreadState.h
f55bc56490660e8eff92ff1f97607d6e78826629 03-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_in_acoustics_t consistently"
191c849283e8045a64a8f2c3472798c029416086 03-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Use ToneGenerator::tone_type consistently"
3694ec1f19070e49480afefc52b8f0a50cedcc20 28-Jan-2012 Glenn Kasten <gkasten@google.com> Use NULL not 0 for raw pointers

Use if (p != NULL) instead of if (ptr)

Change-Id: Iaec3413a59ccbf233c98fcd918cc7d70ac5da9fa
edia/AudioEffect.h
edia/AudioRecord.h
edia/AudioTrack.h
edia/Visualizer.h
08d5eb9885a9c0e7ed5c3b6ae436af15b9cf3b54 03-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Make AudioTrack control block volume field private"
946ab0ff302608f3209a3aa50d811d54932c3d8e 03-Feb-2012 James Dong <jdong@google.com> Don't call virtual functions in the destructor for audio and camera source classes

Change-Id: Ia74ffc1c0cbd7971697f5e3c476e340ec5c7727a
edia/stagefright/AudioSource.h
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
b545eaa9cbe39b8209a40044aa0a5f00846278d4 03-Feb-2012 Mathias Agopian <mathias@google.com> Merge "separate transactions from updates"
c2240b127b6651968e51b5209a9826645009b872 03-Feb-2012 James Dong <jdong@google.com> Don't call virtual functions in destructors for the writer classes

Have not found any concrete bugs related to these calls yet, but we should avoid
calling virtual functions in destructors, regardless.

Change-Id: I2d47b79d3fb2d29f418619bee83aa147d232a5d4
edia/stagefright/AACWriter.h
edia/stagefright/AMRWriter.h
edia/stagefright/MPEG2TSWriter.h
edia/stagefright/MPEG4Writer.h
91a7b145dfc677fa511c1aea44c1ef8b09a77e96 02-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "More audio_stream_type_t"
ac1748ce3301b3dab3c1aa6c0d35fa877554ebbb 02-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Thread::getTid returns pid_t gettid() after run"
4b80abcdd5e28deb6991bd50a208b66162f90024 02-Feb-2012 Glenn Kasten <gkasten@google.com> Remove dead mutex in AudioTrack/AudioRecord thread

The client callback threads had mutexes called AudioTrackThread::mLock
and ClientRecordThread::mLock. These mutexes were only used by start()
and stop(), and were unused by the thread itself. But start() and
stop() already have their own protection provided by AudioTrack::mLock
and AudioRecord::mLock. So the thread mutexes can be removed.

Change-Id: I098406d381645d77fba06a15511e179a327848ef
edia/AudioRecord.h
edia/AudioTrack.h
9a9dbd5921b6c138673eea206a1a067a01928cb5 01-Feb-2012 Mathias Agopian <mathias@google.com> separate transactions from updates

with this changes, SF transactions are handled as soon as possible
but do not trigger updates. the update is delayed until the next
vsync.

this allows us to work much better without requiring triple-buffering.

Change-Id: I1fa10794d0cf742129f0877698b7b1e1f2ec7401
ui/DisplayEventReceiver.h
dcaf1adcb685759bad2b4720b650a63b76b278b9 01-Feb-2012 Mathias Agopian <mathias@google.com> Merge "fix an issue with vsync event delivery"
58737fe96d9e5027e36a983161ab1888592b3eb8 01-Feb-2012 Mathias Agopian <mathias@google.com> fix an issue with vsync event delivery

vsync events were sometimes delivered to connected
client who didn't request them. this happened if
another client requested the delivery and that client
was first in the client list.

also fix the vsync test which didn't request any events as
well as DisplayEventReveiver documentation which was misleading
about the necessity to request vsync events.

Change-Id: Ie990fda3f337f8f0042745c4b2cde67936c45686
ui/DisplayEventReceiver.h
6c997a9e880e08c354ffd809bd62df9e25e9c4d4 31-Jan-2012 Dianne Hackborn <hackbod@google.com> aapt now sorts the strings in the resource string pool.

In our current environment with very many translations, this can
save a lot of RAM -- for example over 200K in Gmail just by sorting
the strings in the Gmail .apk (not the framework).

Also add a new aapt command to print the contents of the resource
table string pool.

Change-Id: I1da037b3e2c377b890833ff57ab158965314ac48
tils/ResourceTypes.h
f6b4ca408e6690cebfd52badd6f73c01b3c45037 31-Jan-2012 Andreas Huber <andih@google.com> Slighly improve the API to discover if the OMX stack is running in the local

process.

Change-Id: Idd3c2f0d4a9542af01a3fdfd3b0bfab90e083505
edia/IOMX.h
b7cffb41400a3ecba1a68705a51e9127ff6b8fef 20-Jan-2012 Glenn Kasten <gkasten@google.com> More audio_stream_type_t

Change-Id: I1260259efe0aa3fc1ef13de69758aaa592e1f815
edia/AudioSystem.h
23f7ad39ef52c0ac0a94934a71b6802c0a806b7f 28-Jan-2012 Glenn Kasten <gkasten@google.com> Use ToneGenerator::tone_type consistently

Also remove defaults in startToneCommand(), they're not needed and the
default for tone type was nonsense.

Change-Id: I70fa8cee4f3dbb8c66ceb3719c8d3d2f447f05b9
edia/ToneGenerator.h
882c0a20c5ff34e320e0dd5a30b441954335adae 27-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_in_acoustics_t consistently

Change-Id: I0a9dd668fb2e57b1c3ece3190588194974b99062
edia/IAudioFlinger.h
c14639a9a1dfda34f828e2a6d774edfe5c3c6919 27-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_source_t consistently"
0f0fbd9441f40c6f99470b89774e397f99bf61eb 23-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_source_t consistently

Was a mix of audio_source_t, uint8_t, and int.

Related fixes:
- fix comments in MediaRecorder.java
- AudioPolicyService server side was not checking source parameter at
all, so if the client wrapper was bypassed, invalid values could be
passed into audio HAL
- JNI android_media_AudioRecord_setup was checking source for positive
values, but not negative values. This test is redundant, since already
checked at Java and now checked by AudioPolicyService also, but might
as well make it correct.

Change-Id: Ie5e25d646dcd59a86d7985aa46cfcb4a1ba64a4a
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioPolicyService.h
edia/stagefright/AudioSource.h
afe02df45e6c58aa2d6779f7b51a05bf9d413446 26-Jan-2012 Andreas Huber <andih@google.com> The software AAC encoder is now an OMX component.

Yay.

Change-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de
edia/stagefright/OMXCodec.h
d96e3dfa02b203b1fc826e80d6f9aa074ba9c250 26-Jan-2012 Dianne Hackborn <hackbod@google.com> Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.

Change-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598
tils/ResourceTypes.h
34f9f8bb8384b9045bc6aff9289bd1cb8705f427 21-Jan-2012 Glenn Kasten <gkasten@google.com> Remove AudioFlinger dependencies on client

Change-Id: Ibb591e41a3ca5d7015e2b66b98b8fef5f415fb37
edia/AudioTrack.h
bc4de888c12f1ad9aec8c9b2a0addaaa73dceae9 17-Jan-2012 Glenn Kasten <gkasten@google.com> Make AudioTrack control block volume field private

This is part of the process of abstracting the control block
to make it easier to maintain.

Change-Id: Idb8f461e68dab3bcf268159cc0781651c6fb7094
rivate/media/AudioTrackShared.h
0a204ed0f58a9baaac5630864cd75495486c6cbe 12-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_format_t consistently, continued

Was int or uint32_t.

When AudioFlinger::format can't determine the correct format,
return INVALID rather than DEFAULT.

Init mFormat to INVALID rather than DEFAULT in the constructor.
Subclass constructors will set mFormat to the correct value.

Change-Id: I9b62640aa107d24d2d27925f5563d0d7407d1b73
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
15f51ccee1fb4aaf9296998e68156903f0657098 20-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead file include/media/thread_init.h"
7524a592526a14d20ec3f3acffd61fe18afaa4b4 20-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead setRingerMode(mode, mask)"
933e85615059b85a87747da57288384541cc56da 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)

Change-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a
tils/ResourceTypes.h
96f46033b4ea89992160cf0ec5a64528b003ed3e 19-Jan-2012 Glenn Kasten <gkasten@google.com> Remove dead file include/media/thread_init.h

Change-Id: I98688bb7109b5f82953988935c7c33fe3c7f4ec0
edia/thread_init.h
92ecdd63033a53b3c6301a9dc94c2438e498f27b 19-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Fix incorrect includes of AudioTrack.h"
a6dafea172ac344f38cf4255c8896766f10b7b55 18-Jan-2012 Glenn Kasten <gkasten@google.com> Fix incorrect includes of AudioTrack.h

Remove unnecessary includes of AudioTrack.h.
Use forward declaration of class names in preference to #include when possible.

Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
edia/AudioRecord.h
ee7fea9f2fd536107450204c9c2058bbe215f713 18-Jan-2012 Glenn Kasten <gkasten@google.com> Remove dead setRingerMode(mode, mask)

Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
edia/AudioSystem.h
edia/IAudioPolicyService.h
28ea013f25626ca2a24600b5916ebe0dfc9e46cf 18-Jan-2012 Andreas Huber <andih@google.com> Temporarily restore AudioSystem/AudioTrack APIs with their former signatures

until we get updated prebuilts from vendor.

Change-Id: I8aae81d2513edca0ab268053a11c8c4206879e61
edia/AudioSystem.h
edia/AudioTrack.h
540c35f7aa01f7eba849148ea8b22eff351ce16d 18-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Track volume cleanup"
ad3f5145fe513c4abb36388ab41508edf2be2a7c 12-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOG() to (IF_)ALOG()

Change-Id: If49c81a2793182771c6160fbca93905daa6f44c1
inder/CursorWindow.h
1be4afecb752559092654c0e9f4ca302b6d04e9c 18-Jan-2012 Eric Laurent <elaurent@google.com> Merge "audio framework: manage stream volume per device"
0632bad8bad41bc44184596478ec2d203d52096f 17-Jan-2012 Glenn Kasten <gkasten@google.com> Track volume cleanup

Always read and write track volumes atomically. In most places this was
already being done, but there were a couple places where the left and
right channels were read independently.

Changed constant MAX_GAIN_INT to be a uint32_t instead of a float.
It is always used as a uint32_t in comparisons and assignments.
Use MAX_GAIN_INT in more places.

Now that volume is always accessed atomically, removed the union
and alias for uint16_t volume[2], and kept only volumeLR.

Removed volatile as it's meaningless.

In AudioFlinger, clamp the track volumes read from shared memory
before applying master and stream volume.

Change-Id: If65e2b27e5bc3db5bf75540479843041b58433f0
rivate/media/AudioTrackShared.h
9bc8358ddaa01c3490f9709991989633a6a3dd42 19-Nov-2011 Eric Laurent <elaurent@google.com> audio framework: manage stream volume per device

Improve volume management by keeping track of volume for each type
of device independently.
Volume for each stream (MUSIC, RINGTONE, VOICE_CALL...) is now maintained
per device.

The main changes are:
- AudioService now keeps tracks of stream volumes per device:
volume indexes are kept in a HashMap < device , index>.
active device is queried from policy manager when a volume change request
is received
initalization, mute and unmute happen on all device simultaneously
- Settings: suffixes is added to volume keys to store each device
volume independently.
- AudioSystem/AudioPolicyService/AudioPolicyInterface: added a device argument
to setStreamVolumeIndex() and getStreamVolumeIndex() to address each
device independently.
- AudioPolicyManagerBase: keep track of stream volumes for each device
and apply volume according to current device selection.

Change-Id: I61ef1c45caadca04d16363bca4140e0f81901b3f
edia/AudioSystem.h
edia/IAudioPolicyService.h
fb6b5bdcea04c1fa6ccd046373f5ad3a62784713 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_mode_t consistently"
55fa4fb4a7926a4cae07b725f01d6498cbeabb4f 17-Jan-2012 Glenn Kasten <gkasten@google.com> Rename Visualizer::mLock

This avoids confusion with parent class AudioEffect's mLock which is
protected.

Change-Id: I2ae0b0869fe3c606f682252973795b34477951d0
edia/Visualizer.h
06a864413f03627ba7671d1c19ae114e3afaad4b 12-Jul-2011 Glenn Kasten <gkasten@google.com> Thread::getTid returns pid_t gettid() after run

This is needed when the parent or any other thread besides the child
needs access to the child's kernel tid.

Change-Id: Ib148505913eb78314cfd76657c30d7b20663dffd
tils/threads.h
8c17a2f0884527c3ce42a2c6dbd073014d179b53 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use size_t for frame size"
3c6b9cca79c872427599a325bcbb5d4a00113d80 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_stream_type_t consistently"
dd3ca2e268bc638fb57092a4e12df84cf2c5a6a9 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "AudioTrack and AudioFlinger send level cleanup"
4790bd8be850235e9c6f1acf1e1e6146ef2996b3 03-Jan-2012 Glenn Kasten <gkasten@google.com> AudioTrack and AudioFlinger send level cleanup

Add an API to control block for getting/setting send level.
This allow us to make the mSendLevel field private.

Document the lack of barriers.

Use 0.0f to initialize floating-point values (for doc only).

Change-Id: I59f83b00adeb89eeee227e7648625d9a835be7a4
rivate/media/AudioTrackShared.h
4bedb481036fbc6b72e5c0c620b569b508d3be16 14-Jan-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix compilation with Clang."
faf354dc7f8065a90174adb6e725603176f0044f 11-Jan-2012 Glenn Kasten <gkasten@google.com> Use size_t for frame size

except in the control block, where we don't have room.

In AudioFlinger::ThreadBase::TrackBase::getBuffer,
read the frame size from control block only once.

Change-Id: Id6c4bccd4ed3e07d91df6bbea43bae45524f9f4e
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
bc1d77b6cbce23fbe25f7231651037ae195bc90e 13-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_stream_type_t consistently

At native level it was a mixture of audio_stream_type_t, int, uint32_t,
and uint8_t. Java is still int. Also fixed a couple of hard-coded -1
instead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0
instead of AUDIO_STREAM_VOICE_CALL.

Change-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/ToneGenerator.h
edia/mediaplayer.h
0922328270d2ec55a7f9407dfaac2d482e3f59cb 13-Jan-2012 Evgeniy Stepanov <eugenis@google.com> Fix compilation with Clang.

warning: extraneous template parameter list in template specialization
template<>

Change-Id: If3e3e1d06a018343b40ac0984dfd9ecc12629f8d
tils/TypeHelpers.h
b5c6ff59930a4f7b7efbcfac143fd4aed4315cb9 13-Jan-2012 James Dong <jdong@google.com> Merge "Separate sniffing from session initialization"
d1ba6ed94543b6d2af666e01f4ffd29412511400 10-Jan-2012 James Dong <jdong@google.com> Separate sniffing from session initialization

This avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened

o The change is backward compatibile in that no update is required
for existing drm plug-ins if they do not plan to provide separate
sniffer/extractor

related-to-bug: 5725548

Change-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c
rm/DrmManagerClient.h
edia/stagefright/DataSource.h
edia/stagefright/FileSource.h
edia/stagefright/MediaExtractor.h
2fdc357bc66b97614455c5148562a5dfb650c1b7 12-Jan-2012 Mathias Agopian <mathias@google.com> Merge "remove dead/usnused code"
1c66547ba25be6a1893df0ae26857f649474843a 12-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_format_t consistently"
accb114e59ca51f2a7d370f64de8e98bde158c51 04-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_mode_t consistently

It was int or uint32_t.
Also make getMode() const.

Change-Id: Ibe45aadbf413b9158e4dd17f2b3bcc6355288d37
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
0db7590ed2785cfa8973dbcb6b93627ea02774ce 07-Jan-2012 Mathias Agopian <mathias@google.com> remove dead/usnused code

Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
i/GraphicLog.h
c57b0631925c0dc00a023216027037a7f7db682f 11-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Fix bug in JetPlayer::loadFromFile"
f733831fc735ec9bdf7465dd64f861ffb7f42924 11-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Declare IAudioTrack methods in binder opcode order"
77b6aaf62d9f4ba4c653090e4d79b46228cdcdef 10-Jan-2012 Glenn Kasten <gkasten@google.com> Fix bug in JetPlayer::loadFromFile

A long pathname would corrupt the heap due to incorrect use of strncpy.

Also was using hard-coded constant 256 instead of PATH_MAX.

Change-Id: Iba382bbb38624fbc41fec91449f9814f77d4ac0d
edia/JetPlayer.h
8cf6d6f1480e760e6953bdea9fe9ab29f1e03aa8 09-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Clean up AudioTrack::mActive and stopped()"
3762c311729fe9f3af085c14c5c1fb471d994c03 06-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: Ic9c19d30693bd56755f55906127cd6bd7126096c
tils/GenerationCache.h
798ef8e882957e3edada7539c471ecc9c3721809 03-Jan-2012 Glenn Kasten <gkasten@google.com> Declare IAudioTrack methods in binder opcode order

This makes it easier to match up the declarations.

Change-Id: I0996c20b2903b778b356dfe52b07b0ec634855dd
edia/IAudioTrack.h
1c5a89d4af193e3ce9be9992ffee0ab0a4d8da5a 04-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_format_t consistently

Was int, uint32_t, uint16_t, and uint8_t with 2-bit bitfield.
Also replace 0 by AUDIO_FORMAT_DEFAULT and replace 1 by
AUDIO_FORMAT_PCM_16_BIT.

Change-Id: Ia8804f53f1725669e368857d5bb2044917e17975
edia/AudioTrack.h
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
e6810ffaa19c6ad747d6f3ae7a38c7f572e9281e 03-Jan-2012 Glenn Kasten <gkasten@google.com> Clean up AudioTrack::mActive and stopped()

mActive is protected by mLock; volatile is meaningless on SMP.

Fixed a couple of places where mActive was accessed without a lock:
- stopped()
- processAudioBuffer()

Added stopped_l() for cases where we already hold the lock.

Made mActive a bool not int.

Moved down a lock in setPosition that was being acquired too early.

Change-Id: I73ff368e991c0db9f9472df0b3f96fd33fcc7311
edia/AudioTrack.h
6215d3ff4b5dfa52a5d8b9a42e343051f31066a5 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: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
tils/ResourceTypes.h
44fcb83b38b062a650ddf556fe7f5e34905df9ea 15-Dec-2011 Joe Onorato <joeo@google.com> Add a new ui mode for "appliance"

The idea is that this is a device which is more-or-less headless. It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.

Change-Id: Ib92f53a120bf83de781728011721a4859def7d9f
tils/ResourceTypes.h
e5fb263a3625c0e6b4a9aefa86067bb9463dd06d 14-Dec-2011 Glenn Kasten <gkasten@google.com> Audio C++ comments

Change-Id: I84906ebb9dfcfa5b96b287d18364b407f02a30c1
edia/AudioTrack.h
edia/IAudioTrack.h
rivate/media/AudioTrackShared.h
d3209c1bb21ce026d4e41464740e3d8f57cdd56f 09-Dec-2011 Romain Guy <romainguy@google.com> Merge "GenerationCache::get would return a random value instead of NULL Bug #5401917"
46b9f7cc2047ac16ecf36ffb6c6d3def0a5f5ccb 09-Dec-2011 Romain Guy <romainguy@google.com> GenerationCache::get would return a random value instead of NULL
Bug #5401917

This was causing a ton of random crashes in apps.

Change-Id: I9069a060824ec89115cd3bcd38beaeb9ecc4488e
tils/GenerationCache.h
6779df2c28a68616134b1988f009221652d9f2ad 07-Dec-2011 Mathias Agopian <mathias@google.com> Improve the VSYNC api a bit.

- add the ability to set the vsync delivery rate, when the rate is
set to N>1 (ie: receive every N vsync), SF process' is woken up for
all of vsync, but clients only see the every N events.

- add the concept of one-shot vsync events, with a call-back
to request the next one. currently the call-back is a binder IPC.

Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
ui/DisplayEventReceiver.h
ui/IDisplayEventConnection.h
993b2099cee5c3ad86a5fbbd29194994336187be 30-Nov-2011 Mathias Agopian <mathias@google.com> am 55d3880e: am bb1e7d43: Merge changes I7e973a35,Ib3386fcc into ics-mr1

* commit '55d3880eed3450748eb7b97281e030902ee29c2a':
SurfaceTexture: add EGL_KHR_fence_sync option
SurfaceTexture: add a blit-to-FBO test
df96385b9acf9ec74c62edc34ffa9c8d9dae1c03 30-Nov-2011 Jamie Gennis <jgennis@google.com> am c040e1e7: am 6f1dd757: Merge "SurfaceMediaSource: use the vid enc usage bit" into ics-mr1

* commit 'c040e1e77923d81050f2d3dbdac5d07e01be72f6':
SurfaceMediaSource: use the vid enc usage bit
bb1e7d4324ff43491c526c77f405bbbf0cece611 30-Nov-2011 Mathias Agopian <mathias@google.com> Merge changes I7e973a35,Ib3386fcc into ics-mr1

* changes:
SurfaceTexture: add EGL_KHR_fence_sync option
SurfaceTexture: add a blit-to-FBO test
6f1dd757cb158d17c76baeb170f7db2271802ef8 30-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceMediaSource: use the vid enc usage bit" into ics-mr1
77cec6132aea6ed98812125f5ad5f79e889cf658 14-Nov-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add EGL_KHR_fence_sync option

This change adds a compile-time option for SurfaceTexture to use the
EGL_KHR_fence_sync extension to synchronize access to Gralloc buffers.

Bug: 5122031
Change-Id: I7e973a358631fff5308acf377581b811911fe790
ui/SurfaceTexture.h
e7b3e09a5ed21dab938a7efdc215bb20d2769702 30-Nov-2011 Andreas Huber <andih@google.com> am 52607c53: am d12dc284: Merge "If an error occurs that prevents us from reallocating buffers during a format change" into ics-mr1

* commit '52607c5364446df6ac5b2f55cb50e146e6023a4f':
If an error occurs that prevents us from reallocating buffers during a format change
848bffd8fa07f0e16d0ac5eed95085288ff43d9f 30-Nov-2011 Andreas Huber <andih@google.com> am 074133b2: am 351143fb: Merge "Updated (internal) API for IStreamSource to signal discontinuities" into ics-mr1

* commit '074133b260f8d12e484e93b9aa5a33a4983b7349':
Updated (internal) API for IStreamSource to signal discontinuities
d12dc28460f622ab29e83fa688ad83a8263e9417 29-Nov-2011 Andreas Huber <andih@google.com> Merge "If an error occurs that prevents us from reallocating buffers during a format change" into ics-mr1
351143fb0e2fcfb7dc2ef1045d693c71eb0ea329 29-Nov-2011 Andreas Huber <andih@google.com> Merge "Updated (internal) API for IStreamSource to signal discontinuities" into ics-mr1
0475f82c95e6e9657580820b16b0e48d814119b5 29-Nov-2011 Jeff Brown <jeffbrown@google.com> am c339fe30: am be6ab576: Merge "Fix application launch shortcuts." into ics-mr1

* commit 'c339fe302bc5083f0a110569eec06676be511088':
Fix application launch shortcuts.
79f39eb46055282c86815853ad94a1e01ca6675f 18-Nov-2011 Mathias Agopian <mathias@google.com> Add support for sending VSYNC events to the framework

use gui/DisplayEvent to receive the events. Events are
dispatched through a unix pipe, so the API is compatible
with utils/Looper. see gui/DisplayEvent.h for more info.

Bug: 1475048
Change-Id: Ia720f64d1b950328b47b22c6a86042e481d35f09
ui/DisplayEventReceiver.h
ui/IDisplayEventConnection.h
urfaceflinger/ISurfaceComposer.h
f9e88fbee04f83638b07546741196bd4c242ef54 29-Nov-2011 Mathias Agopian <mathias@google.com> Fix build.

Revert "Add support for sending VSYNC events to the framework"

This reverts commit f3918c5bd4bc9f02f74da42995564150ca2dd382.

Change-Id: I998e3e1aa3fa310829ae973b64fe11b01f6f468f
urfaceflinger/ISurfaceComposer.h
6651a638348c15e89e265b0a53c775cac9beafa2 28-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix application launch shortcuts.

Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.

Added a set of Intent categories for typical applications on the
platform.

Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys. Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos. The goal is to encourage them
to stop doing this by implementing more of HID.

Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
i/KeycodeLabels.h
a10613fea8e9d8a73385d37ad92f9c56d8828ce6 29-Nov-2011 Andreas Huber <andih@google.com> Updated (internal) API for IStreamSource to signal discontinuities

Change-Id: Idd4b9d8e7cec16b3e3c91c70e75144d42be30f96
related-to-bug: 5553055
edia/IStreamSource.h
f3918c5bd4bc9f02f74da42995564150ca2dd382 18-Nov-2011 Mathias Agopian <mathias@google.com> Add support for sending VSYNC events to the framework

use gui/DisplayEvent to receive the events. Events are
dispatched through a unix pipe, so the API is compatible
with utils/Looper. see gui/DisplayEvent.h for more info.

Bug: 1475048
Change-Id: If4126023fc9c067e56087ec7d16a8fd542ce1794
urfaceflinger/ISurfaceComposer.h
3f15700a012b1ab0097eaf90caf0540ba6caa529 18-Nov-2011 Mathias Agopian <mathias@google.com> split ComposerService out of SurfaceComposerClient.h

Change-Id: I1eb691f7ca263d5895d871ab675bb5826e0323c6
rivate/gui/ComposerService.h
urfaceflinger/SurfaceComposerClient.h
589364c7179e764f4e8b9c0d53f45a1abf528aa8 28-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Make AudioTrack a RefBase so wrappers not needed"
d03e7d62d5a5eda07e19b0bbc1eaa6ed82d860c5 28-Nov-2011 Andreas Huber <andih@google.com> If an error occurs that prevents us from reallocating buffers during a format change

we need to transition to executing state anyway to be able to properly flush/shutdown
in the future.

Change-Id: Ie48bc09ea31942009ae3a5a45aabc9ffad9fb91f
related-to-bug: 5655016
edia/stagefright/ACodec.h
bbd63f0246c9beabfc055d03f829a96e8ff512f5 24-Nov-2011 Jeff Brown <jeffbrown@google.com> Use sized integer typedefs in hash_type specializations.

Change-Id: I3f9e004db2f3be1cb43a885c3ae142f251fd6845
tils/TypeHelpers.h
9d61edcc0fd960f227aa0c4b8e20b05dea2aca19 15-Nov-2011 Jeff Brown <jeffbrown@google.com> Add a basic hashtable data structure, with tests!

The basic hashtable is intended to be used to support a variety
of different datastructures such as map, set, multimap,
multiset, linkedmap, generationcache, etc.

Consequently its interface is fairly primitive.

The basic hashtable supports copy-on-write style functionality
using SharedBuffer.

The change introduces a simple generic function in TypeHelpers for
specifying hash functions. The idea is to add template
specializations of hash_type<T> next to the relevant data structures
such as String8, String16, sp<T>, etc.

Change-Id: I2c479229e9d4527b4fbfe3b8b04776a2fd32c973
tils/BasicHashtable.h
tils/TypeHelpers.h
72a845d53900048c13edf4a4ac33386f3332e838 22-Nov-2011 Andreas Huber <andih@google.com> am 31626b30: am cb6fbc89: Merge "Report a runtime error instead of asserting on malformed avc configuration data." into ics-mr1

* commit '31626b3075335f4cf579342e99436bb45870cf55':
Report a runtime error instead of asserting on malformed avc configuration data.
cb6fbc89c25298643ab342b4a228e772b0e56978 22-Nov-2011 Andreas Huber <andih@google.com> Merge "Report a runtime error instead of asserting on malformed avc configuration data." into ics-mr1
4e2ecdd8a78f25f4c234877d5321ebd4e4c0e8f7 22-Nov-2011 James Dong <jdong@google.com> am d0a25456: am 02740dc4: Merge "Fix log spamming during time lapse video recording" into ics-mr1

* commit 'd0a254566f5f0be5607b4d64839a575c888c94f6':
Fix log spamming during time lapse video recording
07f062b6271e7ec820d1079566e7451a9cf55558 22-Nov-2011 Jamie Gennis <jgennis@google.com> am c2597295: am 53cf2020: Merge changes I37fd43b5,I91eb29db,I0491ce35 into ics-mr1

* commit 'c25972950c2ea62fb085524dbe737c2bf0f08f4a':
SurfaceTexture: fix a couple tests
EGL: default to swap interval 1
SurfaceTexture: clean up some tests
02740dc49df86fc94c872454aa9db98737d5e8c8 22-Nov-2011 James Dong <jdong@google.com> Merge "Fix log spamming during time lapse video recording" into ics-mr1
6deb4b538ecf5cbd4418492bfb6b79df67eedfb7 22-Nov-2011 Jamie Gennis <jgennis@google.com> SurfaceMediaSource: use the vid enc usage bit

This change makes SurfaceMediaSource add the VIDEO_ENC usage bit when
allocating its GraphicBuffers rather than the HW_TEXTURE bit.

Change-Id: Ie20e225c894fdbc31cad6bb82b3b64c7e98074eb
i/GraphicBuffer.h
87f3265bb082160efdfdfb87a79698c67ebad447 20-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: default to swap interval 1

This change explicitly sets swap interval 1 on the window when an
EGLSurface is created to render to it.

Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
ui/SurfaceTexture.h
96af14d9b013496accf40a85a66fefcba3ac0111 20-Nov-2011 James Dong <jdong@google.com> Fix log spamming during time lapse video recording

Change-Id: I4fc0809203684ebb02eaf217d7abad00aefc898f

related-to-bug: 5626569
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
36bd710a6094282c8f9a6083c3b09911bf8a5ac7 19-Nov-2011 Mathias Agopian <mathias@google.com> am d0df44b5: am 4d71053b: Merge "attempt to fix bug 5313580" into ics-mr1

* commit 'd0df44b5c979e00a19187cea35768ba26557e447':
attempt to fix bug 5313580
0ba8660ea6d88a1809508c31bd3b1da8e8dfabd3 18-Nov-2011 Andreas Huber <andih@google.com> Report a runtime error instead of asserting on malformed avc configuration data.

Change-Id: Ibcd9c3fb5b6532eba843ed80ecdcdacaf50d8845
related-to-bug: 5641069
edia/stagefright/OMXCodec.h
90cbbd1f7f510e7c173f706919492a95e91a87e7 18-Nov-2011 Mathias Agopian <mathias@google.com> attempt to fix bug 5313580

the working theory here is that a Surface object has become non-promotable
because it lost its last reference; later Surface::readFromParcel is called
the previous surface is found in the cache, but can't be promoted. this causes
a new Surface object to be created which will promptly try to connect to the
CPU_API -- this in turn will fail because the previous (now dead) surface is
still connected.

To fix this, we make sure to disconnect from the SurfaceTexture when
Surface[TextureClient] is destroyed.

Change-Id: I422234868a05d7b7d283e9d5a85f7ab79e65d8a9
ui/SurfaceTextureClient.h
b447e9ce1d3dc603a8879340f36a4ca4f22d6b62 17-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "JetPlayer uses C++ Thread not createThreadEtc"
04dd4deafdbde8e4a9d12745e3d4a886ef8769f4 17-Nov-2011 Jamie Gennis <jgennis@google.com> am 7765fc65: am fd6b64f6: Merge "SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call" into ics-mr1

* commit '7765fc651a9519dd2f0ac9d3374a50e9865c5c99':
SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call
9c0227a63c9903cf407da4a713ff619e49c6bc73 24-Jun-2011 Glenn Kasten <gkasten@google.com> JetPlayer uses C++ Thread not createThreadEtc

This permits leveraging future improvements to Thread.

Change-Id: I60deed8565ed54f13d9f770c76504e411b154276
edia/JetPlayer.h
99d544332a6e79d9f4fa6d981f95e8ba6c037ab7 23-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4903178 Restore priority and cgroup on stop

On AudioTrack and AudioRecord stop or failed start, restore the priority
and cgroup of the caller to their previous values, rather than forcing
to NORMAL. Dependent on new thread APIs.

Also fixes bug where priority was set to AUDIO but cgroup not set.

Change-Id: Ib83893918fb4fdf57c6b87884b51038997a631d8
edia/AudioRecord.h
edia/AudioTrack.h
fd6b64f6ad040b4d550a5219a2576997e2c0e85d 16-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call" into ics-mr1
221096fdd6963a0f7090b928cfb92b9267f32d7a 16-Nov-2011 Jeff Brown <jeffbrown@google.com> am 4c0e0dd2: am 3e7497b4: Merge "Eliminate hw.keyboards system properties." into ics-mr1

* commit '4c0e0dd29dcce33e7521b11d01d21d9431f3b264':
Eliminate hw.keyboards system properties.
3e7497b4eccd3db1d6ff0ce1f1f2db11f9a8eeef 16-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Eliminate hw.keyboards system properties." into ics-mr1
1e08fe90df18930691b0c2ec22e5db25d7fcb4cf 16-Nov-2011 Jeff Brown <jeffbrown@google.com> Eliminate hw.keyboards system properties.

Stop using system properties to publish information about
the key character map path. Instead, we can retrieve it
on demand by asking the window manager.

It was possible to exhaust the supply of system properties
when repeatedly adding and removing input devices.

Bug: 5532806
Change-Id: Idd361a24ad7db2edc185c8546db7fb05f9c28669
i/Input.h
i/KeyCharacterMap.h
i/Keyboard.h
9c151c58cb1bbd7dce97c7ad9ce7725922a850a0 15-Nov-2011 Glenn Kasten <gkasten@google.com> Make AudioTrack a RefBase so wrappers not needed

Change-Id: I2305abe586ac41251af04a194bc818c110a1b293
edia/AudioTrack.h
cc6c20f5321e39ee75172f329450dd60a69c980f 15-Nov-2011 Hong Teng <hongteng@google.com> am 716747f7: am 481ffa50: Merge "Fix for issue 5309336 -add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage." into ics-mr1

* commit '716747f7cb29b45e41c2870f12d39095f4ed80c8':
Fix for issue 5309336 -add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.
f1e868f68204bf469a0c162b84af0e651d513ac8 10-Nov-2011 Sunita Nadampalli <sunitan@ti.com> SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call

Surface Texture dequeue logic is modified to return the oldest of the
free buffers to Client on dequeue call.

Currently dequeue method is returning the first buffer index which is free.
The parsing is done in ascending order of the buffer slot indices.
This leads to returning the buffer which has been just queued to composer,
and hence display, and this defeats the purpose of having minimum dequeue count
as 2 in asynchrnouse mode.

This is fixed by checking all the free slots and returning the oldest buffer.

Change-Id: Ibbac10593c3994c278c601af0480b171635ecdd4
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
ui/SurfaceTexture.h
481ffa505bb1d8f5089ea98e3b5960d409b6819c 15-Nov-2011 Hong Teng <hongteng@google.com> Merge "Fix for issue 5309336 -add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage." into ics-mr1
bf677de46a039e07038511909576bfbf4406f7fd 15-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Clean up GenerationCache."
7eb531970305f938c8e3bdc564bed6156fbd8f06 10-Nov-2011 Hong Teng <hongteng@google.com> Fix for issue 5309336
-add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.

Change-Id: I41ffbc192fcce4c7635e5b0a1f2835852e5ee509
edia/MediaProfiles.h
d8fa1ad4523b6c04cab663ff4b65181fc00594d9 14-Nov-2011 Mathias Agopian <mathias@google.com> am 738d8cae: am c93a151f: Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1

* commit '738d8cae2239d194429676f2889cfae3c8f7ba08':
Define, document, and test the behavior of very large SurfaceTextures
d9e688cab3015d858110fb8240cf7378c6befd82 12-Nov-2011 Jeff Brown <jeffbrown@google.com> Clean up GenerationCache.

Use const references to keys and values where appropriate to avoid
copying them unnecessarily.

Deleted some dead code.

Simplified a few pieces that were doing unnecessary redundant work.

Change-Id: Ib2145b7094a40db2d679e05dafe050fe1e87b846
tils/GenerationCache.h
b89d88f531ee39927f8f554baaae5ecc9101ba9d 10-Nov-2011 Mathias Agopian <mathias@google.com> Define, document, and test the behavior of very large SurfaceTextures

updateTexImage() now throws a runtime exception when its native
counterpart fails

Bug: 5506633

Change-Id: I151a6f685d465966e7df4df624412ab2da62e95f
ui/SurfaceTexture.h
f4c3cc06cb5d748e804a81e693175e00ccf06051 11-Nov-2011 James Dong <jdong@google.com> am 510180f1: am 08e42967: Merge "Add support for retrieving location information in mp4/3gpp files" into ics-mr1

* commit '510180f162dee3ae5416a98caa07f58a754f4b3f':
Add support for retrieving location information in mp4/3gpp files
77c500c9a1f763b31fb5a03c803b3523fcb72310 09-Nov-2011 James Dong <jdong@google.com> Add support for retrieving location information in mp4/3gpp files

Change-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687
related-to-bug: 5560253
edia/mediametadataretriever.h
edia/stagefright/MetaData.h
ea427b0c87a52d5e770f50856401a81ff2658cc4 08-Nov-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 26f70db9 to master

Change-Id: Ib1536b1a4c9eeff80e0726b3e61cee12057cd120
26f70db99f483be36caa7a4c84fec5de50bec034 08-Nov-2011 Andreas Huber <andih@google.com> Merge "Remove surface legacy APIs and code." into ics-mr1
bd79a9c9f39482b3a9560d03cb045ec4e3b87486 07-Nov-2011 Jeff Brown <jeffbrown@google.com> am 88061d6b: am 5462bc63: Fix a leak in Parcel::writeBlob.

* commit '88061d6b38cfb4bf374039846b753a3b21ac61e1':
Fix a leak in Parcel::writeBlob.
88061d6b38cfb4bf374039846b753a3b21ac61e1 05-Nov-2011 Jeff Brown <jeffbrown@google.com> am 5462bc63: Fix a leak in Parcel::writeBlob.

* commit '5462bc6318b4b70e7a58c66994e2bd79f59d9739':
Fix a leak in Parcel::writeBlob.
5462bc6318b4b70e7a58c66994e2bd79f59d9739 05-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix a leak in Parcel::writeBlob.

Was mistakenly assuming that Parcel::writeFileDescriptor took
ownership of the fd that was passed in. It does not!
Added some comments and a default parameter to allow the caller
to specify whether it wishes the Parcel to take ownership.

Bug: 5563374
Change-Id: I5a12f51d582bf246ce90133cce7690bb9bca93f6
inder/Parcel.h
94c10c4c8ba1c8e549324ad379a2f235897128ac 03-Nov-2011 Jamie Gennis <jgennis@google.com> am 236aea35: Merge changes Ibc99cb1c,Ie1f4f6f8 into ics-mr1

* commit '236aea3579787961fdd41d87574760b63323c0c1':
BlobCache: implement cache serialization
BlobCache: remove the mutex locking
236aea3579787961fdd41d87574760b63323c0c1 03-Nov-2011 Jamie Gennis <jgennis@google.com> Merge changes Ibc99cb1c,Ie1f4f6f8 into ics-mr1

* changes:
BlobCache: implement cache serialization
BlobCache: remove the mutex locking
25ba325ad3b358aa5af603e7745088916d7fd40f 02-Nov-2011 Chih-Chung Chang <chihchung@google.com> am 11ba6da4: am 4b6353ea: Merge "Update camera continuous autofocus javadoc." into ics-mr0

* commit '11ba6da460572b9ce9cb9dc0d5a76b710e7efdb3':
Update camera continuous autofocus javadoc.
11ba6da460572b9ce9cb9dc0d5a76b710e7efdb3 01-Nov-2011 Chih-Chung Chang <chihchung@google.com> am 4b6353ea: Merge "Update camera continuous autofocus javadoc." into ics-mr0

* commit '4b6353ea0265bfed52d0637abd1b17596ce25ff0':
Update camera continuous autofocus javadoc.
4b6353ea0265bfed52d0637abd1b17596ce25ff0 01-Nov-2011 Chih-Chung Chang <chihchung@google.com> Merge "Update camera continuous autofocus javadoc." into ics-mr0
9d9768dbd7d8fe7af55fbd570dff9cf79a4d1807 13-May-2011 Jamie Gennis <jgennis@google.com> BlobCache: implement cache serialization

This change adds serialization and deserialization functionality to
BlobCache, conforming to the Flattenable interface.

Change-Id: Ibc99cb1c3d015f363d57d0713eabccec07ff975e
tils/BlobCache.h
94c1f148bb655a3dd3c2a2167476239b41305ff0 31-Oct-2011 Jamie Gennis <jgennis@google.com> BlobCache: remove the mutex locking

This change removes the mutex from the BlobCache class. The caller must
be responsible for thread synchronization in order to properly implement
the Flattenable interface, which is coming soon. Otherwise would be the
potential for the cache contents to change between the call to the
getFlattenedSize and flatten methods. Because the caller must do this
synchronization anyway there's no reason to also some synchronization
inside BlobCache.

Change-Id: Ie1f4f6f82b78744f46a41ce863cac0cad276a20e
tils/BlobCache.h
95be24585f46229f551c529104b5e92fa4316b38 25-Oct-2011 Andreas Huber <andih@google.com> Remove surface legacy APIs and code.

All surfaces are now supported through surface textures.

Change-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
e396e993a55b93d2d69c78b21a5d4ce0b8c37805 28-Oct-2011 Jamie Gennis <jgennis@google.com> am fc9592f8: am 08479cee: Merge "Stagefright: ANW::connect in MediaPlayerService" into ics-mr0

* commit 'fc9592f8a5f2f75207e5e532655ac294eb2b334b':
Stagefright: ANW::connect in MediaPlayerService
fc9592f8a5f2f75207e5e532655ac294eb2b334b 28-Oct-2011 Jamie Gennis <jgennis@google.com> am 08479cee: Merge "Stagefright: ANW::connect in MediaPlayerService" into ics-mr0

* commit '08479ceeba56c460fb52f60a24df27776f1936c3':
Stagefright: ANW::connect in MediaPlayerService
0f4f97b70f6ad59b32e78720ba7357733bdef3e9 27-Oct-2011 Wu-cheng Li <wuchengli@google.com> Update camera continuous autofocus javadoc.

Suppose applications call autoFocus in CAF picture mode. If
CAF is in the middle of scanning, the picture is very likely to
be blurry. Change focus callback to return when the scanning
finishes.

bug:5514415
Change-Id: Ibcb8f92a5263d7dbd7cce54df3617fb21c6255d4
amera/CameraParameters.h
2fa0ac2e44f553e29b0d83a5dd87f7dda5422811 27-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: ANW::connect in MediaPlayerService

This change moves the ANativeWindow connect and disconnect logic from
MediaPlayer to MediaPlayerService::Client.

Bug: 5502654
Change-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d
edia/mediaplayer.h
8b5c6efdbc605cd0d24495f5e46e71cec990c79d 26-Oct-2011 Jamie Gennis <jgennis@google.com> am 5ded5fc5: am b7b4eaaa: Merge "Stagefright: push blank buffers when tearing down" into ics-mr0

* commit '5ded5fc55f2da2af0a76a9ddc52d27948b227037':
Stagefright: push blank buffers when tearing down
5ded5fc55f2da2af0a76a9ddc52d27948b227037 26-Oct-2011 Jamie Gennis <jgennis@google.com> am b7b4eaaa: Merge "Stagefright: push blank buffers when tearing down" into ics-mr0

* commit 'b7b4eaaa05284634d50d581d924a250f1194f66d':
Stagefright: push blank buffers when tearing down
0cbdec51d1c3f2fb214f818df623825f8f44cde0 26-Oct-2011 Mathias Agopian <mathias@google.com> Merge "Rename SensorChannel to BitTube"
c0e4293794e9658da1ce9849a42c66ce19ef5f07 25-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: push blank buffers when tearing down

This change makes OMXCodec push RGB 565 buffers filled with black to an
ANativeWindow when tearing down after decoding to protected gralloc
buffers. This allows the OMX tear down to zero out any protected
buffers that were used without the possibility that the buffer is still
being used by SurfaceFlinger or HWComposer.

Bug: 5483222
Change-Id: I8acedd81a7bb67dfdc2fd15733e3375b6ce8d560
edia/stagefright/OMXCodec.h
28d9f024e043817212b15f04128d0464330502ea 12-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOG() to (IF_)ALOG() DO NOT MERGE

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

Bug: 5449033
Change-Id: I42575e7c29cf1c0f465c357a5c97ab118df6f473
inder/CursorWindow.h
044966aef3c9b58e798d624138ae21c85967ecb9 20-Oct-2011 Jeff Brown <jeffbrown@google.com> Use libcorkscrew for stack unwinding.

Change-Id: Iee1ee5a2018ab8cfc1ce12ec2a124809245eaa02
tils/CallStack.h
12cdf5116c312b8fb4f96bd8ea64134ce06e899d 21-Oct-2011 Mathias Agopian <mathias@google.com> Rename SensorChannel to BitTube
ui/BitTube.h
ui/ISensorEventConnection.h
ui/SensorChannel.h
ui/SensorEventQueue.h
149a14931e5aa4beb8c4263995f01437a8918465 20-Oct-2011 Dave Burke <daveburke@google.com> am 23d64420: Merge "Stagefright: idle OMX after ANW errors" into ics-mr0

* commit '23d644202a44383bf008ff86f6faa3ea7e447290':
Stagefright: idle OMX after ANW errors
23d644202a44383bf008ff86f6faa3ea7e447290 20-Oct-2011 Dave Burke <daveburke@google.com> Merge "Stagefright: idle OMX after ANW errors" into ics-mr0
6607b39baa05ee85a0857c3f95ff9224517b2abc 20-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: idle OMX after ANW errors

This change fixes an issue in Stagefright where the state of an OMXCodec
object can get out of sync with the state of the OMX component. In
particular, if one of the ANativeWindow functions failed and put the
OMXCodec into the ERROR state, this would cause Stagefright to skip
doing the Executing -> Idle transition. Without this transition the
freeBuffersOnPort call would never be made, and the MediaBuffers would
end up being leaked (which would also leak the Gralloc buffers they
reference).

Bug: 5333695
Change-Id: I85ea0cf92d18e7ef6d35c7d1e2a7b4e2c9745d34
edia/IOMX.h
2696d0520f9b928264caa5f98c2e6b1e749f9a11 19-Oct-2011 Dave Burke <daveburke@google.com> am 70ac412b: Merge "Add a LayerScreenshot" into ics-mr0

* commit '70ac412b2fe7be2507189a9fdfb30c43b36d56ac':
Add a LayerScreenshot
0ab84ef507f23505a72798fbe25cf4bb2c507ea3 14-Oct-2011 Mathias Agopian <mathias@google.com> Add a LayerScreenshot

A LayerScreenshot is a special type of layer that contains a screenshot of
the screen acquired when its created. It works just like LayerDim.

Make sure to call compositionComplete() after rendering into a FBO.

Bug: 5446982, 5467587, 5466259
Change-Id: I5d8a1b4c327f9973d950cd4f4c0bca7f62825cd4
urfaceflinger/ISurfaceComposer.h
72cdc6d488578c7e54523e65ff622bdcb89b7b94 18-Oct-2011 Mathias Agopian <mathias@google.com> am 9a0732af: Merge "SensorManager reconnects to sensor service when the later dies" into ics-mr0

* commit '9a0732af1bd96a7d8247dee124a7da389137a52f':
SensorManager reconnects to sensor service when the later dies
9a0732af1bd96a7d8247dee124a7da389137a52f 18-Oct-2011 Mathias Agopian <mathias@google.com> Merge "SensorManager reconnects to sensor service when the later dies" into ics-mr0
a3dca6fdaacf9ffea4a844848a53c1adeb089897 17-Oct-2011 Mathias Agopian <mathias@google.com> am 840b8a67: Revert "Add a LayerScreenshot"

* commit '840b8a678537519c27ddf2f818494eaa20a135d4':
Revert "Add a LayerScreenshot"
f21dd1eabe5bf4da0dc0d9c23144aa997c05a56d 17-Oct-2011 Elliott Hughes <enh@google.com> Merge branch 'master' of ssh://android-git:29418/platform/frameworks/base
7f7362c02bcde8750e24781f5c7199f9551301c5 17-Oct-2011 Jamie Gennis <jgennis@google.com> Merge changes I4e5ff00c,Id5e3ca1d,I97cbba61

* changes:
SurfaceFlinger: Remove display freezing code
SurfaceFlinger: add some layer update tests
SurfaceFlinger: make sync transactions explicit
4b1415ebd9bf39fa3e4ee62eef14cf613ea37dec 17-Oct-2011 Mathias Agopian <mathias@google.com> am 57337eb7: Merge "Add a LayerScreenshot" into ics-mr0

* commit '57337eb78e65c160fb9c46a01e04c476d1bfdca1':
Add a LayerScreenshot
840b8a678537519c27ddf2f818494eaa20a135d4 17-Oct-2011 Mathias Agopian <mathias@google.com> Revert "Add a LayerScreenshot"

This reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.
urfaceflinger/ISurfaceComposer.h
de6c44e90681cbdb754e55721953fc828ec8e2aa 17-Oct-2011 Mathias Agopian <mathias@google.com> SensorManager reconnects to sensor service when the later dies

if system process ever restarted, processes using a SensorManager
would loose the ability to use it, resulting to a crash.
we now listen for sensor service death and reconnected if necessary.

Bug: 5445240
Change-Id: Ia47f8b26cdcecb729fa22bf11d55e10fcaef8cfc
ui/SensorManager.h
a39a055304968e799c49e99b700399667eab006a 15-Oct-2011 Jeff Brown <jeffbrown@google.com> Merge "Deprecate local-only CursorWindows."
de14ecaebcb958f542f50cff08109926aad2c685 15-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: Remove display freezing code

This change removes the dead code from SurfaceFlinger that resulted from
disabling support for freezing the display.

Change-Id: I4e5ff00c94b4c7a79af2f65c9850c135210068ed
urfaceflinger/ISurfaceComposer.h
122aa6bae9f72015e6d50e78d4d47a95e05d3f49 13-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: make sync transactions explicit

This change enables a layer or orientation update transaction sent to
SurfaceFlinger to explicitly request a synchronous transaction.

Change-Id: I97cbba610c13679849f66114b216fa6dbf12f2a9
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
d6809f40cf61203573ec5dbc437f695cd132cc18 14-Oct-2011 Mathias Agopian <mathias@google.com> Add a LayerScreenshot

A LayerScreenshot is a special type of layer that contains a screenshot of
the screen acquired when its created. It works just like LayerDim.

Bug: 5446982
Change-Id: I7814aff2380e7e146937f2b641907be2a30c76cc
urfaceflinger/ISurfaceComposer.h
0eb6ef1798362d15696618debdb2478b386398c5 13-Oct-2011 Andreas Huber <andih@google.com> Merge "Support for an MPEG2 Program Stream extractor."
7a3ba4d732d5ce394aab9783e4099b2e71f1903f 13-Oct-2011 Wu-cheng Li <wuchengli@google.com> am 514a6cfb: Merge "Improve camera javadoc and fix some errors." into ics-mr0

* commit '514a6cfb7f7085b266f457155ff63373d2dff8ee':
Improve camera javadoc and fix some errors.
5e5d6d8ba04d7579df840cda055cd5dfa9d7666f 13-Oct-2011 Jeff Brown <jeffbrown@google.com> Deprecate local-only CursorWindows.

There is no difference and has never really been a difference
between local-only and remotable CursorWindows. By removing the
distinction officially in the API, we will make it easier to
implement CrossProcessCursor correctly. CrossProcessCursor
is problematic currently because it's not clear whether a call
to getWindow() will return a local-only window or a remotable window.
As a result, the bulk cursor adaptor has special case handling
for AbstractWindowedCursors vs. ordinary CrossProcessCursors
so that it can set a remotable window before the cursor fills it.
All these problems go away if we just forget about local-only
windows being special in any way.

Change-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376
inder/CursorWindow.h
53b30912d3e8598c05e47308981971e958e98db2 12-Oct-2011 Wu-cheng Li <wuchengli@google.com> Improve camera javadoc and fix some errors.

bug:5169599
Change-Id: Ic2205770753ff462135f884fee0a888ca8ec832d
amera/CameraParameters.h
19de9efcc4b0367cd6cfde78c90d2d3b213814e9 12-Oct-2011 Romain Guy <romainguy@google.com> Merge "Reduce the size of libhwui by 50%"
7953745dd565167113f8cbfc461bc0521d32d870 12-Oct-2011 Romain Guy <romainguy@google.com> Reduce the size of libhwui by 50%

This change removes unnessary symbols. All symbols are hidden by
default, public APIs with exported symbols are explicitly marked
with ANDROID_API.

Change-Id: I692fde432a86c12108de1cfd1f6504919a7d5f3f
tils/Singleton.h
075e4c3d2e6a8a9eb3506dfedc8da938fb65fb65 12-Oct-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceFlinger: update orientation via transactions" into ics-mr0
0a2735928030229b3340074eb11c2423342fda93 12-Oct-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add video stabilization control to Camera parameters." into ics-mr0
037abb8bb064c2878858c9b69978f6754f242627 11-Oct-2011 Eino-Ville Talvala <etalvala@google.com> Add video stabilization control to Camera parameters.

Hardware video stabilization reduces camera shake in preview
and in recorded videos. It has no effect on still image capture.

Convenience accessor methods hidden for now.

Change-Id: Ie18450bff662b2ef98b85d19719beefc180975fc
amera/CameraParameters.h
e2909e121c45d58fe587849b1474c80745fcd2b9 11-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: update orientation via transactions

This change merges the ISurfaceComposer::setOrientation functionality
into ISurfaceComposer::setTransactionState. It enables the window
manager to atomically update both the display orientation and the
position and size of the windows in a single transaction with
SurfaceFlinger.

Bug: 5439574
Change-Id: I18a8ccc564d7d760ef8afb2d015ccdb7a7963900
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
0cde89f5f025b7826be009ebb9673b970e180e32 10-Oct-2011 Jeff Brown <jeffbrown@google.com> Use ashmem for CursorWindows.
Bug: 5332296

The memory dealer introduces additional delays for reclaiming
the memory owned by CursorWindows because the Binder object must
be finalized. Using ashmem instead gives CursorWindow more
direct control over the lifetime of the shared memory region.

The provider now allocates the CursorWindows and returns them
to clients with a read-only protection bit set on the ashmem
region.

Improved the encapsulation of CursorWindow. Callers shouldn't
need to care about details like how string fields are allocated.

Removed the compile-time configuration of string and numeric
storage modes to remove some dead weight.

Change-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd
inder/CursorWindow.h
d0ff68da6a606602235fb8749473999e3d1bde53 07-Oct-2011 Jeff Brown <jeffbrown@google.com> Fix regression in CursorWindow.copyStingToBuffer.
Bug: 5332296

Change-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99
tils/Unicode.h
3bc6bbc92cd2095f42039b5aadd0a14d0e5d9230 06-Oct-2011 Jeff Brown <jeffbrown@google.com> Clean up CursorWindow code.
Bug: 5332296

The code is functionally equivalent, but a little more efficient
and much easier to maintain.

Change-Id: I90670a13799df05831843a5137ab234929281b7c
ndroid_runtime/AndroidRuntime.h
inder/CursorWindow.h
db62a245f968159ea5ff8ad99afb4cd035e2304d 30-Sep-2011 Lakshman Gowda <lakshman79@ti.com> Set crop params to ANative Window during Initialization.

The native_window_set_crop() is called when port reconfig event callback comes from decoder's and
crop parameters are changed from default getconfig() OMX_IndexConfigCommonOutputCrop values.
Since the default crop params are same as port reconfig crop params, the native_window_set_crop()
is not called, hence resulting in displaying the whole frame(paddedWidth x paddedHeight).
By calling native_window_set_crop() during initilaization of output port of decoder ensures
in setting up ANative window to crop region.

Change-Id: I68926464a1f5c7e6053804615c8b9bd32ea85688
Signed-off-by: Lakshman Gowda <lakshman79@ti.com>
edia/stagefright/OMXCodec.h
c04db7e06737c5b9bae276ac462858d44002672e 04-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix handling of "allow fds" state.

Didn't take into account nesting of bundles. Boo.

Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
inder/Parcel.h
6579a9d6fe2302fa149452f66c4062ebc60c2523 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Transfer large bitmaps using ashmem.
Bug: 5224703

Change-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808
inder/Parcel.h
9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d 29-Sep-2011 Dianne Hackborn <hackbod@google.com> Add mechanism for Parcel to not allow FDs to be written to it.

This is to help implement issue #5224703.

Change-Id: I026a5890495537d15b57fe61227a640aac806d46
inder/Parcel.h
tils/Errors.h
bc554956128d69d8d2e60365fb6cffe6facf659b 08-Sep-2011 Andreas Huber <andih@google.com> Support for an MPEG2 Program Stream extractor.

Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
edia/stagefright/MediaDefs.h
8606fefa219d63d0a0f3df1b9dcf49cfbfa5b3e5 28-Sep-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: parameterize the texture target

This change adds a hack to allow Android Browser to use a SurfaceTexture
to stream RGBA images to a GL_TEXTURE_2D texture object.

Change-Id: Idb90064d5d4b920959ef3be7451362ac5012460e
ui/SurfaceTexture.h
9a6ed36ba55a206934937cfafca7e797e8c6ea00 16-Sep-2011 Gilles-Arnaud Bleu-Laine <gilles@ti.com> Gracefuly return on detecting wrong AAC format from corrupted files

Return BAD_VALUE error upon detection of wrongly formatted files.
The client should abort the initialization upon error detection.

The current CHECK() interrupts the configurecodec() preventing a graceful
exit.

Change-Id: Ic79313fa76a63284897df5d91635de87d06f3100
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
edia/stagefright/OMXCodec.h
3e408f39ef1c0513908a3b73da5ce6f4164e85d9 28-Sep-2011 Andreas Huber <andih@google.com> Support AMR, G.711 and vorbis audio in ACodec and friends.

Change-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983
edia/stagefright/ACodec.h
feb158b3cbd0dada89b0437c3e09699ba3f982de 27-Sep-2011 Jamie Gennis <jgennis@google.com> Merge changes Ib302d79e,Ib4ee085f

* changes:
SurfaceFlinger: set layer names on SurfaceTextures
SurfaceTexture: add name support
928baf1f5480f67c1916a933d691e38de4f0a575 26-Sep-2011 Andreas Huber <andih@google.com> Propagate error signalled by the source all the way to the output EOS notification.

Change-Id: I30e959a6d669f09745c59fbdebee08f869511cf7
related-to-bug: 5372901
edia/stagefright/ACodec.h
b6377170960d40e66858d8b4d335a95eac773762 25-Sep-2011 Bart Sears <bsears@google.com> Revert "Transfer large bitmaps using ashmem. Bug: 5224703"

This reverts commit 56c58f66b97d22fe7e7de1f7d9548bcbe1973029

This CL was causing the browser to crash when adding bookmarks, visiting the bookmarks page, and sharing pages (see bug http://b/issue?id=5369231
inder/Parcel.h
56c58f66b97d22fe7e7de1f7d9548bcbe1973029 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Transfer large bitmaps using ashmem.
Bug: 5224703

Change-Id: Ic7481dd9f173986f085a8bbdcc59bbe9830d7a44
inder/Parcel.h
e448f557f620ae30dcead7a4423059dfb7d70add 23-Sep-2011 Wei Huang <weih@google.com> am 3d9a9e55: Merge "Update camera javadoc about AE and AWB lock." into ics-factoryrom

* commit '3d9a9e55df85c720573e69ec3062efc331ea69bb':
Update camera javadoc about AE and AWB lock.
44a052203e6c1c5453a74ebe94607b5c71b136ec 17-Sep-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add name support

This change adds support for setting a string that can be used to
identify a SurfaceTexture object in log messages.

Change-Id: Ib4ee085f36c8830dc964c05ef1654f5a55dfcd60
ui/SurfaceTexture.h
b4f95be03e018df825356fe2cd363797c66303f1 22-Sep-2011 Wu-cheng Li <wuchengli@google.com> Update camera javadoc about AE and AWB lock.

- Autofocus does not lock AE and AWB.
- stopPreview and takePicture do not clear AE and AWB locks.

bug:5356404

Change-Id: I55d9b35f4ff746ecd2bff112c2674f1aa2543aca
amera/CameraParameters.h
01a98ddbdfbaf1f0d2bc602537e6e314364902a3 21-Sep-2011 Jeff Brown <jeffbrown@google.com> Handle orientation changes more systematically.
Bug: 4981385

Simplify the orientation changing code path in the
WindowManager. Instead of the policy calling setRotation()
when the sensor determined orientation changes, it calls
updateRotation(), which figures everything out. For the most
part, the rotation actually passed to setRotation() was
more or less ignored and just added confusion, particularly
when handling deferred orientation changes.

Ensure that 180 degree rotations are disallowed even when
the application specifies SCREEN_ORIENTATION_SENSOR_*.
These rotations are only enabled when docked upside-down for
some reason or when the application specifies
SCREEN_ORIENTATION_FULL_SENSOR.

Ensure that special modes like HDMI connected, lid switch,
dock and rotation lock all cause the sensor to be ignored
even when the application asks for sensor-based orientation
changes. The sensor is not relevant in these modes because
some external factor (or the user) is determining the
preferred rotation.

Currently, applications can still override the preferred
rotation even when there are special modes in play that
might say otherwise. We could tweak this so that some
special modes trump application choices completely
(resulting in a letter-boxed application, perhaps).
I tested this sort of tweak (not included in the patch)
and it seems to work fine, including transitions between
applications with varying orientation.

Delete dead code related to animFlags.

Handle pausing/resuming orientation changes more precisely.
Ensure that a deferred orientation change is performed when
a drag completes, even if endDragLw() is not called because the
drag was aborted before the drop happened. We pause
the orientation change in register() and resume in unregister()
because those methods appear to always be called as needed.

Change-Id: If0a31de3d057251e581fdee64819f2b19e676e9a
urfaceflinger/ISurfaceComposer.h
44bfbbe501880f42105c49d479d4c109af420dbf 20-Sep-2011 Mathias Agopian <mathias@google.com> Merge "fix the float Rect in OpenGLRenderer to handle NANs"
3907c79aebf8621a5a4880c9e66db3c49a44f359 20-Sep-2011 James Dong <jdong@google.com> am 92d0a64b: Merge "Add QVGA resolution to CamcorderProfile" into ics-factoryrom

* commit '92d0a64b909cd95e8f4ce587438b0cc6d2daeaa0':
Add QVGA resolution to CamcorderProfile
07b9ae33127212fd9e15f96fa89b7d4cab81e55e 20-Sep-2011 James Dong <jdong@google.com> Add QVGA resolution to CamcorderProfile

Change-Id: Icebbafb68d8164370f98a2c36699845d10ef081b
related-to-bug: 5145483
edia/MediaProfiles.h
83b186a246e8ffd52b91a17c0019dd8c9c9d21b1 20-Sep-2011 Mathias Agopian <mathias@google.com> fix the float Rect in OpenGLRenderer to handle NANs

- we want functions like isEmpty() to return true if NANs are
involved in the Rect

- also clean-up the intersect familly of calls

- minor cleanup in the int32_t Rect as well

These played a role in http://b/5331198.

Bug: 5331198

Change-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2
i/Rect.h
bcba155942705de42174871fc1215b3f4655797b 15-Sep-2011 Andreas Huber <andih@google.com> A new API "androidGetThreadPriority"

Change-Id: I6baeead8c70460863343fd557250635fb1e6a170
tils/threads.h
93578af23ecfb8f5b6001346d63c6214cdec5d17 15-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Velocity Tracker II: The Revenge of Velocity Tracker Bug: 5265529"
b59ab9f41faafb358afb4f951de96f34a656e0b4 14-Sep-2011 Jeff Brown <jeffbrown@google.com> Velocity Tracker II: The Revenge of Velocity Tracker
Bug: 5265529

Rewrote the velocity tracker to fit a polynomial curve
to pointer movements using least squares linear regression.
The velocity is simply the first derivative of this polynomial.

Clients can also obtain an Estimator that describes the
complete terms of the estimating polynomial including
the coefficient of determination which provides a measure
of the quality of the fit (confidence).

Enhanced PointerLocation to display the movement curve predicted
by the estimator in addition to the velocity vector.

By default, the algorithm computes a 2nd degree (quadratic)
polynomial based on a 100ms recent history horizon.

Change-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1
i/Input.h
1318864fa7ce6c85aaf629b1db08c79e4d0cf41e 15-Sep-2011 James Dong <jdong@google.com> Merge "Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications"
3f0c821740305c352eb355ba3d72906a7a97751c 14-Sep-2011 Eric Laurent <elaurent@google.com> Merge "Issue 5298399: Lost speech after a crash in gTalk."
7e8626fd7580dc5e0d4b4e4ceef0988067b60037 14-Sep-2011 Eric Laurent <elaurent@google.com> Issue 5298399: Lost speech after a crash in gTalk.

Fixed problem in AudioTrack::restoreTrack_l() causing a permanent
failure if the IAudioTrack interface to AudioFlinger could not be
restored at the first attempt.

Change-Id: I039d4fe2dca8d3baf71f1a6c51119f27a67b6611
edia/AudioTrack.h
0209da1cb177888af6c58e9bcc13c5d9665d6354 13-Sep-2011 James Dong <jdong@google.com> Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications

Change-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb
related-to-bug: 5300618
edia/stagefright/OMXCodec.h
d41108c91fcf2f7a47b733c61ee5983cf22bd6a8 12-Sep-2011 Andreas Huber <andih@google.com> Turn an another assertion into a runtime error in ACodec's implementation

Change-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd
related-to-bug: 5284760
edia/stagefright/ACodec.h
6c048260f30d9bba1a83c4f79388cd6b3109be7d 12-Sep-2011 Ben Komalo <benkomalo@google.com> Merge "Revert encryption mapping for device wipes."
0e23c2efb03c8eac7e2bcd6aad61cfc4b15340fc 10-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Tweak VelocityTracker. Bug: 5265529"
581761d4aa0133fe7354cc9e4a5dd3d9d7258c5f 10-Sep-2011 Jeff Brown <jeffbrown@google.com> Tweak VelocityTracker.
Bug: 5265529

Calculate the velocity using the most recent touch sample as the
point of reference instead of the oldest. This change more heavily
weights recent touch samples and reduces the sample time window
used for calculation. This significantly improves the accuracy
of fling gesture detection.

Change-Id: Ib1940933e786e5f6a731552a99bcd9400741d55f
i/Input.h
973f553be4aabf9656d6c1596b47767896677b0a 08-Sep-2011 Guang Zhu <guangzhu@google.com> Make MediaScanner skip certain directories

The list of directories to skip are configurable via setprop.
The main motivation is that some test data folder takes long time
to scan, and media scanner may compete for CPU time against perf
tests therefore skewing the results.

Bug: 5263115
Change-Id: I568213e2a4babf6033021c1d336ef0347c0e3315
edia/mediascanner.h
13c7197da8a16f77f6398708a6314c80cb01e0d1 08-Sep-2011 Ben Komalo <benkomalo@google.com> Revert encryption mapping for device wipes.

External storage volumes that were emulated+encrypted needed to have
their encryption mapping removed so that it doesn't try to encrypt the
volume after formatting them.

This just wires through an argument through vold, and assumes that vold
will do the right thing even if there is no encryption mapping set.

Bug: 5017638
Change-Id: I858fae3d12cb415bc34637f520f71220ad9daaad
torage/IMountService.h
fc301b0bb5c635c6bb51b48c504a8db5f9010e5c 30-Aug-2011 Dave Burke <daveburke@google.com> Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
edia/IMediaPlayer.h
edia/IMediaPlayerService.h
edia/mediaplayer.h
98bb251c8b527600e7a4cca6cc33499710bbfbf1 30-Aug-2011 Wu-cheng Li <wuchengli@google.com> Add video snapshot camera parameter.

The API is still hidden.

bug:5187868

Change-Id: I59e1b5774ca32be049723d1a0887faa90d8884bb
amera/CameraParameters.h
abf82f9ea4960ead8716b183aac1792820cccdd1 01-Sep-2011 Pannag Sanketi <psanketi@google.com> Merge "Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource"
ffd056fc73d852f15c32355443e3c88813df5ec6 30-Aug-2011 Pannag Sanketi <psanketi@google.com> Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource

The buffers in SurfaceMediaSource were 4 earlier, whereas
we need 5 for one of the devices.

Change-Id: I87bf5e28bbb0f7c9661dc01b040baa903d95d2c2
edia/stagefright/SurfaceMediaSource.h
b2c4f0bf11f38fd31d80f1256c89b9db043a2929 31-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fix SurfaceMediaSource timestamp handling."
c21843a8b5c395cbaae6db0f786bdee556075f5d 31-Aug-2011 Mathias Agopian <mathias@google.com> Merge "fix Surface positions are not floats"
34cb9f2a960c4173bdafb4b8a2444c1bca4c5f0d 31-Aug-2011 Mathias Agopian <mathias@google.com> fix Surface positions are not floats

Added Surface.setPosition(float, float) which allows to set a surface's
position in float.

Bug: 5239859
Change-Id: I903aef4ad5b5999142202fb8ea30fe216d805711
rivate/surfaceflinger/LayerState.h
urfaceflinger/SurfaceComposerClient.h
0e35c78d25a8df8b3bde566ad6c474f9df242ea4 30-Aug-2011 Eric Laurent <elaurent@google.com> Merge "226483: A2DP connected, but music out to speaker"
728e08bc3fd99dc64f436270f53c22f3457204a8 30-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Fix SurfaceMediaSource timestamp handling.

Was not basing timestamps on startTimeUs.
Now synchronizes properly with audio.

Bug: 4510826
Change-Id: I613db0aa91e51fc75d120e65540e742d8ab2ae43
edia/stagefright/SurfaceMediaSource.h
05ce0941649c3cdd7f8034496719e607977fc005 30-Aug-2011 Eric Laurent <elaurent@google.com> 226483: A2DP connected, but music out to speaker

When the A2DP headset is connected, there is a possible
race condition when the audio tracks are moved from
the mixer thread attached to the speaker output to the thread
attached to A2DP output.
As the request to clear the stream type to output mapping cache in
the client process is asynchronous, it is possible that the flag
indicating to the client audio track to re-create the IAudioTrack
on the new thread is processed before the cache is invalidated.
In this case, the track will be attached to the old thread and
music will continue playing over the device speaker instead of being
redirected to A2DP headset.

Change-Id: Ib2ce1eb5320eaff83287b93779061bf4e7a330df
edia/AudioSystem.h
b4bf90b40e30096479a4d4cc9cf135e991ef1994 29-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Add C++ thread API androidGetThreadSchedulingGroup"
b8a9e15c2aa3d317834555244a90f184b46e1dcb 27-Aug-2011 Pannag Sanketi <psanketi@google.com> Merge "Modify enum value of OMX_COLOR_FormatAndroidOpaque"
4da5660eee240cea3f7411a0ed5a1120bccdeb45 27-Aug-2011 Pannag Sanketi <psanketi@google.com> Modify enum value of OMX_COLOR_FormatAndroidOpaque

The enum value chosen earlier had a conflict with one of the vendors.

Change-Id: I47832dd1157447f89324d56e8ab146260cd7927c
edia/stagefright/openmax/OMX_IVCommon.h
539340fe2c3dfd33564c1ddc9ee5c2884aa56874 26-Aug-2011 Andreas Huber <andih@google.com> Merge "Support for posting messages and synchronously waiting for a response."
22cb204cbb9fadd0a909e0e918c0cb19c60da740 26-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 4364249 Play position is 0 after flushing AudioTrack

AudioTrack::stop() is not synchronous, so a stop() followed
by flush(), which is synchronous, will not always report
a playhead position of 0 after being called.
This CL adds a flag to mark a track as flushed, and report the
correct playhead position in this state.
Bug 5217011 has been created to address the real issue in the
future, where flush could be made synchronous, to properly
address bug 4364249.

Change-Id: Icf989d41a6bcd5985bb87764c287f3edb7e26d12
edia/AudioTrack.h
e688257456c315cbd2d5fd4f32bd52eac0b98195 26-Aug-2011 Andreas Huber <andih@google.com> Support for posting messages and synchronously waiting for a response.

Change-Id: Id6c7a08c34fd5cb6c4632f78ece9e7898b29e52c
edia/stagefright/foundation/ALooperRoster.h
edia/stagefright/foundation/AMessage.h
409f95ff89653760af53bede1a8ec19e21ecc4b5 25-Aug-2011 Pannag Sanketi <psanketi@google.com> Merge "Testing the GL/ CPU encoding w/ Gralloc buffers"
557b7092cc9a1dfe766ac3d0421e1049c653c4ae 19-Aug-2011 Pannag Sanketi <psanketi@google.com> Testing the GL/ CPU encoding w/ Gralloc buffers

This is the test for Gralloc buffers based encoding.
contains a combination of two main changes:

1. GL based encoding tests added to SurfaceMediaSource_test

2. SurfaceMediaSource ::read() colorformat

The SurfaceMediaSource::getformat() sets it to OMX_COLOR_FormatAndroidOpaque.
The omx encoder needs to interpret that colorformat and reads the format
from the Gralloc buffers directly

Change-Id: Iee2fe8901384109a4952e1d6c528c59eb01eb5b1
edia/stagefright/SurfaceMediaSource.h
edia/stagefright/openmax/OMX_IVCommon.h
d52c14df02a0d6db42f643e80e248b52fe5e2fdd 10-Aug-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: use the HWC gralloc usage bit

This change makes SurfaceFlinger always use the
GRALLOC_USAGE_HW_COMPOSER usage bit when allocating buffers that may be
passed to the HWComposer.

Change-Id: I70362a8ede2b359fb2046853f85149d597465817
i/GraphicBuffer.h
65fd251c3913fc921468a3dad190810db19eb9df 18-Aug-2011 Jeff Brown <jeffbrown@google.com> Input system bug fixes, particularly for stylus.
Bug: 5049148

Finished stylus support, including support for indirect stylus
and mouse tools.

Added TILT axis. When stylus tilt X/Y is available, it is transformed
into an orientation and tilt inclination which is a more convenient
representation and a simpler extension to the exiting API.

Touch devices now only report touch data using a single input
source. Previously touch devices in pointer mode would report
both absolute touch pad data and cooked pointer gestures.
Now we just pick one. The touch device switches modes as needed
when the focused application enables/disables pointer gestures.
This change greatly simplifies the code and reduces the load
on the input dispatcher.

Fixed an incorrect assumption that the value of ABS_(MT_)DISTANCE
would be zero whenever the stylus was in direct contact. It appears
that the correct way to determine whether the stylus is in direct
contact (rather than hovering) is by checking for a non-zero
reported pressure.

Added code to read the initial state of tool buttons and axis values
when the input devices are initialized or reset. This fixes
problems where the input mapper state might have the wrong initial
state.

Moved responsibility for cancelling pending inputs (keys down,
touches, etc.) to the InputDispatcher by sending it a device reset
notification. This frees the InputReader from having to synthesize
events during reset, which was cumbersome and somewhat brittle
to begin with.

Consolidated more of the common accumulator logic from
SingleTouchInputMapper and MultiTouchInputMapper into
TouchInputMapper.

Improved the PointerLocation output.

Change-Id: I595d3647f7fd7cb1e3eff8b3c76b85043b5fe2f0
i/KeycodeLabels.h
3ced044154945f9d60983032278e00fe28f4ab1b 13-Aug-2011 Rajneesh Chowdury <rajneeshc@google.com> Fix for 4142219 Don't hard code platform-specific limitations (Jni/ Java)

Also fixes 5118207 add other video codec support for video editor export.

Change-Id: If72427173bd8ff684af07ba00f4425c1deef29c6
edia/MediaProfiles.h
c8f4c6a5d02d46eedd876bfc0be3468d6d4000e0 18-Aug-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: fix queues-to-composer"
fde00591c6e3243a7834b21f57e8c386f23aa597 18-Aug-2011 Wu-cheng Li <wuchengli@google.com> Merge "Add new camera focus mode FOCUS_MODE_CONTINUOUS_PICTURE."
9b8fc65b0353db3a962ab52dc556c356d556fcc1 18-Aug-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix queues-to-composer

This change fixes the NATIVE_WINDOW_QUEUES_TO_WINDOW_COMPOSER query of
Surface and SurfaceTextureClient. Surface now uses the inherited
SurfaceTextureClient implementation of this query. SurfaceTextureClient
now queries SurfaceFlinger to determine whether buffers that are queued
to its ISurfaceTexture will be sent to SurfaceFlinger (as opposed to
some other process).

Change-Id: Iff187e72f30d454229f07f896b438198978270a8
urfaceflinger/ISurfaceComposer.h
c395530de8d91e301460e0bc16e70696043049e3 18-Aug-2011 Mathias Agopian <mathias@google.com> Merge "don't return the current buffer from dequeueBuffer"
8618ebcc5d20a5983da1fc6200d50c3662aca6e3 18-Aug-2011 Mathias Agopian <mathias@google.com> don't return the current buffer from dequeueBuffer

we were not reseting mCurrentTexture in some situations
which in turn caused dequeueBuffers() return a
"FREE" buffer that was also current.
Very often it was harmless, but it created a race with
updateTexImage() which could cause the following
queueBuffers() to fail.

Bug: 5156325
Change-Id: If15a31dc869117543d220d6e5562c57116cbabdb
ui/SurfaceTexture.h
32f684651674469eb3bf2a618c239a5bf9846c21 17-Aug-2011 Xavier Ducrohet <xav@android.com> am ddf155b8: am 5dcda1fd: am 88512f59: am a8313e71: Merge "Fix String16 operator+ to actually work"

* commit 'ddf155b8338eb894a97612e4cb21257c11d8434a':
Fix String16 operator+ to actually work
ddf155b8338eb894a97612e4cb21257c11d8434a 17-Aug-2011 Xavier Ducrohet <xav@android.com> am 5dcda1fd: am 88512f59: am a8313e71: Merge "Fix String16 operator+ to actually work"

* commit '5dcda1fda53bdc6dfe80cf37e62cacdc216224b1':
Fix String16 operator+ to actually work
5dcda1fda53bdc6dfe80cf37e62cacdc216224b1 17-Aug-2011 Xavier Ducrohet <xav@android.com> am 88512f59: am a8313e71: Merge "Fix String16 operator+ to actually work"

* commit '88512f59bc051a42f4dd70acc8af5622f7e99db6':
Fix String16 operator+ to actually work
88512f59bc051a42f4dd70acc8af5622f7e99db6 17-Aug-2011 Xavier Ducrohet <xav@android.com> am a8313e71: Merge "Fix String16 operator+ to actually work"

* commit 'a8313e71fe8b483448d14e22610101c5f3672744':
Fix String16 operator+ to actually work
b9ac75d3dfc53ab4a0a104da147f1dfd7bc8c12f 16-Aug-2011 Wu-cheng Li <wuchengli@google.com> Add new camera focus mode FOCUS_MODE_CONTINUOUS_PICTURE.

The API is still hidden.

bug:5086125
Change-Id: I69268a95ad6aae249771d3a8dfb423ffe2d87081
amera/CameraParameters.h
4d07453ded674f5116ed4098cd4cec3b79cca3ba 17-Aug-2011 Josiah Gaskin <josiahgaskin@google.com> Fix String16 operator+ to actually work

This change fixes the String16 utility's operator+ function.

Change-Id: Ibed7b07277b50bf178febc72b6ce497893e66f17
tils/String16.h
d84fd7927eaf70fb7b9a55dd6c2adccfa66009ac 16-Aug-2011 Andreas Huber <andih@google.com> Error handling in ACodec and Nuplayer.

Codec errors (and codec not found errors) now trigger a controlled shutdown
of playback and signal errors to the MediaPlayer client.

Change-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc
edia/stagefright/ACodec.h
6fe248139223a9dfaab709bc13849bdc16f27564 11-Aug-2011 Mathias Agopian <mathias@google.com> fix a memory leak and memory corruption in RefBase

we would leak a weakref_impl if a RefBase was never incWeak()'ed.
there was also a dangling pointer that would cause memory corruption
and double-delete when a custom destroyer was used to delay the
execution of ~RefBase.

it turns out that the custom destroyer feature caused most of the
problems, so it's now gone. The only client was SurfaceFlinger
who now handles things on its own.

RefBase is essentially back its "gingerbread" state, but the
code was slightly cleaned-up.

Bug: 5151207, 5084978
Change-Id: Id6ef1d707f96d96366f75068f77b30e0ce2722a5
tils/RefBase.h
1ee60119c4fa51ebfa781cf5fdc33f192e8551b8 26-Jul-2011 Ted Bonkenburg <tedbo@google.com> Remove ParcelSurfaceTexture and update MediaPlayer

This removes the ParcelSurfaceTexture class since that functionality has been
folded into Surface.java. The change also updates the MediaPlayer to get rid
of setParcelSurfaceTexture() and modifies setTexture() to use the new Surface
functionality in order to simplify the code.

Change-Id: Iafa75ea3188263928128325d8a726786971b4de4
ndroid_runtime/android_graphics_ParcelSurfaceTexture.h
ed3418076dc28c71be9bf2c09ed266ceab160a70 12-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am b654e6e5: am d144748d: Merge "Add missing include"

* commit 'b654e6e55a3e8d7e8c2e0b8b1ff4bb4f76c10e05':
Add missing include
b654e6e55a3e8d7e8c2e0b8b1ff4bb4f76c10e05 12-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am d144748d: Merge "Add missing include"

* commit 'd144748d4767b2ccfb13857e23f78bc944e9531d':
Add missing include
6752ec80b25cb1f39507d18745c7e62323772cda 10-Aug-2011 Eric Laurent <elaurent@google.com> Audio effects: track CPU and memory use separately

Before this change, CPU and memory usage for an audio effect were
registered and checked against the limit by audio policy manager
upon effect instantiation. Even if an effect was not enabled
it would prevent another effect to be created if the CPU load budget
was exceeded, which was too restrictive.

This change adds a method to register/unregister CPU load only when
an effect is enabled or disabled.
It also adds a mechanism to place all effects on the global output mix
in suspend state (disabled) when an effect is enabled on a specific session.
This will allow applications using session effects to have the priority
over others using global effects.

Also fixes some issues with suspend/restore mechanism:
- avoid taking actions when an effect is disconnected and was not enabled.
- do not remove a session from the suspended sessions list when corresponding
effect chain is destroyed.

Change-Id: I5225278aba1ae13d0d0997bfe26a0c9fb46b17d3
edia/AudioSystem.h
edia/IAudioPolicyService.h
d1c5b0233c0beecc46928318cd3dde9a9e609907 11-Aug-2011 Jean-Baptiste Queru <jbq@google.com> Add missing include

Change-Id: I00181029e80a2ba75320550c14e950fadbab8a64
ui/SurfaceTexture.h
e30af493a68391cc37891c56a5dd4fcfccffe9fc 11-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am 44874c23: am c962512c: Merge "added stub for getting buffer from surface texture"

* commit '44874c236de282b0d898f179fc9fdafa84aae40d':
added stub for getting buffer from surface texture
44874c236de282b0d898f179fc9fdafa84aae40d 11-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am c962512c: Merge "added stub for getting buffer from surface texture"

* commit 'c962512cac19e2bb1103c0c1a5f739d40d4d7740':
added stub for getting buffer from surface texture
311ffe37a5ebe79a888509211584bffb5a2eb7ce 11-Aug-2011 Chris Craik <ccraik@google.com> added stub for getting buffer from surface texture

Change-Id: If61153cacdd8027848f40f8d9035f7c4aead0a98
ui/SurfaceTexture.h
875dee4e126db967b69bbfe8be323d1562d08282 11-Aug-2011 Mathias Agopian <mathias@google.com> Merge changes I5174a6ec,I1f8538b6,Idb71fdcf

* changes:
fix a crasher in SurfaceTexture::updateTexImage()
rework dequeueBuffer()'s main loop.
error out when SurfaceTexture APIs are called while not connected
379eac24740374552eed03db7d7e1a1ee3011a2a 11-Aug-2011 Mathias Agopian <mathias@google.com> Merge "Fix typos and use new HAL_PRIORITY_URGENT_DISPLAY constant"
5c71575983e96e6e4c5149e7e39d92f760f5c1fc 11-Aug-2011 Mathias Agopian <mathias@google.com> fix a crasher in SurfaceTexture::updateTexImage()

we now make sure to drain the buffer queue on disconnect.
this happens only when in synchrnous mode. in async mode
we clear all buffers except the head of the queue.

for extra safety we also catch the null pointer
in updateTexImage (which should never happen) and return
an error.

Bug: 5111008

Change-Id: I5174a6ecbb0de641c6510ef56a611cbb4e9e1f59
ui/SurfaceTexture.h
71fd1213b49e6a33bea42348876eb1db2ab3d362 11-Aug-2011 Mathias Agopian <mathias@google.com> rework dequeueBuffer()'s main loop.

this simplifies the code a bit and also makes sure
we reevaluate mAbandoned and mConnectedApi each time
we come back from waiting on mDequeueCondition

Change-Id: I1f8538b62ad321b51ed79d953b700036daba796d
ui/SurfaceTexture.h
a04cda9986366ab480ad8008c4d923271b05d78e 11-Aug-2011 Mathias Agopian <mathias@google.com> error out when SurfaceTexture APIs are called while not connected

- also log a warning when freeAllBuffers is called with a non empty buffer queue
- rename freeAllBuffers to freeAllBuffersLocked

Change-Id: Idb71fdcf233b9ccae62d5a2a7c3c4bad2501d877
ui/SurfaceTexture.h
8f226dcb21c84f5479a0a1b2d6486293dcd2e937 10-Aug-2011 Jeff Brown <jeffbrown@android.com> am ca97671e: am 6f5a837c: Merge "Fix getSwitchState according to device capabilities."

* commit 'ca97671e2b74ed31b5bef6fd0b39e489f1ec5f51':
Fix getSwitchState according to device capabilities.
b4459d8d6d5377db2494f5a11124d49194f1044c 10-Aug-2011 Jeff Brown <jeffbrown@google.com> am 7e79b9aa: am dbff9107: Merge "Support wrapping app processes to inject debug instrumentation. Bug: 4437846"

* commit '7e79b9aad85db332d334f8bc1625bf46f030830f':
Support wrapping app processes to inject debug instrumentation. Bug: 4437846
ca97671e2b74ed31b5bef6fd0b39e489f1ec5f51 10-Aug-2011 Jeff Brown <jeffbrown@android.com> am 6f5a837c: Merge "Fix getSwitchState according to device capabilities."

* commit '6f5a837c9c4a55c82111c6cd5af6055b63fcb5a9':
Fix getSwitchState according to device capabilities.
7e79b9aad85db332d334f8bc1625bf46f030830f 10-Aug-2011 Jeff Brown <jeffbrown@google.com> am dbff9107: Merge "Support wrapping app processes to inject debug instrumentation. Bug: 4437846"

* commit 'dbff91077ddf437b62794e077d2ce9e10fff8170':
Support wrapping app processes to inject debug instrumentation. Bug: 4437846
6f5a837c9c4a55c82111c6cd5af6055b63fcb5a9 10-Aug-2011 Jeff Brown <jeffbrown@android.com> Merge "Fix getSwitchState according to device capabilities."
dbff91077ddf437b62794e077d2ce9e10fff8170 10-Aug-2011 Jeff Brown <jeffbrown@google.com> Merge "Support wrapping app processes to inject debug instrumentation. Bug: 4437846"
422e3f749697ee264ea377bf92e6b65912ba7978 10-Aug-2011 Andreas Huber <andih@google.com> Revert "Notify the OMX component that it's going to be used in "secure" mode."

This reverts commit 7616178271e95f009452a21ea45e7225997dc27a.
edia/stagefright/HardwareAPI.h
edia/stagefright/OMXCodec.h
1478836d2a3c1b93dadda13397dda1f71bbed667 10-Aug-2011 Mathias Agopian <mathias@google.com> Fix typos and use new HAL_PRIORITY_URGENT_DISPLAY constant

Change-Id: I703f8a96dd0dfec427e74363ad95729bfefc95c7
tils/threads.h
f6d08b95289ec9069fa2f3789dbfc4748dbb4883 10-Aug-2011 Mathias Agopian <mathias@google.com> Merge changes Ie06e73e5,I7ac6b5b0

* changes:
free all buffers when ANativeWindow::disconnect is called
return correct value from query after connecting a surface
c74b93fdf3ddb6fdab7878edab4d304fb14917f9 02-Aug-2011 Marco Nelissen <marcone@google.com> Keep effects sessions active when the caller dies.

Don't remove effects until the session they are in goes away or all
AudioEffects have been explicitly released. This allows the control
panel process to die without stopping the effects.

Change-Id: I4496e5df080230ca1af149dec95c1309ab8ea888
edia/AudioSystem.h
edia/IAudioFlinger.h
053b02df2d350466a2226a90709e50fedef54747 09-Aug-2011 Mathias Agopian <mathias@google.com> return correct value from query after connecting a surface

the first time a surface was connected, the values returned
by query NATIVE_WINDOW_DEFAULT_{WIDTH|HEIGHT} and
NATIVE_WINDOW_TRANSFORM_HINT were wrong until a call
to queueBuffer was performed.

Bug: 5137366, 5121607
Change-Id: I7ac6b5b0daa876638f6bed7c20f286a6e6d984f6
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
edia/stagefright/SurfaceMediaSource.h
7616178271e95f009452a21ea45e7225997dc27a 09-Aug-2011 Andreas Huber <andih@google.com> Notify the OMX component that it's going to be used in "secure" mode.

Change-Id: Id87c4b295eb38f7d24045918e73df298d7b842f9
related-to-bug: 5137212
edia/stagefright/HardwareAPI.h
edia/stagefright/OMXCodec.h
e38a2cba16f2161a3a41521c84325cc5c24d9668 05-Aug-2011 Andreas Huber <andih@google.com> Eliminate superfluous memcpys by wrapping an ABuffer in a MediaBuffer

Change-Id: I1313f117cd7cdfaf7d6ec25413a0b4b8ea495037
related-to-bug: 5122973
edia/stagefright/MediaBuffer.h
70fb9085044c5e6f52c33c970d238b764cf2373b 02-Aug-2011 Wu-cheng Li <wuchengli@google.com> Add camera bayer image format.

The API are hidden.

bug:5086073

Change-Id: Ic9a53e5d5007ad3f12a28406ee25098227f14cbc
amera/CameraParameters.h
3a5e36f96bf61a8fb71c49cf93bd97c5e1d6abb4 03-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am 98c531dc: am 9b0c6bee: Merge "Fix a compiling error when trying to use setBufferCount"

* commit '98c531dca9e52af280ca002658bbe38775b3f6ae':
Fix a compiling error when trying to use setBufferCount
98c531dca9e52af280ca002658bbe38775b3f6ae 03-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am 9b0c6bee: Merge "Fix a compiling error when trying to use setBufferCount"

* commit '9b0c6beed2cd5463655712ad80ed160c08611ff8':
Fix a compiling error when trying to use setBufferCount
c6ca43176dc30b4c3175cfeedb3dd7ec4c8d4202 03-Aug-2011 Teng-Hui Zhu <ztenghui@google.com> Fix a compiling error when trying to use setBufferCount

Change-Id: I1aefaf7ec111340a584e0beeeea60b845e16bb1f
ui/SurfaceTexture.h
bb1e275c0e684dd213f124da77110cdd9d6f090c 29-Jul-2011 Wu-cheng Li <wuchengli@google.com> Pass camera frame metadata from camera service to Java.

bug:4460717
Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
amera/Camera.h
amera/ICameraClient.h
25d8fb51dae37f1becf4fb3d32e8600c418eb6e8 02-Aug-2011 Wu-cheng Li <wuchengli@google.com> Add camera recording hint parameter.

The API is still hidden.

bug:4266229
Change-Id: I5e4c24e9e2808582aecb55ac4f1d5be3ed7e36a2
amera/CameraParameters.h
be1aa8250cee7819c49741e819e81659d1d03823 28-Jul-2011 Jeff Brown <jeffbrown@google.com> Refactor input reader to add stylus support.
Bug: 5064702

Introduced the concept of an InputListener to further decouple
the InputReader from the InputDispatcher. The InputListener
exposes just the minimum interface that the InputReader needs
to communicate with the outside world. The InputReader
passes arguments to the InputListener by reference, which makes
it easy to queue them up.

Consolidated all of the InputReader locks into one simple global
Mutex. The reason this wasn't done before was due to potential
re-entrance in outbound calls to the InputDispatcher. To fix this,
the InputReader now queues up all of the events it wants to send
using a QueuedInputListener, then flushes them outside of the
critical section after all of the event processing is finished.
Removing all of the InputMapper locks greatly simplifies the
implementation.

Added tests for new stylus features such as buttons, tool types,
and hovering.

Added some helpers to BitSet32 to handle common code patterns
like finding the first marked bit and clearing it.

Fixed a bug in VelocityTracker where the wrong pointer trace
could get cleared when handling ACTION_POINTER_DOWN. Oops.

Changed PointerCoords so it no longer stores useless zero
axis values. Removed editAxisValue because it is not very
useful when all zero value axes are absent and therefore
cannot be edited in place.

Added dispatch of stylus hover events.

Added support for distance and tool types.

Change-Id: I4cf14d134fcb1db7d10be5f2af7b37deef8f8468
i/Input.h
tils/BitSet.h
a30ed30b756136e253fd797b6eaf83205c413e15 29-Jul-2011 Derek Sollenberger <djsollen@google.com> resolved conflicts for merge of b7f09f28 to honeycomb-plus-aosp

Change-Id: Iebde13c41a2adf4e693d87e808cb0659f913e4e6
b7f09f28b92927ad5eb46f86e11a8a3df33ec914 29-Jul-2011 Derek Sollenberger <djsollen@google.com> am b7ed8471: am 01caec8c: Merge "Adding an optional param to the SurfaceTexture constructor."

* commit 'b7ed8471f1b96aff901149cf9ac29e4b32672f93':
Adding an optional param to the SurfaceTexture constructor.
b7ed8471f1b96aff901149cf9ac29e4b32672f93 29-Jul-2011 Derek Sollenberger <djsollen@google.com> am 01caec8c: Merge "Adding an optional param to the SurfaceTexture constructor."

* commit '01caec8c4165a6cce2f276f8016b9eadab966944':
Adding an optional param to the SurfaceTexture constructor.
0e4afa1fb10c0ab0878b136a1c11ea27129c7e81 29-Jul-2011 Derek Sollenberger <djsollen@google.com> Adding an optional param to the SurfaceTexture constructor.

Change-Id: I0fdbccf483a16af8039b85c0562f19a34ebce536
ui/SurfaceTexture.h
42305c54c72692c56d6f77db50b475107cd7a39e 29-Jul-2011 Michaël Burtin <mburtin@gmail.com> Fix getSwitchState according to device capabilities.

When querying switch state for a given device id, ensure that the device
exposes the given switch in its capabilities, report AKEY_STATE_UNKNOWN
otherwise.
This fix a bug in InputManager that reports an incorrect switch state
(down) when a device exposes at least one switch in its capabilites and
another switch is queried. For example, this can leads in always
reporting LID state open (SW_LID down) if only SW_HEADPHONE_INSERT is
exposed in capabilities.

Change-Id: I4e5265ec02af918c317673789e7948529842aa2d
Signed-off-by: Michaël Burtin <mburtin@gmail.com>
i/EventHub.h
d5d7e164d316e595a64faf1555839d1939da0863 17-May-2011 Jeff Brown <jeffbrown@google.com> Support wrapping app processes to inject debug instrumentation.
Bug: 4437846

Change-Id: Ib0559e5224b0fa0df074e485787307b6634e8654
ndroid_runtime/AndroidRuntime.h
4f35092af55d569975e6931ee6e8c0343f749d1e 28-Jul-2011 Kenny Root <kroot@google.com> Merge "Move extract native libraries to JNI code"
43a5d6e541fef5983e967d9b67792c0a088418ea 27-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4599730 Get audio channel count on MediaPlayer"
913a5a3cc600b496da937010160cd326bd98798f 14-Jun-2011 Mathias Agopian <mathias@google.com> DO NOT MERGE. may fix build on some version of gcc

Change-Id: Id99d390862731fd3fbc009dbffdf1d2a59dbe348
tils/RefBase.h
6ff9b812abe388478bbaba118a580c3f4a30c863 25-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 4599730 Get audio channel count on MediaPlayer

Related changes:
- Fix bug in get/setParameter* to recycle Parcels when done with them.

Change-Id: Iaff05e91bbd99a14fccb79d816dd873359b6ae65
edia/mediaplayer.h
d8d3276a29aab91855a5a5e88042abbfd40124a3 27-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 4604090: notification sound interrupted."
4c2292efbbfe7338138a9a0e8eefeaabdef1a0b4 21-Jul-2011 Wu-cheng Li <wuchengli@google.com> Add camera face detection API.

API are still hidden.

bug:4460717
Change-Id: I1a515061f141a89bd61c875257712789fb15d2d4
amera/CameraParameters.h
686200cb5f3e80c0b0519ec14cc54b280a560863 26-Jul-2011 Mathias Agopian <mathias@google.com> Merge "remove dead code and member variables."
66269ea6f68f2f25888ce1080c94ac782742fafc 12-Jul-2011 Kenny Root <kroot@google.com> Move extract native libraries to JNI code

The built-in ZipFile class was quite a long time to find an unpack
libraries. Move everything to using the libutils ZipFileRO class that
goes quite a bit faster. Initial measurements are 6 times faster than
the Java code.

Also, read files off the disk and compare their CRC against the APK's
CRC to see if we need to write the new file to disk. This also cuts down
the bootup time by up to a second per APK that has native files.

Change-Id: Ic464a7969a17368fb6a6b81d026888c4136c7603
tils/ZipFileRO.h
f3503c2c30dc0b7eb7603998469f437136497c5c 26-Jul-2011 Mathias Agopian <mathias@google.com> remove dead code and member variables.

also fix some comments and improve debugging logs.

Change-Id: I83e55309f306332b59e1ec46104c4a7fffbf3c97
ui/SurfaceTextureClient.h
6dbdc40e9a317488fc5f6e14cf9e699bce9a9387 22-Jul-2011 Eric Laurent <elaurent@google.com> Fix issue 4604090: notification sound interrupted.

The problem is that the audio HAL fails to acquire the wake lock when playing the notification.
This is because of a change that removed the mediaserver process form the system group for honeycomb.

The fix consists in requesting the wake lock from PowerManagerService when AudioFlinger mixer
wakes up.

A consequence of this change is that audio HALs or pcm drivers do not have to hold wake locks
anymore as in the past.

Change-Id: I4fb3cc84816c9c408ab7fec75886baf801e1ecb5
owermanager/IPowerManager.h
owermanager/PowerManager.h
19f773bc96c141227fab3af68d9fcdf9a3c087cb 26-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Adding Metadata mode to SurfaceMediaSource"
234cef81299688db75edb6572e37374a67f79bbc 25-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Added APIs for audio preprocessing"
0f7f4ece1b6b73caf608d533d833a8cdc11c8131 24-Jul-2011 Eric Laurent <elaurent@google.com> Added APIs for audio preprocessing

Added APIs to control pre processes applied on captured audio.
Those APIs are still hidden until reviewed by API council.

Three types of standard pre processes are supported:
- Automatic Gain Control (AGC) by AutomaticGainControl class
- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class
- Noise Suppression (NS) by NoiseSuppressor class

A method is added to AudioEffect class to query audio pre processings
applied by default by the platform on a given AudioRecord session ID.

Change-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d
edia/AudioEffect.h
edia/IAudioPolicyService.h
fb526513056eb275a8ad7ff7998e2e56be8fd467 25-Jul-2011 James Dong <jdong@google.com> Merge "Do not support still image capture mode for timelapse video recording"
d50aef50f640723e95ca270441161dfb042115d0 25-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: enable RGB external textures"
5518dd92d38edd5902482841413722aa654cc2e7 25-Jul-2011 Ted Bonkenburg <tedbo@google.com> Merge "Add support for creating a Surface from a a SurfaceTexture."
e432a0005180ba9ac2c1d7822c4761b475fddc51 24-Jul-2011 James Dong <jdong@google.com> Merge "Do not wait forever for output buffers in OMXCodec.cpp and error out in case time out happens"
d40e2c67ed6423355aeb1292b33c2f8a20b3c84d 24-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "QueryCodecs() signature change"
83dd43f45aa3212239acfb35d799216e840c9e2f 30-Jun-2011 James Dong <jdong@google.com> Do not support still image capture mode for timelapse video recording

related-to-bug: 4973779

Change-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45
edia/IMediaRecorder.h
edia/mediarecorder.h
edia/stagefright/CameraSourceTimeLapse.h
b1f8c266e47554bc45632f021c9e409399e907e7 14-Jul-2011 Pannag Sanketi <psanketi@google.com> Adding Metadata mode to SurfaceMediaSource

SurfaceMediaSource operates in metadata mode only, i.e. just the
metadata is stored in videobuffers. SurfaceMediaSource passes the Gralloc
buffer handle along with a 4 byte 'type' (indicating that the metadata
is of type GrallocSource) to the encoder as opposed to the
GrallocBuffer itself.

Related to bug id: 4529323

Change-Id: I83aebc0dd10f317658cdf70be5802dfc35a1e72d
edia/stagefright/MetadataBufferType.h
edia/stagefright/SurfaceMediaSource.h
65cdc2b7b6759c3d13f78b2a00ed1c11f840db4f 23-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Connect MediaRecorder Native to SurfaceMediaSource"
0de171b0d490a5928d54d2fb67c912d140aac643 16-Jul-2011 Ted Bonkenburg <tedbo@google.com> Add support for creating a Surface from a a SurfaceTexture.

The Surface is already using SurfaceTexture internally and it is parcelable. This
is intended to replace and phase out ParcelSurfaceTexture in favor of creating a
new Surface.java object from an existing SurfaceTexture.

Change-Id: I8e2dd86614523da6abed6403e1d705a68fa19fdf
urfaceflinger/Surface.h
ecfa1d3a7941a4f1a9c381c9c7419ecd0bd86967 20-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: enable RGB external textures

This change removes support for conditionally using the GL_TEXTURE_2D
target for SurfaceTexture textures with RGB buffers. It also enables
and fixes the RGB-based SurfaceTexture tests.

Change-Id: I9a251a981cf66af6b048b2e4c3fe7231e4774f4d
ui/SurfaceTexture.h
a05f099301ca9d5efd4db549295401ee00b439a0 22-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> QueryCodecs() signature change

Restore QueryCodecs() signature exactly as used by third-party libs.
Add an alternative function to select HW only codecs.

Change-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f
edia/stagefright/OMXCodec.h
5ef59bc764d6bcd0ccf0a266d7d9ab792668a3e9 19-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add the abandon method.

This change adds the 'abandon' method to the SurfaceTexture C++ class.
This method may be used to put the SurfaceTexture in an abandoned state,
causing all ISurfaceTexture methods to fail.

Change-Id: Ibd261f7b73f44e2bec36a8508bf92113cfb7cf95
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
edia/stagefright/SurfaceMediaSource.h
897e27bc75886e44d2f9f09155127f401c4173ea 02-Jul-2011 Pannag Sanketi <psanketi@google.com> Connect MediaRecorder Native to SurfaceMediaSource

Making a connection from MediaRecorder Native layer to the
SurfaceMediaSource for the purpose of encoding GL Frames. This will be
called from the java side inside the Mobile Filter Framework.

The mediarecorder native layer (client), when set the videosource to
option VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver
side to create a SurfaceMediaSource object and pass it back as a
sp<ISurfaceTexture> object. Using that, the client side will dequeue and
queue buffers. Connecting the GL Frames to the obtained
sp<ISurfaceTexture> is not part of this CL.

Related to bug id: 4529323

Change-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
edia/stagefright/SurfaceMediaSource.h
e333d3c8243e11b094cec816cb9b41e2b8504582 22-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceMediaSource: remove getAllocator method

This change removes the getAllocator method from SurfaceMediaSource
because that method is no longer a part of the ISurfaceTexture
interface.

Change-Id: I0e2f0bc3bc1c8cd3c1b4b14246f07b9b4e3066c3
edia/stagefright/SurfaceMediaSource.h
95b404228547eb771700e6cbb927adc282aebccd 22-Jul-2011 Jamie Gennis <jgennis@google.com> Merge changes I799532f7,I5cffa6eb

* changes:
SurfaceTexture: fix a comment
SurfaceTexture: remove getAllocator
38eea1b800c7374382f83f30fec85d0f6b415f13 22-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Renaming SurfaceEncoder to SurfaceMediaSource"
67d7704bd2e4a7640d12a9d06ad5971b23b51ad5 22-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Adding SurfaceEncoder for encoding FilterFrames"
178e8eb5ddb06dca2f225df6f8df662ad0d15d26 18-Jul-2011 Andreas Huber <andih@google.com> Retry datasource fetches a few times before giving up (NuCachedSource2).

Change-Id: I147fc18ef55bc89d2e2fee69b7869c45abbfdd6b
related-to-bug: 3405354
edia/stagefright/DataSource.h
f48987db6711512173327bc6ec8d253ba914dab1 01-Jul-2011 Pannag Sanketi <psanketi@google.com> Renaming SurfaceEncoder to SurfaceMediaSource

Related to bug id: 4529323

Change-Id: Id820d45a536bd2c65e0a59def564eb5b3ea4a71c
edia/stagefright/SurfaceEncoder.h
edia/stagefright/SurfaceMediaSource.h
26a197120c1bad8797f35e9b43482f5466280f8c 11-Jun-2011 Pannag Sanketi <psanketi@google.com> Adding SurfaceEncoder for encoding FilterFrames

Adding SurfaceEncoder which can be used to encode
custom frame data. In a sense, it is reverse
of what SurfaceTexture does.

SurfaceEncoder takes in frames from a native window and
passes them to an encoder, thus acting like a MediaSource.
It uses GRAlloc buffers underneath for passing data.
The client side sets the geometry, format in the beginning,
which cannot be changed while the recording is going on.

Currently, there is no common pixel format that both
GRAlloc and HAL understand.
Also, the encoder cannot encode using the data from the GRAlloc
buffers.

The SurfaceEncoder_test examines mainly the buffer passage
since true encoding cannot be done at this point.
SimpleDummyRecorder 'reads' the frames in the same thread
as the start(), whereas DummyRecorder 'reads' in a separate
thread much like the MPEG4Writer. The test with DummyRecorder
is much closer to the real encoding implementation.

Related to bug id: 4529323

Change-Id: I58ec19a150f8fe4d6195196dc44f55002b46c7c8
edia/stagefright/HardwareAPI.h
edia/stagefright/MediaSource.h
edia/stagefright/SurfaceEncoder.h
i/PixelFormat.h
348c45bd963389dfd3038c57bd7728608cb31fa4 20-Jul-2011 Pannag Sanketi <psanketi@google.com> Adding AndoirdOpaque Colorformat to OMX

Adding an enum to indicate an android opaque OMX
colorformat. This will inform the encoder that
the actual colorformat will be relayed by the
Frames read from the GRAlloc Buffers

Related to bug id: 4529323

Change-Id: Iddc5bd1ce8ca2b2506a57aadf5fc91ff0c7b78ef
edia/stagefright/openmax/OMX_IVCommon.h
075db95875db320d4e2ed05be0301ff3cc6023e1 19-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a comment

Change-Id: I799532f77f8fbb6b8ee6888fdd8852b6f28e8c33
ui/SurfaceTexture.h
5c23a2c72d1c3d2c423355ae301e0822e1662b9f 19-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: remove getAllocator

This change removes the SurfaceTexture::getAllocator method, as it's no
longer needed. Proper refcounting of the Gralloc buffers is now handled
by the IGraphicBufferAlloc binder marshalling code.

Change-Id: I5cffa6ebfc1bc5828fb7ce0e0a5b2f55cd8479da
ui/ISurfaceTexture.h
ui/SurfaceTextureClient.h
432fb8ecbed402b06f7f92d829be544b317059be 21-Jul-2011 Hong Teng <hongteng@google.com> Merge "fix for issue 4142219 Don't hard code platform-specific limitations-jni/java part"
f5a4dd386fcbe200ad9c5d06ecf66d31ba8d4e30 21-Jul-2011 Mathias Agopian <mathias@google.com> Merge "clean-up. get rid ofunused code and members in Surface[Control].cpp"
5da67f4f6918fccc4a89d4facd8642164c630c57 21-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Untangle MediaScanner error handling. Bug: 5056917"
ae7c0926499491999fa5964d75fd05a1b5f4480d 21-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Audio framework: support for audio pre processing"
2c70d4a372a8ce83163f19bbd6ae82483ffbe46b 21-Jul-2011 Jeff Brown <jeffbrown@google.com> Untangle MediaScanner error handling.
Bug: 5056917

Change-Id: I1a7a73579e3ba4e9709459329fc1901a28b0f4b1
edia/mediascanner.h
edia/stagefright/StagefrightMediaScanner.h
50c24a2000c785f8be2367e1fc7938a5eda5c9e8 21-Jul-2011 Mathias Agopian <mathias@google.com> clean-up. get rid ofunused code and members in Surface[Control].cpp

Change-Id: Ia7790ae28af2c2ac99eae01c2c5044ace4a490a4
ui/ISurfaceTexture.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/Surface.h
600acf14ff12eaf139f0ac644fb7e17849af65fa 07-Jul-2011 Hong Teng <hongteng@google.com> fix for issue 4142219
Don't hard code platform-specific limitations-jni/java part

Change-Id: Icde261b1caf29a8cf552884c97f3c9d0b41741a3
edia/MediaProfiles.h
ac386073df2514b79a2ca169f4a89f129733002f 21-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove unimplemented memory pool.

dlmalloc does such a great job that we don't need a pool anyways.

Change-Id: I105b28c4a5c491543959190c7c0a9de75a5b8052
tils/Pool.h
f07b8a3f691be39083fb5163f9456bcfa566f93f 20-Jul-2011 Mathias Agopian <mathias@google.com> implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation"

Bug: 4487161
Change-Id: I883f34efe542c2a566d04966f873374f40c50092
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
09d7ed7b395d66be97c6bcb052039f5c0dce646c 14-Jul-2011 Mathias Agopian <mathias@google.com> Add set_scaling_mode() to ANativeWindow.

This allows to specify the scaling mode independently from
the buffer size.

Change-Id: Iaa2baa660445531a97d3fac192e580f4929c5d3b
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
5a4ab16eba0a3c9749e0179b005475dfaaafacb5 19-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "MediaPlayer: add ANativeWindow (dis)connect calls"
10e6f34a67b77c17286e2438485bac5f63776116 18-Jul-2011 Mathias Agopian <mathias@google.com> Merge "move lock/unlock implementaion outside of Surface into SurfaceTextureClient"
211f5af3bb47ba44c9714abbef0dec1b1a0ada51 18-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add option to query hardware decoders only"
56a37b052912d09c310f43ab1215ccc93f2dbda5 18-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Add option to query hardware decoders only

Add an option to OMXCodec::QueryCodecs() to filter out
software codecs.

Update stagefright command line tool to list the roles of codecs.

Change-Id: Icddb79118c30fe13cc3aea20f340174cc082c4e0
edia/stagefright/OMXCodec.h
464d5b3da21c84ba13dc69c611d40f6bed49badb 18-Jun-2011 Eric Laurent <elaurent@google.com> Audio framework: support for audio pre processing

Audio effect framework is extended to suport effects on
output and input audio path.

AudioFlinger: Support for audio effects and effect chains is
moved from PlaybackThread class to ThreadBase class so that
RecordThread can manage effects.
Effects of type pre processing are allowed on record thread
only. When a pre processing is enabled, the effect interface handle is
passed down to the input stream so that the audio HAL can call the
process function. The record thread loop calls the effect chain process
function that will only manage the effect state and commands and skip the
process function.

AudioRecord: The audio session is allocated before calling getInput() into
audio policy serice so that the session is known before the input theead is
created and pre processings can be created on the correct session.

AudioPolicyService: default pre processing for a given input source are
loaded from audio_effects.conf file.
When an input is created, corresponding effects are created and enabled.

Change-Id: Id17119e0979b4dcf189b5c7957fec30dc3478790
edia/AudioEffect.h
edia/AudioSystem.h
edia/IAudioPolicyService.h
949be32b671304d5281ac0abbf30dcf4ebaa9eaf 14-Jul-2011 Mathias Agopian <mathias@google.com> move lock/unlock implementaion outside of Surface into SurfaceTextureClient

This makes ANativeWindow_lock/ANativeWindow_unlockAndPost work
with ANativeWindows implemented by Surface and SurfaceTextureClient.

Also, Surface now inherits directly from SurfaceTextureClient.

Bug: 5003724
Change-Id: I9f285877c7bae9a262e9a7af91c2bae78804b2ef
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
7e7de71f6eef5652ee1260e40215804a2ce543c3 16-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "CPU statistics library"
d9ac621f590c51bdc38b46d5aabba2dbc84cbd58 16-Jul-2011 James Dong <jdong@google.com> Do not wait forever for output buffers in OMXCodec.cpp and error out in case time out happens

o Deal with vendor codec hang bug

Change-Id: Ic8449afd43045f09a9e0bd3d1be9a320e59ccabe
edia/stagefright/OMXCodec.h
131515b681e26e3f4d8c21cc6b540142a3526712 08-Jul-2011 Glenn Kasten <gkasten@google.com> CPU statistics library

Change-Id: I113e2a926466cc410cfa5602ceb165b390a290fc
pustats/CentralTendencyStatistics.h
pustats/README.txt
pustats/ThreadCpuUsage.h
06b54d7184e015256ad1817e381f61eb7514a3e2 15-Jul-2011 Jamie Gennis <jgennis@google.com> Merge changes Id9aa1003,I8c154189

* changes:
SurfaceTexture: make (dis)connect into an IPC
SurfaceTexture: add support for new connect values
c85ca5d6b573e1a663a10950578220b4580c285c 13-Jul-2011 Jamie Gennis <jgennis@google.com> MediaPlayer: add ANativeWindow (dis)connect calls

This change makes MediaPlayer connect to the ANativeWindow to which it
is going to render video frames and disconnect when it is done.

Change-Id: I88ab5c2fe62493aabdc84a283ff31634f795d415
edia/mediaplayer.h
9709687463dc5f1255f435e57b3d2beed8b70330 14-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: make (dis)connect into an IPC

This change makes the ANativeWindow connect and disconnect calls result
in an IPC to the SurfaceTexture object. This will allow us to prevent
multiple simultaneous connections from different processes.

Change-Id: Id9aa1003b1335b96ca6bd4a1f5a67aa433d42efb
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
ad07457ece56ba710d3a0334eb8e711646c7141a 14-Jul-2011 James Dong <jdong@google.com> Merge "Support profile and level query for SW video decoders"
1a541075622c5eacbef43c1134f7f9a2598b29b7 14-Jul-2011 Andreas Huber <andih@google.com> Merge "Remove legacy http support from stagefright, chromium is the new hotness."
c1b9bbb21c8ad5109978a4e9e770cd18b0257434 13-Jul-2011 Mike Lockwood <lockwood@android.com> Remove some #ifdef HAVE_ANDROID_OS that were needed for the simulator build

Change-Id: I13d9f251f86c05ae5405f37adbf6b8e9660935ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
rivate/binder/binder_module.h
c3119330a56c2dafa282b0b7450893c3f8cb5636 14-Jul-2011 Andreas Huber <andih@google.com> Remove legacy http support from stagefright, chromium is the new hotness.

Change-Id: I6725d42d38b91e6a1cbca43174870f445aeb3d99
edia/stagefright/ShoutcastSource.h
67d464f47e842d5069e993408fd51ec122ad8019 13-Jul-2011 Andreas Huber <andih@google.com> Enable signalling of a stream discontinuity involving a format-change

through IStreamListener.

Change-Id: Ic0409cdc4891ad26b61f2f98bdda3c7fb2e2de6a
related-to-bug: 5022434
edia/IStreamSource.h
dcf8934f4e90d89a468d3efbfa3852e4bfc37518 12-Jul-2011 James Dong <jdong@google.com> Make MetadataBufferType.h C-friendly

Change-Id: I4388d8f6cf30f08858aec73aa971647feae4a5e3
edia/stagefright/MetadataBufferType.h
308f9f6b248402c67d73c3ad48f5b6b888bab7b7 12-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "EGL: fix the ANativeWindow size/fmt override"
501c4671e73a484c1f01d94f4f5fff124c05f197 11-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Eliminate single-process mode. Bug: 5010576"
9b40a61ce98b6adce4df046fce8d67d64630b379 11-Jul-2011 James Dong <jdong@google.com> Merge "Do not wait for unlaunched threads in stop()"
0e27fce92348bc765a13a94d31405069ec596426 09-Jul-2011 James Dong <jdong@google.com> Do not wait for unlaunched threads in stop()

Change-Id: If681749753bb96ee98c1539658cfd919eeb0cb65
edia/stagefright/MPEG4Writer.h
97eae025ad857e33dce5b3d1d4fd5fe5813d2a80 01-Jul-2011 Jamie Gennis <jgennis@google.com> EGL: fix the ANativeWindow size/fmt override

This change fixes how the Android EGL layer overrides the size and
format of an ANativeWindow in eglCreateWindowSurface. The new behavior
is to leave the size untouched when overriding the format. The previous
behavior was to reset the ANativeWindow to use the default size set by
the ANativeWindow implementation.

It also adds two new 'perform' methods to the ANativeWindow interface:
set_buffers_dimensions and set_buffers_format, and redefines the
behavior of set_buffers_geometry to be the combination of these two new
methods.

Additionally, this change adds an error check for the return value of
the new native_window_set_buffers_format call, which required adding a
(stub) handler for to FramebufferNativeWindow.

Change-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1
ui/SurfaceTextureClient.h
fbb170ca9cbbd0c87c71ac39ecbb36086bca5ee2 11-Jul-2011 James Dong <jdong@google.com> Support profile and level query for SW video decoders

Change-Id: I9c20db128be96cd36cf2083e08e8c21f5e6d1fdf
edia/IOMX.h
edia/stagefright/OMXCodec.h
8d19d3ae1e828e9189e2174e8ea88374af93f18e 09-Jul-2011 James Dong <jdong@google.com> Release camera if CameraSource::start() has not been called

Change-Id: I2f7e4b8501db3d80b9aa6f99d896d778bec29e8c
edia/stagefright/CameraSource.h
10e89712863f5b91a2982dc1783fbdfe39c1485d 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
inder/ProcessState.h
33eafef1a9ef508f7b1ae1edf4caf29b81a80255 23-Jun-2011 Glenn Kasten <gkasten@google.com> Add C++ thread API androidGetThreadSchedulingGroup

This API is intended for applications that need to read a thread's
scheduling group, while using the higher-level (C++) family of thread APIs.

Change-Id: I5e58017f74c3989b20b5b1cc2bc4483c95720520
tils/threads.h
5cc05263399fea948c3b80f83f07ff7476ef0505 24-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: Icfc2264bfd013cab0395d7e310ada636b9fe3621
edia/EffectBassBoostApi.h
edia/EffectEnvironmentalReverbApi.h
edia/EffectEqualizerApi.h
edia/EffectPresetReverbApi.h
edia/EffectVirtualizerApi.h
edia/EffectVisualizerApi.h
edia/Visualizer.h
5161eb7b233cf3b806046fd935f248b3844d9bd7 06-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Add Thread::join"
7eef784ea9764c9ca86efb730fcdceda51a0ea87 06-Jul-2011 Mathias Agopian <mathias@google.com> Merge "return an error code with gralloc buffer allocation failures"
2da9eb7175e59a4ad8b9cec185f9cfdf8e075859 06-Jul-2011 Gloria Wang <gwang@google.com> Merge "- Retrieve is_drm in MediaMetadataRetriever. - Add one more column in MediaStore to indicate whether a media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager"
4431c05f136bc1073b368221e3515aaf7fe8424e 06-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Thread ID zero for androidSetThreadSchedulingGroup"
6894a2947eb1f9d499fd7f1a1ec4e7098e07d25d 02-Jul-2011 Jeff Brown <jeffbrown@google.com> Workaround apps that make assumptions about pointer ids.

Modified the touch input mapper to assign pointer ids sequentially
starting from 0 instead of using the tracking id or slot index
supplied by the driver. Applications should not depend on this
ordering but some do. (sigh)

Bug: 4980884
Change-Id: I0dfeb3ac27c57a7102a13c960c760e2a02eb7669
tils/BitSet.h
82428a862f325238cfb5646bbd65de3f1a11e7cc 27-Jun-2011 Gloria Wang <gwang@google.com> - Retrieve is_drm in MediaMetadataRetriever.
- Add one more column in MediaStore to indicate whether a
media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager

Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
edia/mediametadataretriever.h
edia/stagefright/MediaExtractor.h
eec0f7ebac85d3d1b1151e62b2ed0f25c138d447 01-Jul-2011 Mathias Agopian <mathias@google.com> return an error code with gralloc buffer allocation failures

Change-Id: I471e5d37ea7a42fc8a0f93446ee3b4229da37807
urfaceflinger/IGraphicBufferAlloc.h
dfba1773c911c4d97838923334c5a879424387bf 01-Jul-2011 Andreas Huber <andih@google.com> Merge "Charge network traffic to the uid of the process using the MediaPlayer."
5725d404602095be91d7a0a6bcdeeddd773b4761 01-Jul-2011 James Dong <jdong@google.com> Merge "Add extended metadata buffer support by defining different types of metadata buffers"
603d739b5a444c52b63f1ec7cd2098034151ad25 01-Jul-2011 Andreas Huber <andih@google.com> Charge network traffic to the uid of the process using the MediaPlayer.

Change-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067
related-to-bug: 4517282
edia/MediaPlayerInterface.h
42fb5d64b9a4f4be5163c67374cca5eaa7226791 30-Jun-2011 Andreas Huber <andih@google.com> Support a "secure input buffer" mode for use by Widevine DRM in OMXCodec.

Change-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad
edia/stagefright/MediaSource.h
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
ea458f190b5f496f80bf98a6ccaca2d46274cebc 01-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Minor fix in SurfaceTexture"
c9ec69eb6f07881e1d0582156e5697eff69f5546 24-Jun-2011 Pannag Sanketi <psanketi@google.com> Minor fix in SurfaceTexture

Change-Id: Ic859715becf3e6d5107bd8beb8c577034d00ec52
ui/SurfaceTexture.h
272aaa382f95c38221739f2287c29e414523a5cc 30-Jun-2011 Mathias Agopian <mathias@google.com> Merge "SF transactions are now O(1) wrt IPC instead of O(N)."
439863f3b3e725b5de1cba4940a21900369961c0 29-Jun-2011 Mathias Agopian <mathias@google.com> SF transactions are now O(1) wrt IPC instead of O(N).

Change-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43
rivate/surfaceflinger/LayerState.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/SurfaceComposerClient.h
tils/SortedVector.h
tils/Vector.h
9e1fb41b4fbfbd190560cf48f24939703a13eca5 29-Jun-2011 Jason Simmons <jsimmons@google.com> Merge "Add a linear transform library to libutils"
e0947693c9984727dfa775a747dd32aaaeb90284 29-Jun-2011 Xavier Ducrohet <xav@google.com> am 54146a63: Merge "DO NOT MERGE. may fix build on some version of gcc" into gingerbread

* commit '54146a634e0e66a5e4732ba1a80079a1e93bdd8a':
DO NOT MERGE. may fix build on some version of gcc
aa11965bd55b8344104ebb0c9ebf39ee0cced03f 29-Jun-2011 Jason Simmons <jsimmons@google.com> Add a linear transform library to libutils

Change-Id: Icdec5a6bebd9d8f24b3f335f8ec8b09a5810a774
tils/LinearTransform.h
cd8cd351d48e29760eb372ad0988a672413757d3 28-Jun-2011 James Dong <jdong@google.com> Add extended metadata buffer support by defining different types of metadata buffers

Change-Id: I6aa6b5da004c240c9986f6b9036950e234c8bd42
edia/stagefright/MetadataBufferType.h
cde732451070479dd999583f602693c36cdc65c7 28-Jun-2011 Andreas Huber <andih@google.com> Merge "Support for writing output data to a provided callback function instead of a file"
068dbbf7ee7ed22a4595e7afaa2be6d57c2774f6 28-Jun-2011 Andreas Huber <andih@google.com> Support for writing output data to a provided callback function instead of a file

in MPEG2TSWriter

Change-Id: Ie54a5677c7b789a973aa50b7f197c6db238425bc
edia/stagefright/MPEG2TSWriter.h
3cf7cf575138bcbe5b49c32eb4ae401f92e4c8f7 28-Jun-2011 Jamie Gennis <jgennis@google.com> Merge changes I9fb59763,I8b2c6e00

* changes:
SurfaceTexture: consume buffers after err checks
SurfaceTexture: change onFrameAvailable behavior
e366f52b1520f13306d5fef1c3c8a2b2c653d935 28-Jun-2011 Andreas Huber <andih@google.com> Multiple changes to ACodec/codec tools:

Make sure sf2 does not coalesce input buffers, generalize ACodec's codec
instantiation based on OMXCodec's list of eligible component names.

Some changes/additions to the "sf2" commandline tool

Make surface options consistent with stagefright tool, i.e. use '-S' instead of '-s'
New option '-R' renders surface-allocated buffers.

Also fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified.

Change-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae
edia/stagefright/OMXCodec.h
84e297238f53f83c9e7de499e711b997d09514e0 27-Jun-2011 Andy McFadden <fadden@android.com> Remove native EventRecurrence parser

Switch over to the new parser.

Bug 4575374

Change-Id: If78d8042fb266182900398f7fc464a048c779966
im/EventRecurrence.h
0dd593f22352a0863223fa4ea7e37e926b99282e 28-Jun-2011 Mathias Agopian <mathias@google.com> PermissionCache caches permission checks

This is intended to absorb the cost of the IPC
to the permission controller.
Cached permission checks cost about 3us, while
full blown ones are two orders of magnitude slower.

CAVEAT: PermissionCache can only handle system
permissions safely for now, because the cache is
not purged upon global permission changes.

Change-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e
inder/Permission.h
inder/PermissionCache.h
bd5404d0312752e7c8946e8540129f0d2d97bcd7 27-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: change onFrameAvailable behavior

This change alters the conditions under which the onFrameAvailable
callback gets called by the C++ SurfaceTexture class. The new behavior
is to call the callback whenever a frame gets queued that will be
visible to the buffer consumer. This means that buffers queued in
synchronous mode always trigger the callback, as those buffers will
remain pending until they are consumed. Buffers queued in asynchronous
mode will only trigger the callback if there was not previously an
unconsumed buffer pending.

The new behavior means that a consumer should perform a draw operation
exactly once for every onFrameAvailable call that it recieves. This
change also modifies SurfaceFlinger and the SurfaceTexture JNI to
support of the new behavior.

Change-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40
ui/SurfaceTexture.h
f24c4cd0f204068a17f61f1c195ccf140c6c1d67 22-Jun-2011 Anu Sundararajan <sanuradha@ti.com> MemoryHeapBase: Save and binderize the offset

The offset that is used in the creation of the MemoryHeapBase must be saved, so
that it can be used to recreate the Heap when an IMemory object is passed
across process boundary through the binder.

Change-Id: Ie618fb5c0718e6711f55ed9235616fd801e648dc
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
inder/IMemory.h
inder/MemoryHeapBase.h
42419ce28a09eb63e29a8fef87e6f5534f41902f 01-Jun-2011 Wu-cheng Li <wuchengli@google.com> Add framework support for camcorder zoom.

The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.

Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.

ICameraRecordingProxy
startRecording()
stopRecording()
releaseRecordingFrame()

ICameraRecordingProxyListener
dataCallbackTimestamp()

The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.

The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
(1) The app: MediaRecorder.start().
(2) The recorder: ICamera.unlock() and ICamera.disconnect().
(3) The recorder: ICameraRecordingProxy.startRecording().
(4) The app: ICamera.reconnect().
(5) The app: ICamera.startRecording().
4. During recording
(1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
(2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
(1) The app: MediaRecorder.stop()
(2) The recorder: ICameraRecordingProxy.stopRecording().
(3) The app: ICamera.stopRecording().

bug:2644213

Change-Id: I15269397defc25cbbcae16abc071c8349c123122
amera/Camera.h
amera/ICameraRecordingProxy.h
amera/ICameraRecordingProxyListener.h
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
7595e84d3a60d2a63990703043a8e9647f71e3a4 24-Jun-2011 Jean-Baptiste Queru <jbq@google.com> am f458d5fd: Merge "Tweak for forward-compatibility"

* commit 'f458d5fdb8a48747d6fdd5fd0d0a44a6a8ed89e9':
Tweak for forward-compatibility
0fe0e7a4cb82868068cc9aa3177e8ad2b5d72237 24-Jun-2011 Jean-Baptiste Queru <jbq@google.com> Tweak for forward-compatibility

Change-Id: Ic5e4d949c1c80a2ebdc2ec802c35b5d3d7f9661d
ui/SurfaceTexture.h
138f33bceff0d9ed45fcb806417cdb438544ab4e 24-Jun-2011 Mathias Agopian <mathias@google.com> Merge "Add allowSynchronousMode to SurfaceTexture constructor."
0904d0af81e8a0a5404d6c03f4dcea02bea8170d 24-Jun-2011 Grace Kloba <klobag@google.com> Add allowSynchronousMode to SurfaceTexture constructor.

Change-Id: I54f30a3c16bbe6b813f3bcd1d389da5627531304
ui/SurfaceTexture.h
d35df4412bc2218bb0d22522bd366123b8e6400c 22-Jun-2011 Anu Sundararajan <sanuradha@ti.com> Integrating TI OMAP4 Video Decoder

Added the video decoder component name to kDecoderInfo.
Set the quirks for the video decoder.
Add a new color format to OMX_IVCommon.h to denote TI OMAP4 NV12 color format.
Added a color conversion routine [ from NV12 to RGB ] for thumbnail generation.

Change-Id: I6b23c36441645ef65ec7406ba262d19f89cf64fd
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
edia/stagefright/ColorConverter.h
edia/stagefright/openmax/OMX_IVCommon.h
5510a153bf3e02b6b6230e006aaa11e53085d3e1 24-Jun-2011 Gloria Wang <gwang@google.com> Merge "- Public part of the Metadata API. - Modify the media framework test for Metadata."
1e1b13e62e38d6efc7cef4b496b3119bd45ee2c2 23-Jun-2011 Gloria Wang <gwang@google.com> - Public part of the Metadata API.
- Modify the media framework test for Metadata.

Change-Id: Ib8fa4991f114e1bb88a17ca662844b9b8e1d0faf
edia/Metadata.h
0694cfe49a889788e185a265deed0c231fe31f4b 23-Jun-2011 tedbo <tedbo@google.com> Merge "Add method to create a ParcelSurfaceTexture from android.view.Surface."
697283e9177ee5730bf5c652c3c05d3aa3838ace 23-Jun-2011 Glenn Kasten <gkasten@google.com> Add Thread::join

This new API will be used by applications that previously used the
lower-level pthread APIs (including pthread_join). Centralizing on the
Thread class instead of pthread will permit additional functionality to
be added later in only one location.

Change-Id: I8460169ac9c61ac9f85752405ed54c94651058d7
tils/threads.h
60d47796ccfb3db3ab73017897f648678daddc83 23-Jun-2011 Glenn Kasten <gkasten@google.com> Thread ID zero for androidSetThreadSchedulingGroup

Already implemented by androidSetThreadPriority but not documented

Change-Id: I85302b17092952065f3f3a4214d8d8abdd465dbd
tils/threads.h
4e8a5c922c287ec97fec847194e930f8598a1941 23-Jun-2011 tedbo <tedbo@google.com> Add method to create a ParcelSurfaceTexture from android.view.Surface.

Change-Id: I05e343ab7e327478f60322af9373574b70c148f5
ndroid_runtime/android_view_Surface.h
urfaceflinger/Surface.h
eaa5d8f9c0117bdaa20fd0a57921156bb0c06345 01-Jun-2011 Gloria Wang <gwang@google.com> Timed text display format support:
1. Extract 3GPP global format descriptions
2. Extract 3GPP local format descriptions
3. Define data structure (TimedText) for applications to
retrieve the format metadata

Change-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e
edia/stagefright/MetaData.h
c972c795cfdb0d16d664510b5041e43cfdc2a5ac 21-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: fix a NULL ptr dereference."
aff74054189a4276a250eac91ac301ab2df37ae3 20-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a NULL ptr dereference.

This change adds a NULL check when searching the slot list in
SurfaceTextureClient for the slot corresponding to a buffer being
queued or canceled.

Bug: 4645023
Change-Id: I806cbc1e34da118ea33a83c4f25ce8193ba1c3ad
ui/SurfaceTextureClient.h
ff3ead5072721bfb24202ff9b041cc4291f34e21 20-Jun-2011 Jean-Baptiste Queru <jbq@google.com> am e3b05d09: Merge "Tweaks for forward-compatibility"

* commit 'e3b05d09163257b888c86f2a560e10c48f4cf029':
Tweaks for forward-compatibility
84d0ccf16cccf02d5cab51c0cb6c9cee79b60f3f 18-Jun-2011 Jean-Baptiste Queru <jbq@google.com> Tweaks for forward-compatibility

Change-Id: Iec525edc186e78d5d865f82dd5b1f56263c22e86
ui/SurfaceTexture.h
i/GraphicBuffer.h
i/android_native_buffer.h
ec15afca08fcc342d6f22cf02a21975af13091cf 14-Jun-2011 Mathias Agopian <mathias@google.com> DO NOT MERGE. may fix build on some version of gcc

Change-Id: Id99d390862731fd3fbc009dbffdf1d2a59dbe348
tils/RefBase.h
3b916233cbbbcc5bbc703213af5e647910956cbc 17-Jun-2011 Mathias Agopian <mathias@google.com> am 48294b0d: am e7d3ee9d: Revert "merge various SF fixes from gingerbread to honeycomb-mr2" (DO NOT MERGE)

* commit '48294b0d9388cff632f0e6ae5220305d342c76fb':
Revert "merge various SF fixes from gingerbread to honeycomb-mr2" (DO NOT MERGE)
e7d3ee9d81de13e992c7d063ca472d480956b0c6 17-Jun-2011 Mathias Agopian <mathias@google.com> Revert "merge various SF fixes from gingerbread to honeycomb-mr2" (DO NOT MERGE)

Also revert all dependent changes:
This reverts commit 8e18668d14adf601cbe5973030c310ec23d88461.
This reverts commit 69b4587bfbb3e98f793959d9123340360fa233a2.
This reverts commit a9c9a4baf24700e8817d47d8ea8da1742caea0b5.
This reverts commit 2c0042b666a969091c931614f2fc0dce2f1cfac8.
This reverts commit f6c8206735e7e078461e5f2aef6e1a1446fdd075.
This reverts commit 24855c09173a6caaec7dcedd0c2d7ce15121d39b.

Change-Id: I33e699640f3f59e42fa03c99a9a1b7af0d27d4d8
tils/RefBase.h
35e6d6867c63ad254e95325206aa7a927edd6797 16-Jun-2011 Mathias Agopian <mathias@google.com> am 0887b8c2: am 8e18668d: revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)

* commit '0887b8c2e583e682cd2c1bc909cb3fdbec704004':
revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)
552bd670071b519d97124621a3c11dc98062c12b 16-Jun-2011 Mathias Agopian <mathias@google.com> am d5244e0a: am 52a43990: Revert "revert surfaceflinger leak fix as it uncovered a crasher on xoom"

* commit 'd5244e0a88ed2f843651aa5ffdc71a45c968e0f3':
Revert "revert surfaceflinger leak fix as it uncovered a crasher on xoom"
e04f826fef44b85108be85fb6d3a16c35a9e5c29 16-Jun-2011 Kenny Root <kroot@google.com> Use rand() for MinGW

The version of MinGW we use doesn't have nrand48() which is really lame,
but we need to use libutils in the Windows SDK.

Change-Id: If854c03dbf02bc29e79f49e4539f08c2bf057517
tils/BlobCache.h
8e18668d14adf601cbe5973030c310ec23d88461 16-Jun-2011 Mathias Agopian <mathias@google.com> revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)

This reverts commit 52a43990880b27808bcf562afcc4209d34728e6e.

Change-Id: I1856a48f863b051395b8091ddfd1e01292fa1b1e
tils/RefBase.h
52a43990880b27808bcf562afcc4209d34728e6e 16-Jun-2011 Mathias Agopian <mathias@google.com> Revert "revert surfaceflinger leak fix as it uncovered a crasher on xoom"

This reverts commit af6edba59e250adbdfa5b3c3be134f70d8c38a16.

Change-Id: I7793d3ca8a4d20a2b188364f47854328ab5f586d
tils/RefBase.h
85c14352a4f8946a6908eac140936080536fa575 16-Jun-2011 Mathias Agopian <mathias@google.com> am 7ecdeb6e: am d20d72d1: Merge "revert surfaceflinger leak fix as it uncovered a crasher on xoom" into honeycomb-mr2

* commit '7ecdeb6e548ff71d4f70b343e30136e89eaa3e33':
revert surfaceflinger leak fix as it uncovered a crasher on xoom
af6edba59e250adbdfa5b3c3be134f70d8c38a16 16-Jun-2011 Mathias Agopian <mathias@google.com> revert surfaceflinger leak fix as it uncovered a crasher on xoom

Bug: 4600244
Change-Id: Ia68ebf0f243a051ff6a21b3863e3e5d259bbf7ac
tils/RefBase.h
5137711109783dcbb20143d3e5cab2fa931218dd 15-Jun-2011 Mathias Agopian <mathias@google.com> am afffa8fa: fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)

* commit 'afffa8fa9f82a7343e1158bf921931fd3e3df615':
fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)
9ee3975883cc4356d7b44f4e86d8c61589d2f42c 14-Jun-2011 Mathias Agopian <mathias@google.com> am a9007fbd: am 69b4587b: DO NOT MERGE. may fix build on some version of gcc

* commit 'a9007fbdae6671f66535da4b9dad04b19aaf9186':
DO NOT MERGE. may fix build on some version of gcc
69b4587bfbb3e98f793959d9123340360fa233a2 14-Jun-2011 Mathias Agopian <mathias@google.com> DO NOT MERGE. may fix build on some version of gcc

Change-Id: Iff6d9ab3a7caf58f65fc3f60633a3bd577b7af25
tils/RefBase.h
f0b517d9d287e86e6e57a372ddcb070cec1fe1c0 14-Jun-2011 Mathias Agopian <mathias@google.com> Merge "may fix build on some version of gcc"
f1df0407c6c399cdc9e222efe2d50176d7853100 14-Jun-2011 Mathias Agopian <mathias@google.com> may fix build on some version of gcc

Change-Id: Ia88787c0432ec84d51fe505fd6a2b6f98ebe8f33
tils/RefBase.h
114420f5315c72e9cbd41cd4ae7472ef24ef1b94 14-Jun-2011 tedbo <tedbo@google.com> Merge "Support for setting a ParcelSurfaceTexture as the MediaPlayer sink."
922261deab46b93641eadd9bc337fa72f8a5d734 14-Jun-2011 Dima Zavin <dima@android.com> Merge "audio: update for audio/audio_policy header names/locations"
decbe327d1515dd6c9fd1b6773f57b0a879f9149 14-Jun-2011 James Dong <jdong@google.com> Merge "Add B frame support for MPEG4Writer"
eb99f0d9f05dd37f988a815e6bc01bbd7152c31a 13-Jun-2011 Mathias Agopian <mathias@google.com> fix RefBase so it retains binary-compatibility with gingerbread

Bug: 4595257
Change-Id: I0d5e10f497e3f39868bff58f6ded510c38b44b12
tils/RefBase.h
290029d19a9d314e925b73e19453ab0497602f80 14-Jun-2011 Dima Zavin <dima@android.com> audio: update for audio/audio_policy header names/locations

Change-Id: I36c49352eee57559403cd1597f56a8485a360289
Signed-off-by: Dima Zavin <dima@android.com>
edia/AudioSystem.h
edia/IAudioPolicyService.h
4108b1edc61ef91c63bc94a699f9a95e65c3e684 08-Jun-2011 James Dong <jdong@google.com> Add B frame support for MPEG4Writer

o requires the support of negative ctts duration values (ctts version 1)

Change-Id: Ib14130c9359c3bff3c76f20a7380d468a065dcaf
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
7bb843ca0777111dae7daf8f1b0705817cf523c4 20-Apr-2011 Mathias Agopian <mathias@google.com> unify SurfaceTexture and Surface

Add the concept of synchronous dequeueBuffer in SurfaceTexture
Implement {Surface|SurfaceTextureClient}::setSwapInterval()
Add SurfaceTexture logging
fix onFrameAvailable
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/IGraphicBufferAlloc.h
urfaceflinger/ISurface.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
cc5278a3e258b30903102b718fb1cd832e79bb2b 10-Jun-2011 tedbo <tedbo@google.com> Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.

This adds support for setting a SurfaceTexture as the MediaPlayer video
sink by using a ParcelSurfaceTexture object. The goal is to enable a
SurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then
be set on the MediaPlayer.

Change-Id: Ife5689ce673eb4bee1c377019db761685217b71d
ndroid_runtime/android_graphics_ParcelSurfaceTexture.h
ndroid_runtime/android_graphics_SurfaceTexture.h
c031afc8e9ad6c940c7d67a15b9c53092987377e 13-Jun-2011 Mathias Agopian <mathias@google.com> am 77079399: am a9c9a4ba: fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)

* commit '77079399fca3e9c71e2ac06f3da26934e1c278b9':
fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)
afffa8fa9f82a7343e1158bf921931fd3e3df615 13-Jun-2011 Mathias Agopian <mathias@google.com> fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)

Bug: 4595257
Change-Id: I4773cf4fe59b2509db0ed733739eb6961d473b25
tils/RefBase.h
a9c9a4baf24700e8817d47d8ea8da1742caea0b5 13-Jun-2011 Mathias Agopian <mathias@google.com> fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)

Bug: 4595257
Change-Id: I1db83149107d7dab1f0b7e73c684e0ff82e17e62
tils/RefBase.h
dfc7958a2eafba52db90743a4707eed1d780b63b 13-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "libutils: add a binary blob cache implementation."
bd3e537980027f4502a13c204b3c7b9d10adad31 13-Jun-2011 Jamie Gennis <jgennis@google.com> Merge changes I56779420,I044e44e1,Ic5adfa29,Ied541ab8

* changes:
SurfaceTexture: add some GL->GL tests.
SurfaceTexture: fix up a comment.
SurfaceTexture: add getTransformMatrix tests.
SurfaceTexture: fix a getTransformMatrix crash.
4e03d327d6310cd2c5ca3ecd55f91363b555de71 12-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix up a comment.

Change-Id: I044e44e17319e08af657a7ec9fa39100876fe862
ui/SurfaceTexture.h
eadfb673e7b346af02a925ad04494100db1ebbf7 13-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a getTransformMatrix crash.

This change moves the computation of the transform matrix out of
getTransformMatrix and instead performs the computation when
updateTexImage gets called. This is needed in order for
getTransformMatrix to succeed even if the buffers have been freed (e.g.
by changing the buffer count) because the computation depends upon the
properties of the current GraphicBuffer.

Change-Id: Ied541ab8747b7ad604f862717135f9a16a816be9
Bug: 4490420
ui/SurfaceTexture.h
041120754aa59ddd28927fa6c5db0c90bb8f5e95 13-Jun-2011 Glenn Kasten <gkasten@google.com> Merge "Remove redundant memory barrier"
9dbd7d818916dca77e53ababdaf05311d5c7bce2 02-Jun-2011 Glenn Kasten <gkasten@google.com> Remove redundant memory barrier

pthread_create already includes the necessary memory barriers:
- parent at pthread_create : pthread_mutex_unlock(start_mutex)
- child at __thread_entry : pthread_mutex_lock(start_mutex)

Add lock around uses of mThread.

Added comments:
- uses of mThread require lock
- androidCreateRawThreadEtc returned ID is not safe for direct use from non-parent threads.

Change-Id: I18cb296b41ddaf64cf127b57aab31154319b5970
tils/threads.h
6b592723c9a9fc816a8ab75c935e8cd20ff65a0e 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of f51ded0f to master

Change-Id: Ida356524a68aeb2b9b0013dfbb6ab4bd11e616e2
4532c5e49cc0d029c53a3aee3e0b1fdf8ffd2ec4 10-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via Binder."
f51ded0f8f593d17af82946eb65c05fc04f688b4 10-Jun-2011 Dianne Hackborn <hackbod@google.com> am a8d7ea06: am 220cd77d: Merge "Enforce public resource restriction on bag parents." into honeycomb-mr2

* commit 'a8d7ea067cf22baeee2ff0a33e5a8c5a35936942':
Enforce public resource restriction on bag parents.
426431adcc220b6adfbe1d9530247f897e60fa36 09-Jun-2011 Dianne Hackborn <hackbod@google.com> Enforce public resource restriction on bag parents.

Need to put some more styles in the SDK to avoid breaking apps.

Also, welcome Android 3.2.

Change-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d
tils/ResourceTypes.h
050316184b01c0d1a01c46afae7429b89a27c31b 07-Jun-2011 tedbo <tedbo@google.com> Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via Binder.

This adds a new ParcelSurfaceTexture.java class that can be instantiated with
a SurfaceTexture and used to send the corresponding ISurfaceTexture interface
to another process via Binder. The ParcelSurfaceTexture java object can then
be used to create an ANativeWindow based on the SurfaceTextureClient interface.

Change-Id: Ie38ea948b866e52f36a6d0f6cde19b54a8546817
ndroid_runtime/android_graphics_ParcelSurfaceTexture.h
ndroid_runtime/android_graphics_SurfaceTexture.h
ndroid_runtime/android_view_Surface.h
fddf5d9f48d0864a30fcc2706616f6aa6cb06c61 08-Jun-2011 Andreas Huber <andih@google.com> Make dumpsys(media.player) more useful by having AwesomePlayer populate it.

Change-Id: I12ba7d542331a8293d67a0d47378b8be4f777759
edia/MediaPlayerInterface.h
72c7362080c355c538ae2c46ac03501689e73736 08-Jun-2011 Jeff Brown <jeffbrown@android.com> am 61220e88: am bbbab26e: am 2c180499: Merge "Revert velocity damping. Bug: 4364920" into honeycomb-mr2

* commit '61220e880ac4d9d76b7fd50744439e68e929c697':
Revert velocity damping. Bug: 4364920
a4a48a484fe862787cf2fbe1314deab8ac375951 07-Jun-2011 Wu-cheng Li <wuchengli@google.com> Merge "Improve android.hardware.Camera.Area javadoc."
bde61a5731cdfef76a0691f8bd53b880606f5f6e 07-Jun-2011 Wu-cheng Li <wuchengli@google.com> Improve android.hardware.Camera.Area javadoc.

bug:4553469
Change-Id: Iae88af354fee4925cb7978572c27f6dd5595ca59
amera/CameraParameters.h
61220e880ac4d9d76b7fd50744439e68e929c697 07-Jun-2011 Jeff Brown <jeffbrown@android.com> am bbbab26e: am 2c180499: Merge "Revert velocity damping. Bug: 4364920" into honeycomb-mr2

* commit 'bbbab26ebe9bc789ba9abac757895a6c31de7cc5':
Revert velocity damping. Bug: 4364920
2c1804998b6a3f1f9f5f301ccf813363825ab4cf 07-Jun-2011 Jeff Brown <jeffbrown@android.com> Merge "Revert velocity damping. Bug: 4364920" into honeycomb-mr2
ac55c2b1ea5c4a1284bf06744380bf32e6aeb7d6 07-Jun-2011 Jeff Brown <jeffbrown@android.com> Revert velocity damping.
Bug: 4364920

Velocity damping proved to be a bad idea because it would
cause a significant ramp in velocity at the beginning of
a gesture, instead of the desired smooth behavior. Oh well.

Change-Id: Ie631946f47ef2492bd71fbed1ab44bbb39a875a8
i/Input.h
219451363d7c9e657cb856bebce34bc29d7876fa 07-Jun-2011 Iliyan Malchev <malchev@google.com> CameraParameters: add PIXEL_FORMAT_RGBA8888

Change-Id: I2780e936f5b4628d506ac4e6947b78ef831fbde8
Signed-off-by: Iliyan Malchev <malchev@google.com>
amera/CameraParameters.h
24855c09173a6caaec7dcedd0c2d7ce15121d39b 06-Jun-2011 Mathias Agopian <mathias@google.com> merge various SF fixes from gingerbread to honeycomb-mr2 (DO NOT MERGE)

Fix a race that could cause GL commands to be executed from the wrong thread.
RefBase subclasses can now decide how they want to be destroyed.
Fix a race in SurfaceFlinger that could cause layers to be leaked forever.
Fix a race-condtion in SurfaceFlinger that could lead to a crash.

initial cherry-pick:
resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp

Change-Id: I2a335e03fff219e35c18a7b0089b3a11d636576f
tils/RefBase.h
b2fd84ad1d470d607af4a83da378d4e317421634 06-Jun-2011 Marco Nelissen <marcone@google.com> resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp

Change-Id: I1d86ea56b3d1d1b69f6671e5b0df0ca3f0c79643
d4c6a5be8068101870be473b4842f0ad9b87c598 04-Jun-2011 James Dong <jdong@google.com> Merge "Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h"
a742f854901b8306d3696c9e9b7881c207130a01 04-Jun-2011 Jeff Brown <jeffbrown@android.com> am 56503b8d: am 8186a5f0: am 10c3f367: Merge "Implement pointer acceleration." into honeycomb-mr2

* commit '56503b8ddfe5c82407da32e18061e725f668432d':
Implement pointer acceleration.
38c07129c42222a764d784327d0a63f4cfc1331b 03-Jun-2011 James Dong <jdong@google.com> Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h

Change-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b
edia/stagefright/openmax/OMX_IVCommon.h
56503b8ddfe5c82407da32e18061e725f668432d 03-Jun-2011 Jeff Brown <jeffbrown@android.com> am 8186a5f0: am 10c3f367: Merge "Implement pointer acceleration." into honeycomb-mr2

* commit '8186a5f065fac2b82c90cd18d79cd234bc221402':
Implement pointer acceleration.
8a7d44e8248cf7078da6094068b039dacc0a3971 03-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 54cb63e2 to master

Change-Id: I5b741a1781e3f76c03fc1534ffce871117effd10
0e5e16a656b0002f377f1bcda2e43a97206e4046 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am da9837fb: am c058d386: am ff762299: Merge "Small fixes and cleanup of resource config handling." into honeycomb-mr2

* commit 'da9837fb61c8aa53c67921682016d97655332089':
Small fixes and cleanup of resource config handling.
19c97d46fb57f87ff45d9e6ea7122b4eb21ede8c 01-Jun-2011 Jeff Brown <jeffbrown@android.com> Implement pointer acceleration.

Bug: 4124987
Change-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50
i/Input.h
6c2cb3061d031b5d8ccc095ecc038959d4489709 02-Jun-2011 James Dong <jdong@google.com> Merge "Do not call getEstimatedBandwidth if the streaming is not HTTP-based"
443287068bec5ca73b76a08e499da6f0de3b670a 02-Jun-2011 James Dong <jdong@google.com> Do not call getEstimatedBandwidth if the streaming is not HTTP-based

Change-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261
edia/stagefright/DataSource.h
993fccec5bd0355835f0457064a28c2c13eecc60 02-Jun-2011 Glenn Kasten <gkasten@google.com> Remove unnecessary level of priority indirection

Change-Id: I942d43973c20a7ace8b0d3f78b4da97e45e996c6
rivate/media/AudioTrackShared.h
e46a86fcb6a0849fc05c4cade6cb94aad0325295 02-Jun-2011 Glenn Kasten <gkasten@google.com> Revert "Use AudioTrack::event_type not int in callback"

This reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1
edia/AudioTrack.h
edia/ToneGenerator.h
edia/stagefright/AudioPlayer.h
2225e4b7049fa3fb9d39a068b8268b63c952d7c1 05-May-2011 Glenn Kasten <gkasten@google.com> Use AudioTrack::event_type not int in callback

Change-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c
edia/AudioTrack.h
edia/ToneGenerator.h
edia/stagefright/AudioPlayer.h
d0bbdb02b2c56b0227d82751a29ccd99d11ea12f 01-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Use channel mask instead of channel count for track creation"
5439223b5633679edcc255651e7062046004d75d 25-May-2011 Jean-Michel Trivi <jmtrivi@google.com> Use channel mask instead of channel count for track creation

Record and playback objects (resp AudioRecord and AudioTrack)
are created using a channel mask, but this information is lost
in the mixer because only the channel count is known to
AudioFlinger. A channel count can always be derived from a
channel mask.

The change consists in:
- disambiguiting variable names for channel masks and counts
- passing the mask information from the client to AudioFlinger
and the mixer.
- when using the DIRECT ouput, only verifying the format of
the track is compatible with the output's for PCM.

Change-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e
edia/AudioRecord.h
edia/AudioTrack.h
edia/IAudioFlinger.h
rivate/media/AudioTrackShared.h
a9d0febdd0f0502ec4f29f77b742e11ceae8a30e 26-May-2011 James Dong <jdong@google.com> Send estimated bandwidth value as informational event when cache fetcher pauses

o Application can make informed decision about the available network bandwidth
when cache fetcher pauses.

o Application can also adjust how frequently the bandwidth is estimated within
a range from one second to one minute.

Change-Id: I90068001343e79da1886de03c565537787e1580b
edia/mediaplayer.h
923da873c8a5bc1322a6e807c42c60d597ff8e05 31-May-2011 Eric Laurent <elaurent@google.com> Merge "Removed interface to load audio effects libraries"
8f18cf55747b8ab138661a841cbb1b2bd19f3d97 28-May-2011 Eric Laurent <elaurent@google.com> Removed interface to load audio effects libraries

Removed unused functions allowing dynamic loading of audio effects libraries
from effects factory API.

Change-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca
edia/AudioEffect.h
edia/EffectsFactoryApi.h
edia/IAudioFlinger.h
73e0bc805a143d8cc2202fccb73230459edc6869 18-May-2011 Mathias Agopian <mathias@google.com> 9-axis sensor fusion with Kalman filter

Add support for 9-axis gravity and linear-acceleration sensors
virtual orientation sensor using 9-axis fusion

Change-Id: I6717539373fce781c10e97b6fa59f68a831a592f
ui/Sensor.h
0fb66c2b83084a16989afaf949d0101cb6505398 18-May-2011 Eric Laurent <elaurent@google.com> New effect library API

Moved and renamed media/EffectApi.h to hardware/audio_effect.h
Modified the effect library API to expose a library info structure
containing an interface functions table.
Also removed enums for audio channels, audio format and devices
from effect API and use values from system/audio.h instead.

Modified effects factory to support new library interface format and
load libraries and efffects listed in audio_effects.conf file.
The file audio_effects.conf is first loaded from /vendor/etc and
then from /system/etc/audio_effects.conf if not found.

Modified existing effect libraries to implement the new library interface.

Change-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9
edia/AudioEffect.h
edia/EffectApi.h
edia/EffectBassBoostApi.h
edia/EffectEnvironmentalReverbApi.h
edia/EffectEqualizerApi.h
edia/EffectPresetReverbApi.h
edia/EffectVirtualizerApi.h
edia/EffectVisualizerApi.h
edia/EffectsFactoryApi.h
edia/IAudioFlinger.h
54cb63e26e41b80c013b8665878b9c7c7fb328c1 27-May-2011 Dianne Hackborn <hackbod@google.com> am 528c49f1: am b96cbbd1: Add "tv" density for 720p screens.

* commit '528c49f112dce5f9687f30a9751e783196eca0c6':
Add "tv" density for 720p screens.
b96cbbd11c4590bec846212c33361e02293f18b5 27-May-2011 Dianne Hackborn <hackbod@google.com> Add "tv" density for 720p screens.

Change-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630
tils/ResourceTypes.h
da9837fb61c8aa53c67921682016d97655332089 27-May-2011 Dianne Hackborn <hackbod@google.com> am c058d386: am ff762299: Merge "Small fixes and cleanup of resource config handling." into honeycomb-mr2

* commit 'c058d38602a1ffe00e14b4ab32c876c252eabe6d':
Small fixes and cleanup of resource config handling.
3904d03dd01dcd43c446744e44b34615825d9679 27-May-2011 Dianne Hackborn <hackbod@google.com> Small fixes and cleanup of resource config handling.

Change-Id: I402c31b68f2b4825cb4c610a65ee8e1da471c7bb
tils/ResourceTypes.h
73a4b2b3be14255f87c4108d4e414b9137da6510 26-May-2011 Andreas Huber <andih@google.com> Merge "Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams."
98472cced0a66318a89ffe485bbebb80034f12be 26-May-2011 Gloria Wang <gwang@google.com> Merge "For out of band timed text support (timed text in a separate file)."
13bc8cde1c842bea1fa3000a48739a6e22f25a9c 11-May-2011 Gloria Wang <gwang@google.com> For out of band timed text support (timed text in a separate file).

Change-Id: I9e024a63eb9bf6f839deee3c7766a66e63126c96
edia/mediaplayer.h
eb2f9c193d74c005a0c78e6dbed874809d55fc81 19-May-2011 Andreas Huber <andih@google.com> Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.

Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
edia/stagefright/MediaDefs.h
3c2fb0242b0ec21101959dfa08aad3162a523634 25-May-2011 Jeff Brown <jeffbrown@google.com> am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)

* commit '8148cc3e47e50c916066e2fed562618b5827188f':
Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
8e5799ed16ab605d8de775e1644f1fa59ff6627e 25-May-2011 Jeff Brown <jeffbrown@google.com> am af685f3b: am 85a7f99c: Merge "Refactor how timeouts are calculated. (DO NOT MERGE)" into honeycomb-mr2

* commit 'af685f3bb566f297deee1615d55d4f33d5580ba3':
Refactor how timeouts are calculated. (DO NOT MERGE)
7d0fb57044576fd4bbaf9683997bab288c3b759c 25-May-2011 Jeff Brown <jeffbrown@google.com> am 16330e24: am 94e838f6: Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2

* commit '16330e249663fed890df0e95fce4016c2971120a':
Improve VelocityTracker numerical stability. (DO NOT MERGE)
4e3ba25cc718bbc6db0a332c4105debc4b3552d3 25-May-2011 Jeff Brown <jeffbrown@google.com> am 4bd89fb0: am 82e4373e: Merge "Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)" into honeycomb-mr2

* commit '4bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1':
Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)
86ea1f5f521981d075aef56f11693e4f3bc32fdb 13-Apr-2011 Jeff Brown <jeffbrown@google.com> Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)

Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements. The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e
i/Input.h
a218715a7fca98c868feccee4751c94e38b676ff 19-May-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: clean up some comments, tests, etc.

This change fixes up some stale comments, member variable names, log
messages and disables a failing test.

Change-Id: Ic1d3344b18066cf710e4a42838b2417c6b1f2f6c
ui/SurfaceTexture.h
b9783b49f4727a0365f2297bb903db8682855adf 25-May-2011 Simon Wilson <simonwilson@google.com> am c9cd2387: Merge changes I37f0f315,I8cbf6044,Ibb598931,I5262bf11 into gingerbread

* commit 'c9cd2387b6938a6fbefc731d2177902266f2a130':
Fix a race that could cause GL commands to be executed from the wrong thread.
RefBase subclasses can now decide how they want to be destroyed.
Fix a race in SurfaceFlinger that could cause layers to be leaked forever.
Fix a race-condtion in SurfaceFlinger that could lead to a crash.
b5b1fb25853eb2e00f981d3b0bb52acd50684c4f 24-May-2011 Jeff Brown <jeffbrown@google.com> Merge "Support wrapping app processes to inject debug instrumentation. Bug: 4437846"
ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3 17-May-2011 Jeff Brown <jeffbrown@google.com> Support wrapping app processes to inject debug instrumentation.
Bug: 4437846

Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
ndroid_runtime/AndroidRuntime.h
e2c7715c772d5121397591b532d04a31b3ffcc99 24-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of bbca8133 to master

Change-Id: I81493674dceab848e41d380a77a37e5a9be06db6
68d6075b4ad2205c10064c78cde552e3210cca91 17-Mar-2011 Jeff Brown <jeffbrown@google.com> Refactor how timeouts are calculated. (DO NOT MERGE)

Added a timeout mechanism to EventHub and InputReader so that
InputMappers can request timeouts to perform delayed processing of
input when needed.

Change-Id: I89c1171c9326c6e413042e3ee13aa9f7f1fc0454
tils/Timers.h
5b2b4d9c0a56c4b5e869c828a6c36a1b9e27d61b 15-Mar-2011 Jeff Brown <jeffbrown@google.com> Improve VelocityTracker numerical stability. (DO NOT MERGE)

Replaced VelocityTracker with a faster and more accurate
native implementation. This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation. This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces. The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920
i/Input.h
tils/BitSet.h
96ad3979f328a1aa098917ca1c35575e85345526 10-Mar-2011 Jeff Brown <jeffbrown@google.com> Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)

1. Single finger tap performs a click.
2. Single finger movement moves the pointer (hovers).
3. Button press plus movement performs click or drag.
While dragging, the pointer follows the finger that is moving
fastest. This is important if there are additional fingers
down on the touch pad for the purpose of applying force
to an integrated button underneath.
4. Two fingers near each other moving in the same direction
are coalesced as a swipe gesture under the pointer.
5. Two or more fingers moving in arbitrary directions are
transformed into touches in the vicinity of the pointer.
This makes scale/zoom and rotate gestures possible.

Added a native VelocityTracker implementation to enable intelligent
switching of the active pointer during drags.

Change-Id: I7b7ddacc724fb1306e1590dbaebb740d3130d7cd
i/Input.h
tils/BitSet.h
bbca81334e3603c7328dc526bd63032b23d5261d 24-May-2011 Dianne Hackborn <hackbod@google.com> am 4bb78889: am 40277df7: Merge "Add "television" mode." into honeycomb-mr2

* commit '4bb78889d04594c01a6af7f6d38c1764e9f575f9':
Add "television" mode.
9e7636681eda094dd328ce9bf54d0b0166be1e67 20-May-2011 Mathias Agopian <mathias@google.com> RefBase subclasses can now decide how they want to be destroyed.

This adds a destroy() virtual on RefBase which
sublasses can implement. destroy() is called
in lieu of the destructor whenthe last strong
ref goes away.

Bug: 4483050
Change-Id: I8cbf6044a6fd3f01043a45592b5a60fa1e5fade2
tils/RefBase.h
e360bb6bd8ea84b8d37604fc11dfc744b18fb0de 21-May-2011 Dianne Hackborn <hackbod@google.com> Add "television" mode.

Change-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b
tils/ResourceTypes.h
161e67ff3ba26408eea09221734ad2e29a1eed11 20-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 06a8ceac to master

Change-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69
16fa5aae96ec7bb0ecf1578197b64d477bb6946e 20-May-2011 Mathias Agopian <mathias@google.com> Merge "RefBase subclasses can now decide how they want to be destroyed."
6db8c505398a0979853f6c166e0a8bcafd9268f8 20-May-2011 Mathias Agopian <mathias@google.com> RefBase subclasses can now decide how they want to be destroyed.

This adds a destroy() virtual on RefBase which
sublasses can implement. destroy() is called
in lieu of the destructor whenthe last strong
ref goes away.
tils/RefBase.h
06a8ceacb0dc2713cb0bb2c93d2a750f2a58db68 20-May-2011 Dianne Hackborn <hackbod@google.com> am c851ea56: am 69cb8757: Add new "-swNNNdp" resource qualifier.

* commit 'c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a':
Add new "-swNNNdp" resource qualifier.
69cb87576ba163b61bb0e6477a3b7c57a9b11d40 20-May-2011 Dianne Hackborn <hackbod@google.com> Add new "-swNNNdp" resource qualifier.

Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
tils/ResourceTypes.h
8d161fe1eafe80e01d84d2be55ae47314f944721 18-May-2011 Gloria Wang <gwang@google.com> am 5a6c3d49: am 07e9267d: Merge "DO NOT MERGE For bug 4422428 Squashed commit of the following:" into honeycomb-mr2

* commit '5a6c3d491ccac07ef3f6a624a8a3e0c36959b661':
DO NOT MERGE For bug 4422428 Squashed commit of the following:
07e9267d33bb199d0a2b8de221c64541bdf2465a 18-May-2011 Gloria Wang <gwang@google.com> Merge "DO NOT MERGE For bug 4422428 Squashed commit of the following:" into honeycomb-mr2
706804e2e4199a7cfcb7e491d7aca38885ff0f14 18-May-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add auto-white balance locking to the Camera API."
f84e4a657f2f8b5af085bb9694f1fca837d7cd1f 18-May-2011 James Dong <jdong@google.com> Revert "Add const to the finders method in MetaData.cpp"

This reverts commit 78fed171d9d62b25aa846d7373a7040e3fd2241e.

Conflicts:

include/media/stagefright/MPEG4Writer.h

Change-Id: Ie6f497f67a473ad95b50bb949c1aa49e1804bac3
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
9539d9f65a28b676e0a03322ad848b24786a515d 29-Apr-2011 Jamie Gennis <jgennis@google.com> libutils: add a binary blob cache implementation.

This change adds an implementation of a cache that stores key/value
pairs of unstructured binary blobs.

Change-Id: Idd01fdabedfa3aed6d359a6efb0592967af52651
tils/BlobCache.h
0f32fb3ecfdfaa03acf880a356629d43da3fe2fe 14-May-2011 James Dong <jdong@google.com> Make track informational event optional, depending on system property

o also add a track informational event to return the encoded data in kilo-bytes

Change-Id: I7c383360d57048c8a3606d0b8141ba53e4f4b224
edia/mediarecorder.h
d9c2601afa46811bcb1345963d38010690981a01 13-May-2011 Eino-Ville Talvala <etalvala@google.com> Add auto-white balance locking to the Camera API.

Adds a new camera parameter for locking auto-white balance to its
current value. Also adds a function for checking if auto-white balance
lock is supported by the current platform. Lock semantics match that
of the auto-exposure lock.

Hidden for now.

Change-Id: Id59339a4be84d55c1b0b8473d765b6aa765999b2
amera/CameraParameters.h
13a33169b71f447e7dbb3e67bcf5c47f3cce8cce 10-May-2011 James Dong <jdong@google.com> Support platform and camera dependent recording start time offset

related-to-bug: 4390777

Change-Id: Icb52973ad4ac716f04fb103ef527915a966d06d5
edia/stagefright/MPEG4Writer.h
bfb6791934dae9888dc017f1057f5b9cf12f35d2 14-May-2011 James Dong <jdong@google.com> Merge "Add support for platform-specific recording start time offset"
987ab4833ecbafbdf750eb1b04e43693433c4783 12-May-2011 James Dong <jdong@google.com> Support for storing geo information in the recorded mp4/3gpp file.

o Geo data (latitude and longitude) is stored in udta box

Change-Id: I76e4aeb741c4b339f3753d3d28190151f3ea4919
related-to-bug: 4260295
edia/stagefright/MPEG4Writer.h
331de5dd58b2115968d9fd2a9ce21a45db309d37 13-May-2011 Gloria Wang <gwang@google.com> DO NOT MERGE
For bug 4422428
Squashed commit of the following:

commit ae2e13783db2284f40d3891e70e152dab941edfc
Author: Gloria Wang <gwang@google.com>
Date: Fri May 13 11:43:11 2011 -0700

Add one more DRM error code. For bug 4422428.

Change-Id: I4e333f474c96c0e0f162dde4013ad32b336bebd6

commit 0f88249d0cb5221f622cf1d1ac3cdccefb8f58a2
Author: Gloria Wang <gwang@google.com>
Date: Fri Apr 29 10:44:46 2011 -0700

Add DRM errors in the DRM frameworks to MediaErrors also.
For bug 4350156.

Change-Id: Ib5711ec642178a49203a448b7f5114e675d49394

Change-Id: Ia02de462159400eef8c015d28531bf1dd6796a18
rm/drm_framework_common.h
edia/stagefright/MediaErrors.h
7d334602168523e3baf3aab92310c566841ca035 13-May-2011 Gloria Wang <gwang@google.com> Merge "Add one more DRM error code. For bug 4422428."
eea8c02bc8361be7807be969f24abeadf482fa19 13-May-2011 Gloria Wang <gwang@google.com> Add one more DRM error code. For bug 4422428.

Change-Id: I4e333f474c96c0e0f162dde4013ad32b336bebd6
rm/drm_framework_common.h
edia/stagefright/MediaErrors.h
65f47d88107b2e34e4bab1f5208bff3f73ce4e8a 13-May-2011 Jeff Brown <jeffbrown@google.com> Merge "Add initial API for stylus and mouse buttons."
fe9f8ab03a63b1037f07dd85799fbea80ec6adaa 07-May-2011 Jeff Brown <jeffbrown@google.com> Add initial API for stylus and mouse buttons.

Added the concept of pointer properties in a MotionEvent.
This is currently used to track the pointer tool type to enable
applications to distinguish finger touches from a stylus.

Button states are also reported to application as part of touch events.

There are no new actions for detecting changes in button states.
The application should instead query the button state from the
MotionEvent and take appropriate action as needed.

A good time to check the button state is on ACTION_DOWN.

As a side-effect, applications that do not support multiple buttons
will treat primary, secondary and tertiary buttons identically
for all touch events.

The back button on the mouse is mapped to KEYCODE_BACK
and the forward button is mapped to KEYCODE_FORWARD.

Added basic plumbing for the secondary mouse button to invoke
the context menu, particularly in lists.

Added clamp and split methods on MotionEvent to take care of
common filtering operations so we don't have them scattered
in multiple places across the framework.

Bug: 4260011
Change-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83
i/Input.h
i/InputTransport.h
2e4a3236a7634d17f89288e9739a438ecbea0471 13-May-2011 Dianne Hackborn <hackbod@google.com> am 46a282f3: am 0ed2e845: Merge "DO NOT MERGE. Integrate add new screen width/height in "dp" configs." into honeycomb-mr2

* commit '46a282f323bc05606e4fe1eba795bd9ac7c99819':
DO NOT MERGE. Integrate add new screen width/height in "dp" configs.
ebff8f92f13513ce37bd74759eb1db63f2220590 13-May-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate add new screen width/height in "dp" configs.

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4
tils/ResourceTypes.h
fb401ca7773bf19362faa5d66f6aa8244f112fb7 13-May-2011 Jean-Baptiste Queru <jbq@google.com> am 20fd3f0d: am 4770c79c: Merge "Tweak audio APIs for better forward/backward/sideways compatibility."

* commit '20fd3f0d83d4665a6ac33a10f4a48a0f6f159068':
Tweak audio APIs for better forward/backward/sideways compatibility.
34bb419e5946ab28112e9e27a4d1b3928d31e0e2 11-May-2011 Dima Zavin <dima@android.com> update for new audio.h header location

Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876
Signed-off-by: Dima Zavin <dima@android.com>
edia/AudioRecord.h
edia/AudioSystem.h
edia/MediaRecorderBase.h
edia/stagefright/AudioSource.h
da94c346a5b5f3ef7d36b031309aa438194e4957 12-May-2011 Jean-Baptiste Queru <jbq@google.com> Tweak audio APIs for better forward/backward/sideways compatibility.

Change-Id: I293e99107aed260db68edccad35cdc15ed88c1d3
edia/EffectApi.h
e4ba346f0f1bb153ec1f9da5c0a4fc96c301efda 12-May-2011 Andreas Huber <andih@google.com> Merge "Squashed commit of the following:"
e845c352c8eb93412fa7caedb5435d3597c795d0 12-May-2011 Mathias Agopian <mathias@google.com> fix onFrameAvailable

Change-Id: I391fe9f6684ac9fd4f91416ce18b583f7087d966
ui/SurfaceTexture.h
7f3289c95ec489651f1c04f1a71cfc7a8b535805 10-May-2011 Mathias Agopian <mathias@google.com> Add SurfaceTexture logging

Change-Id: If1b74be5230813fb76429935d88b9d4a7c41700c
ui/SurfaceTexture.h
402ff24aa199a2587498b694e2be67ceb1265c69 03-May-2011 Mathias Agopian <mathias@google.com> Implement {Surface|SurfaceTextureClient}::setSwapInterval()

Change-Id: I8382e346ddaa2c4c8ff56ac3ffd7f0109572f188
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
5bbb1cf9d7f9ecb8a2fc5ca8ba51c222c2aaff16 22-Apr-2011 Mathias Agopian <mathias@google.com> Add the concept of synchronous dequeueBuffer in SurfaceTexture

Change-Id: Ic94cbab092953243a0746e04bbe1b2eb0cc930ef
ui/SurfaceTexture.h
ed3894c07a67b3e35d07084c4a8b410908bfedc5 20-Apr-2011 Mathias Agopian <mathias@google.com> unify SurfaceTexture and Surface

Change-Id: I49da2f5d8408e4cd7e148cfb777bb4ff68cd8f37
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
0297dcae8fddb18ab9e28ba1858a57a8aec3ef32 26-Apr-2011 Mathias Agopian <mathias@google.com> Fix a bug where setgeometry couldn't be undone

This change the binder protocol between SurfaceTextureClient
and SurfaceTexture. dequeueBuffer() now takes the requested
parameters for the buffer. SurfaceTexture decides if the
buffer needs to be reallocated and does the allocation
if needed. In that case it returns BUFFER_NEEDS_REALLOCATION
to tell SurfaceTextureClient that it needs to call
requestBuffer (which all parameters have been removed) to
acquire a pointer to the buffer.

dequeueBuffer and requestBuffer could be folded into a single
IPC call, but we chose to optimize the case where buffers are
not created and avoid some complexity in the marshalling code.

Change-Id: I097a7f6f40a3491e10f3f3742eab33999286c304
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
4b3913a3e43d3180b21d77cc2f717b446350354f 11-May-2011 Andreas Huber <andih@google.com> Squashed commit of the following:

commit c80992e419ed567abef451042f09c4958534b90d
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 14:00:07 2011 -0700

Support for the mp3 audio decoder as a software OMX component.

Change-Id: I66e10c4d0be4c3aecdef1c21b15a2c7359ceb807

commit a358d0e1bf2a88897887445f42ccdda0f5f2f528
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 13:11:23 2011 -0700

Support for G.711 alaw and mulaw decoders as software OMX components

Change-Id: Ia5c76c02cb83a9f94ce39a27b2251e5880218f03

commit 79088b9c9a5c8b8c97ea66cb4f90a2b0f0d34553
Author: Andreas Huber <andih@google.com>
Date: Thu May 5 15:43:32 2011 -0700

Instead of using an RGB surface and conversion yuv420->rgb565

convert from OMX_COLOR_FormatYUV420Planar to HAL_PIXEL_FORMAT_YV12 instead.

Change-Id: I8c4fc3c54c963f0d4ba6377f3c4ab4e0013152e5
related-to-bug: 4394005

commit 69469d3bd84425777b11b9fc938c5e0c61af26a7
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 15:46:42 2011 -0700

voip mustn't link against libstagefright.so

Change-Id: I4d0ba9a8b9dc9380b792a1bd04bcda231964862c

commit 2a9a9eeeeeb36ae3a9e680469c3016d509ff08c3
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 14:37:10 2011 -0700

Remove most non-OMX software decoders by default

Change-Id: Ic56514bc1b56b8fa952e8c4a164ea7379ecb69d0

commit a4de62c37b335c318217765403a9fb282b20a216
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:50:02 2011 -0700

Conditionally build the old-style software decoders.

Change-Id: I5de609e1d76c92d26d6eb81d1551462258f3f15f

commit 5d8b039f9449dc3dad1e77c42c80cc0b54b0c846
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:13:12 2011 -0700

Support for MPEG4 and H.263 video decoders as soft OMX components.

Change-Id: I5e3a4835afab89f98e3aa128d013628f5830eafe

commit b25a1bfbeb0ff6e62e1cc694ce2599c91489c7d0
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:49:10 2011 -0700

Boost Soft OMX thread priority, fix timestamp handling in vorbis Soft OMX decoder.

Change-Id: I68d26d4999f06fcc451d69e5303663fab0cba9e8

commit c0574362f8dc3319ce84d981097867062a698527
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:28:53 2011 -0700

Support for the AMR decoders (NB and WB) as Soft OMX components.

Change-Id: Ia565f59833fb52653e23f26536e7e41fc329a754

commit 3e5575a8f0e27a490cb7bde77bd9456087837f08
Author: Andreas Huber <andih@google.com>
Date: Wed May 4 13:41:25 2011 -0700

Signal an error if the aac decoder failed to initialize from codec specific data.

Change-Id: I01da7831bdf722edd7d6dc5974486daa2cf2b209
related-to-bug: 4272179

commit f94aeaa9886e772ff4823e671ed237096649f4af
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 13:07:38 2011 -0700

Software OMX nodes don't (yet?) support native_window mode.

Change-Id: I7d9ca9164ef4abf66b573ca21dba12d672f8b12d

commit eefdfabac8dc659e00daa56da69aea705c49cb67
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 12:57:16 2011 -0700

Fixing the OMX tests to refer to appropriate files from test content.

Change-Id: I5b61c3498749bfb876abbd3946a5132356e3f6ff

commit f31b7326aef14b6a1b7946520a9688f092e844d5
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 11:08:38 2011 -0700

Soft OMX components are now dynamiclly loaded/unloaded, not directly linked against.

Change-Id: I1e2ecfbfab67a8869886f738eaf0c7b3c948b6d9

commit b7f0343879e4df06f0a1c9bfece24df557954e2f
Author: Andreas Huber <andih@google.com>
Date: Mon May 2 15:58:36 2011 -0700

Support for the AVC software decoder as an OMX component.

Change-Id: I13c12df435ba4afbd968a9fc659f66b91c818bc2

commit 5bb9e616d6c8e1b13d531fe996b9a9affdfb2977
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:37 2011 -0700

Fix Vorbis OMX decoder's component role.

Change-Id: I5e871e5e11b3f951c93590210e63fd7987c467b5

commit 089c91f2333062e196c7afd5fb0ca914878aa474
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:18 2011 -0700

Support vorbis_decoder OMX testing.

Change-Id: I1985be178a12ae3f8768bc72067d9236238be170

commit 56e241fa36fc37219bc536b823bdc2ab82dc1fad
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:01:46 2011 -0700

SoftVorbis OMX component now respects the number of valid frames per page.

Change-Id: I82a117a064d9b083fc58a54ad900a987a763ef03

commit fcd618ec520c376fdb78f4cbb44b8d9f5d213e2b
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:59:38 2011 -0700

Support for the vorbis audio decoder as a soft OMX component.

Change-Id: Iaeb057e58ca306d3dce205c0445b74d5aefef492

commit d1fcc3203fc8003ad79c6e96b3a1fc4261743f16
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:07:50 2011 -0700

VPX decoder now properly resizes buffers after a port settings change.

Change-Id: I110749a31b6cba087891d8e5dfe420830bdbf831

commit 35c7168243cb69849d88911144a2c7fdfed5c54e
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 13:23:34 2011 -0700

Support for the VPX video decoder as a Software OMX component.

Change-Id: Ic345add2d6d768d4af631160153f2e9b97fcea71

commit 923b2534b4211fc5405377b5190bfa6f2dd27f32
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:34:40 2011 -0700

Table-based registration of soft omx components.

Change-Id: I7f45f0fa5b3a7950776e69c66349731f7674e937

commit 04a88f3edb2266a463da9c4481b80178be460902
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:22:31 2011 -0700

Apparently OMX_GetParameter is valid in any state other than OMX_StateInvalid

OMX_SetParameter is still constrained to OMX_StateLoaded or a disabled port.

Change-Id: I1032d7cf4011982d306aa369d4158a82830d26fb

commit 9d70ca68445e7c40f5c9b2d12466e468f514de88
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 27 15:03:18 2011 -0700

Use the new soft OMX aac decoder for HTTP live playback.

Change-Id: Ifbcfb732a9edb855cb46b49f6d0ac942170ee28f

commit 213fe4a10ea93cce08e8622dc3908053f29878a1
Author: Andreas Huber <andih@google.com>
Date: Tue Apr 12 16:39:45 2011 -0700

Foundation for supporting software decoders as OMX components

Change-Id: I7fdab256563b35d1d090617abaea9a26b198d816

Change-Id: I83e9236beed4af985d10333c203f065df9e09a42
edia/stagefright/OMXCodec.h
edia/stagefright/openmax/OMX_Video.h
4a627c71ff53a4fca1f961f4b1dcc0461df18a06 01-Apr-2011 Christopher Tate <ctate@google.com> Full local backup infrastructure

This is the basic infrastructure for pulling a full(*) backup of the
device's data over an adb(**) connection to the local device. The
basic process consists of these interacting pieces:

1. The framework's BackupManagerService, which coordinates the
collection of app data and routing to the destination.

2. A new framework-provided BackupAgent implementation called
FullBackupAgent, which is instantiated in the target applications'
processes in turn, and knows how to emit a datastream that contains
all of the app's saved data files.

3. A new shell-level program called "bu" that is used to bridge from
adb to the framework's Backup Manager.

4. adb itself, which now knows how to use 'bu' to kick off a backup
operation and pull the resulting data stream to the desktop host.

5. A system-provided application that verifies with the user that
an attempted backup/restore operation is in fact expected and to
be allowed.

The full agent implementation is not used during normal operation of
the delta-based app-customized remote backup process. Instead it's
used during user-confirmed *full* backup of applications and all their
data to a local destination, e.g. via the adb connection.

The output format is 'tar'. This makes it very easy for the end
user to examine the resulting dataset, e.g. for purpose of extracting
files for debug purposes; as well as making it easy to contemplate
adding things like a direct gzip stage to the data pipeline during
backup/restore. It also makes it convenient to construct and maintain
synthetic backup datasets for testing purposes.

Within the tar format, certain artificial conventions are used.
All files are stored within top-level directories according to
their semantic origin:

apps/pkgname/a/ : Application .apk file itself
apps/pkgname/obb/: The application's associated .obb containers
apps/pkgname/f/ : The subtree rooted at the getFilesDir() location
apps/pkgname/db/ : The subtree rooted at the getDatabasePath() parent
apps/pkgname/sp/ : The subtree rooted at the getSharedPrefsFile() parent
apps/pkgname/r/ : Files stored relative to the root of the app's file tree
apps/pkgname/c/ : Reserved for the app's getCacheDir() tree; not stored.

For each package, the first entry in the tar stream is a file called
"_manifest", nominally rooted at apps/pkgname. This file contains some
metadata about the package whose data is stored in the archive.

The contents of shared storage can optionally be included in the tar
stream. It is placed in the synthetic location:

shared/...

uid/gid are ignored; app uids are assigned at install time, and the
app's data is handled from within its own execution environment, so
will automatically have the app's correct uid.

Forward-locked .apk files are never backed up. System-partition
.apk files are not backed up unless they have been overridden by a
post-factory upgrade, in which case the current .apk *is* backed up --
i.e. the .apk that matches the on-disk data. The manifest preceding
each application's portion of the tar stream provides version numbers
and signature blocks for version checking, as well as an indication
of whether the restore logic should expect to install the .apk before
extracting the data.

System packages can designate their own full backup agents. This is
to manage things like the settings provider which (a) cannot be shut
down on the fly in order to do a clean snapshot of their file trees,
and (b) manage data that is not only irrelevant but actively hostile
to non-identical devices -- CDMA telephony settings would seriously
mess up a GSM device if emplaced there blind, for example.

When a full backup or restore is initiated from adb, the system will
present a confirmation UI that the user must explicitly respond to
within a short [~ 30 seconds] timeout. This is to avoid the
possibility of malicious desktop-side software secretly grabbing a copy
of all the user's data for nefarious purposes.

(*) The backup is not strictly a full mirror. In particular, the
settings database is not cloned; it is handled the same way that
it is in cloud backup/restore. This is because some settings
are actively destructive if cloned onto a different (or
especially a different-model) device: telephony settings and
AndroidID are good examples of this.

(**) On the framework side it doesn't care that it's adb; it just
sends the tar stream to a file descriptor. This can easily be
retargeted around whatever transport we might decide to use
in the future.

KNOWN ISSUES:

* the security UI is desperately ugly; no proper designs have yet
been done for it
* restore is not yet implemented
* shared storage backup is not yet implemented
* symlinks aren't yet handled, though some infrastructure for
dealing with them has been put in place.

Change-Id: Ia8347611e23b398af36ea22c36dff0a276b1ce91
tils/BackupHelpers.h
fd26ed1a2852c5788e61704a29b9af3fd1d7dac2 10-May-2011 Dianne Hackborn <hackbod@google.com> Merge "resolved conflicts for merge of 05be6d6f to master"
a403a938e9308b47f470815e49a33a7060abc69b 10-May-2011 James Dong <jdong@google.com> Add support for platform-specific recording start time offset

o This start time offset is used in the media framework to eliminate
the recording sound in the recorded file.

Change-Id: I97926a74f0743b8a4f985d51334e8d1486a318ea
related-to-bug: 4390777
edia/MediaProfiles.h
aa9d84c37e05f696ec158dac98ce38cf41e18314 10-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 05be6d6f to master

Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
05be6d6fe09ddfb706d1bef3b20c3d37f45e3c8a 10-May-2011 Dianne Hackborn <hackbod@google.com> am 4907d1d5: am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2

* commit '4907d1d5e2c7d244b07579b8c52153df69754e85':
Better compat mode part one: start scaling windows.
3aea037dd8c47fd5906b0d8409da7e7243fcb7d4 06-May-2011 James Dong <jdong@google.com> Add send session recording summary report to application

Change-Id: I9c63ddae432f0c93486c39776ed0a058a8649602
edia/mediarecorder.h
edia/stagefright/MPEG4Writer.h
e2515eebf42c763c0a2d9f873a153711778cfc17 28-Apr-2011 Dianne Hackborn <hackbod@google.com> Better compat mode part one: start scaling windows.

First step of improving app screen size compatibility mode. When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling. Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling. The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible. It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode. This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well. I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly. There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
i/Input.h
78fed171d9d62b25aa846d7373a7040e3fd2241e 09-May-2011 James Dong <jdong@google.com> Add const to the finders method in MetaData.cpp

o also fixed the MPEG4Writer writeFtypBox() to take a const pointer to MetaData

Change-Id: Iaecdbe6aeab345f6dc72aac0d19f9704b6e0d28a
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
ed742306b3d24ba1c2ca3fea0cc2ada8534a18b0 06-May-2011 James Dong <jdong@google.com> Add end of recording summary track info

Change-Id: I2fcf589e70db225776ef7c8d0f28505ceb824c45
related-to-bug: 1854633
edia/mediarecorder.h
7a6cea40b256cfd2e903a1c13daa5698ae7ce348 07-May-2011 James Dong <jdong@google.com> Refactor MPEG4Writer::writeTrackHeader() method

o most of the mp4 file boxes has its own method now
TODO: remove some of the duplicated code for esds box, for instance.

Change-Id: Iae3dbb2410b79bc79aaee081b80569d339993c47
edia/stagefright/MPEG4Writer.h
f84bfabe0d5d92956a1ba2896beb0e0d4e1e3106 21-Mar-2011 James Dong <jdong@google.com> Initial check-in for AACWriter

Change-Id: Ia21ca39a404484b2dda25c6101780d2ff11c4623

related-to-bug: 4211046
edia/stagefright/AACWriter.h
4f55af7ba6b8c278352b05059976c13a90e75756 04-May-2011 Gloria Wang <gwang@google.com> Merge "Initial CL for the timed text support: - Add support for MP4 timed text - Add API for app to turn on/off a text track - Add timed text metadata(language) in the MediaMetadataRetriever"
f6df5b41e145ee996ca4f94bec014ab3e41f0b21 04-May-2011 Mike Lockwood <lockwood@android.com> am fb623263: DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

* commit 'fb6232635d339c83ca100e472b159f103dafb6e2':
DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider
fb6232635d339c83ca100e472b159f103dafb6e2 24-Apr-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

Previously we ignored any files and directories that had name started with '.'
and ignored any directories that contained a ".nomedia" file.
Now to support transferring any file via MTP, we now add these previously ignored files
to the media database, but will not mark them as audio, video, image or playlist files.
That way they will be included in the files table but will be hidden from the
audio, video, images and playlist views that are used by apps like Music and Gallery.

Bug: 3405327

Change-Id: Ib707f329be98878501952b6054998518a6eabbbd
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/mediascanner.h
9c112a86def2f5e21705b29f906aadcb7fafb067 24-Apr-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

Previously we ignored any files and directories that had name started with '.'
and ignored any directories that contained a ".nomedia" file.
Now to support transferring any file via MTP, we now add these previously ignored files
to the media database, but will not mark them as audio, video, image or playlist files.
That way they will be included in the files table but will be hidden from the
audio, video, images and playlist views that are used by apps like Music and Gallery.

Bug: 3405327

Change-Id: Ibb37bb2856a0684ce9f685ed565ad35347622834
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/mediascanner.h
c6091ddd3a22da98b5e83d4b5d864939b451b752 04-May-2011 Gloria Wang <gwang@google.com> Initial CL for the timed text support:
- Add support for MP4 timed text
- Add API for app to turn on/off a text track
- Add timed text metadata(language) in the MediaMetadataRetriever

Change-Id: I0055beba38ac761627dbcc6d581ae9582d68bb94
edia/mediametadataretriever.h
edia/mediaplayer.h
edia/stagefright/MediaDefs.h
edia/stagefright/MetaData.h
b2a153adc9860616acdb96d7cdd64494d5a2a0f2 01-May-2011 Iliyan Malchev <malchev@google.com> frameworks/base: android_native_buffer_t -> ANativeWindowBuffer

Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
ui/SurfaceTextureClient.h
edia/stagefright/HardwareAPI.h
urfaceflinger/Surface.h
i/FramebufferNativeWindow.h
i/GraphicBuffer.h
be0cc36525f090032d1b84d95e1d8ba5fc714fc2 02-May-2011 Iliyan Malchev <malchev@google.com> frameworks/base: move ANativeWindow/android_native_buffer_t out

These definitions have been moved to system/core.

Change-Id: I021b6b5f2fd72d538b5ccdcb33860ebd3004d9ad
Signed-off-by: Iliyan Malchev <malchev@google.com>
i/android_native_buffer.h
i/egl/android_natives.h
a269b87bd7fecbd977c6c2a054ea333d40408bfb 15-Apr-2011 Iliyan Malchev <malchev@google.com> frameworks/base: switch CameraService to a HAL module

This patch changes CameraService to load a camera HAL module, instead of
linking directly against a library that implements the CameraHardwareInterface
class.

CameraHardwareInterface no longer defines the API to the camera HAL. Instead,
this is now in HAL header hardware/camera.h. We keep CamerHardwareInterface as
a class local to CameraService, which wraps around the new HAL calls. In the
future, we may remove this class entirely and have CameraService call the HAL
methods directly.

Change-Id: I5c61ac40078fc0b50bbac5881a556fe6c8837641
Signed-off-by: Iliyan Malchev <malchev@google.com>
amera/CameraHardwareInterface.h
4d7c1ce651bd5e283e694fa34641e1dc080613c0 15-Apr-2011 Iliyan Malchev <malchev@google.com> frameworks/base: make the ANativeWindow query() method const

query() does not modify the object's data, so it needs to be a const method

Change-Id: I67c40a3c865461e6f1cc2193fd2d74286ff6ac8f
Signed-off-by: Iliyan Malchev <malchev@google.com>
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
i/FramebufferNativeWindow.h
i/egl/android_natives.h
9c7ac0d142eaf4b083a309299ab023932a9bb109 15-Apr-2011 Iliyan Malchev <malchev@google.com> frameworks/base: include system/core header camera.h in Camera.h

We define struct CameraInfo in this camera/Camera.h, even though an identical
struct camera_info is defined in hardware/camera.h (but not in
hardware/camera_defs.h). We may not export struct definitions from the HAL
into headers which may find their way into the NDK.

This commit also renames FRAME_CALLBACK_FLAG_xxx to CAMERA_FRAME_CALLBACK_xxx.

Change-Id: I3e2ddd01d61bf5371ff2fc1a397995e0f1ee11f8
Signed-off-by: Iliyan Malchev <malchev@google.com>
amera/Camera.h
3723396c7ad7f0290232113a7bf79564f13df31f 03-May-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add an auto-exposure lock feature to the Camera API."
8ef9eaaea8cc27145bf159e45b7d9eaa0aae6d5c 03-May-2011 Mathias Agopian <mathias@google.com> Merge "remove last traces of copybit"
6b85f173046340da7ccd503845a2950843f085f3 03-May-2011 Mathias Agopian <mathias@google.com> remove last traces of copybit

Change-Id: Ia0f13a0ee6f702256482b5eb29d7fa2aa840bfc7
rivate/opengles/gl_context.h
3773eef4e36fa4171a84b495dca849be112df0a8 15-Apr-2011 Eino-Ville Talvala <etalvala@google.com> Add an auto-exposure lock feature to the Camera API.

Adds a new camera parameter for locking auto-exposure to its current
value. Also adds a function for checking if auto-exposure lock is
supported by the current platform.

Hidden for now.

Change-Id: Id452371191ab220318ce2cb98b8ee91bdde9aab6
amera/CameraParameters.h
efc69d72c9208fe08eefb702f9047cc7242b61b9 30-Apr-2011 Gloria Wang <gwang@google.com> Merge "Add setParameter/getParameter to MediaPlayer API. for bug 1982947"
f16e1ab0a90b1527a5c859a99f4e1dc39064f3b8 29-Apr-2011 Gloria Wang <gwang@google.com> Add DRM errors in the DRM frameworks to MediaErrors also.
For bug 4350156.

Change-Id: Ib5711ec642178a49203a448b7f5114e675d49394
rm/drm_framework_common.h
edia/stagefright/MediaErrors.h
d01ec6eab019e46398975202e9e4a198a603ad99 26-Apr-2011 Gloria Wang <gwang@google.com> Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
8e86a7aba5003a620bb130b8ab7b444dacf6da9f 29-Apr-2011 Mathias Agopian <mathias@google.com> get rid of dependency on copybit HAL module

Change-Id: Ia608099a2426c11a91d33063ba53c93e1eccb428
rivate/opengles/gl_context.h
i/Region.h
058520e9eea39d01fc4dd640a15cb85090e30e81 28-Apr-2011 Dima Zavin <dima@android.com> Merge changes I22d9e018,Ib0701fcc,Ibc637918,I9eb7e002,I4adcec73

* changes:
audioflinger: don't do work in constructor, instead do it in onFirstRef
audioflinger: enumerate all the possible audio interfaces
audio/media: convert to using the audio HAL and new audio defs
libmedia: move AudioParameter out of AudioSystem
audioflinger: move legacy audio hw/policy out to libhardware_legacy
24fc2fb1c541e954b83fd31ea9f786a5e9b45501 20-Apr-2011 Dima Zavin <dima@android.com> audio/media: convert to using the audio HAL and new audio defs

Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
edia/AudioParameter.h
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/EffectApi.h
edia/IAudioPolicyService.h
edia/MediaPlayerInterface.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
edia/stagefright/AudioSource.h
c7d1d6288ee097e97560ab01f3d0953014ce3cf7 27-Apr-2011 Gloria Wang <gwang@google.com> am d84df054: am 96974931: am 83ddcdf7: Add heartbeat error codes into MediaErrors.h

* commit 'd84df05490e8b102e81cca848f65c174398be1b6':
Add heartbeat error codes into MediaErrors.h
d84df05490e8b102e81cca848f65c174398be1b6 27-Apr-2011 Gloria Wang <gwang@google.com> am 96974931: am 83ddcdf7: Add heartbeat error codes into MediaErrors.h

* commit '969749319ca17f6e0c6836303a78cc484df2539b':
Add heartbeat error codes into MediaErrors.h
4dc22e77cfd2a1c3671e5646ee87c5e4c15596a0 20-Apr-2011 Dima Zavin <dima@android.com> libmedia: move AudioParameter out of AudioSystem

Change-Id: I9eb7e002d141936258050d4fa4f0ccd8202bfc54
Signed-off-by: Dima Zavin <dima@android.com>
edia/AudioParameter.h
edia/AudioSystem.h
83ddcdf7fdd46b81a2b0ea5acdf9b9dc52b5daa6 27-Apr-2011 Gloria Wang <gwang@google.com> Add heartbeat error codes into MediaErrors.h

related-to-bug: 4322415

Change-Id: I78137c61e3a8ce9afcb9fb38cb77a83561b9b72d
edia/stagefright/MediaErrors.h
1d38d936a159a73ad06e481bd960d37c5ae1efed 26-Apr-2011 Mathias Agopian <mathias@google.com> fix typo in Vector<>:: push_back and push_front

parameter were inverted.

Change-Id: I867b01de5f58354bb9668fa662dd2a7d78dd3b37
tils/Vector.h
46baa14f27eb08b55434bf6e9cf9bcc9c9dbc17f 26-Apr-2011 Mathias Agopian <mathias@google.com> Merge "Add some basic STL compatibility to Vector<>"
589b64a64be16d04d35113bc7f2644e200cb4a3e 26-Apr-2011 Mathias Agopian <mathias@google.com> Add some basic STL compatibility to Vector<>

Change-Id: Iaf72623170ee415372c7989d7ba9ff627167449e
tils/Vector.h
42f16f3d425df16829d8de4662d97577f421a7ad 25-Apr-2011 Mike Lockwood <lockwood@android.com> Merge "MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider"
185052e2d1b8b4eb9df5f47e6d7fd05acb739b84 25-Apr-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Clarify the meaning of weight in the focus and metering area HAL."
4e396e063c8b0fa6201b47166f547a98abfd6038 21-Apr-2011 Eino-Ville Talvala <etalvala@google.com> Clarify the meaning of weight in the focus and metering area HAL.

Weigh values must be less than 1000, but have no restriction on their
sum. Weights should be interpreted as per-pixel values, meaning larger
areas will have more influence over focus/metering than smaller areas
of the same weight.

Change-Id: I988b74f988ddba2ff0c49d078ff3174b47cbae18
amera/CameraParameters.h
997354e4b4a9666cedd62282471e97822affced9 24-Apr-2011 Mike Lockwood <lockwood@android.com> MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

Previously we ignored any files and directories that had name started with '.'
and ignored any directories that contained a ".nomedia" file.
Now to support transferring any file via MTP, we now add these previously ignored files
to the media database, but will not mark them as audio, video, image or playlist files.
That way they will be included in the files table but will be hidden from the
audio, video, images and playlist views that are used by apps like Music and Gallery.

Bug: 3405327

Change-Id: I2d7285bd32e06c1a5c4ef6a8a15f8f8b2c33b39b
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/mediascanner.h
9638e5c167be321643bf3f3ee39e3fb45541fb3b 20-Apr-2011 Mathias Agopian <mathias@google.com> Get rid of the "pid" parameter from createSurface

Change-Id: I28635e3f803e6abe965d79998e305f54a202465d
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/SurfaceComposerClient.h
3f14891fc9e764d97de07b109f066aedfff90c2e 20-Apr-2011 Jeff Brown <jeffbrown@google.com> Merge "Initial checkin of spot presentation for touchpad gestures."
2352b978a3c94cd88f41d0d908f961333fdac1e9 13-Apr-2011 Jeff Brown <jeffbrown@google.com> Initial checkin of spot presentation for touchpad gestures.

Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements. The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: I5126b1e69d95252fda7f2a684c9287e239a57163
i/Input.h
578492e999b3919cfc587024c5f86d6837c3aa7c 19-Apr-2011 Mathias Agopian <mathias@google.com> Merge "changes to SurfaceTexture needed for unification with SF"
b0dfade955f2e2e19a827ca2119f3c5d319a824a 18-Apr-2011 Andreas Huber <andih@google.com> Merge "Parcel::appendFrom({const } Parcel *parcel, size_t, size_t)"
644c4f186259cd26a2fb1e5be3ce32d891adc7af 16-Apr-2011 Mathias Agopian <mathias@google.com> Merge "Fix a GraphicBuffer leak in SurfaceTexture"
50e657bb2d005568f5dd8bc1d904d07b0d94018f 08-Mar-2011 Bjorn Bringert <bringert@android.com> Add Java API for writing TTS engines

This removes the old non-public C++ API for TTS
engines and replaces it with a Java API.

The new API is still @hidden, until it has been approved.

Bug: 4148636
Change-Id: I7614ff788e11f897e87052f684f1b4938d539fb7
ts/TtsEngine.h
d195e5ab401432ddac659791640a2927fc668699 14-Apr-2011 Elliott Hughes <enh@google.com> Replace a custom AndroidRuntime::findClass with a more targeted fix.

This seems simpler and more contained, and I think the comment explaining
why hoop-jumping is necessary is a bit clearer now.

Change-Id: Ief4afd7cbb42188ed835fce23e497520bdb753a8
ndroid_runtime/AndroidRuntime.h
966f9e558d714d9d41189e989b21e6d5fec35047 14-Apr-2011 Gloria Wang <gwang@google.com> Merge "- Add another parameter in notify() to be able to send timed text sample through listener during video playback. - Add OnTimedTextListener in the MediaPlayer For feature request 800939."
162ee49e1ce8800de80697fdd0e0e42ad7e9374e 12-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.
- Add OnTimedTextListener in the MediaPlayer
For feature request 800939.

Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
edia/IMediaPlayerClient.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
0a47f4f711514ceb3e5f6d3ecdbc4c74f7b3bbef 13-Apr-2011 Andreas Huber <andih@google.com> Parcel::appendFrom({const } Parcel *parcel, size_t, size_t)

As far as I can tell "parcel" isn't actually modified by the implementation.

Change-Id: Ib806eefdc13c97b932773e1dc9ca3a4aad4422b2
inder/Parcel.h
fda06c0cd9bf1db78adcddf11d374785c6737b61 13-Apr-2011 Wu-cheng Li <wuchengli@google.com> Merge "Add camera metering area API."
e98e4c806320ccb3078805ac019cca3ed9796123 12-Apr-2011 Wu-cheng Li <wuchengli@google.com> Add camera metering area API.

The API are still hidden.

bug:3475893
Change-Id: Id4147528def5e0fe067e1a3ed315fa34c14a0640
amera/CameraParameters.h
461fa8b05dfb4fd334980365e27002a7520e866e 12-Apr-2011 Kenny Root <kroot@google.com> resolved conflicts for merge of 18490fb9 to master

Change-Id: I6c68e6fb0f9c1182a955689bbffc161a8f30bd37
18490fb93e206fd899c3258096cc32f293373c92 12-Apr-2011 Kenny Root <kroot@google.com> resolved conflicts for merge of 87b3c0dc to honeycomb-plus-aosp

Change-Id: Ia1a0024aabf531438203eb9fea3a10dd15eabe53
27cd07ca8006fd80d85379ada416874bfa78aa88 12-Apr-2011 Mathias Agopian <mathias@google.com> changes to SurfaceTexture needed for unification with SF

- implement connect/disconnect
- implement missing query
- handle texture_2d in addition to texture_external_oes

Change-Id: I971a70821f00f22b01f5337de4a7d451177fec4d
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
a3804cf77f0edd93f6247a055cdafb856b117eec 12-Apr-2011 Elliott Hughes <enh@google.com> You don't need to poke around inside FileDescriptor manually.

We can help you with that.

Note also that getParcelFileDescriptorFD did no such thing. All its callers
were passing in a regular java.io.FileDescriptor and expecting the int. No
ParcelFileDescriptors involved.

Change-Id: Idc233626f20c092e719f152562601f406cc1b64a
ndroid_runtime/AndroidRuntime.h
87b3c0dcc45223ff9d5ab2e39d7b9a6953e03f50 12-Apr-2011 Kenny Root <kroot@android.com> am 08d9d9a4: Merge "Runtime resource overlay, iteration 1."

* commit '08d9d9a46250c4fad66e9b637e8898a3524c4286':
Runtime resource overlay, iteration 1.
5f05f99aaedaba18c426fac287bcb18d56dbe881 09-Apr-2011 Mathias Agopian <mathias@google.com> Fix a GraphicBuffer leak in SurfaceTexture

This leak was intentional, it was there to deal with the fact that
some gralloc implementations don't track buffer handles with
file-descriptors so buffers needed to stay alive until there were
registered, which is not guaranteed by binder transactions.

In this new implementation, we use a small BBinder holding a
reference to the buffer, which with tuck into the parcel. This forces
the reference to stay alive until the parcel is destroyed, which
is guaranteed (by construction) to happen after the buffer is
registered.

this allows the public facing API to not expose the previous hack.

Change-Id: I1dd6cd83679a2b7457ad628169e2851acc027143
ui/SurfaceTexture.h
urfaceflinger/IGraphicBufferAlloc.h
30771b773393596812b6cfd2a4ddf490c43437aa 02-Apr-2011 Wu-cheng Li <wuchengli@google.com> Add camera focus area API.

The API are still hidden.

bug:3475893

Change-Id: I92405c9e332b7fb141788cda7ebc9705dd666c67
amera/CameraParameters.h
85b65f2008e7eb8ef492a63cba80555f58915769 06-Apr-2011 Glenn Kasten <gkasten@google.com> Merge "Miscellaneous code cleanup in audio framework"
59ad81e19bf8312d4abb5f1b754502a750568be5 06-Apr-2011 Mathias Agopian <mathias@google.com> Merge "remove more unused references to ISurface"
5a4fb5c735f82b26eb9a9da589856dc877e208c8 06-Apr-2011 Mathias Agopian <mathias@google.com> Merge "Remove unused references to ISurface"
3fc982f41fda1f254bfbc35490d81cd82a0ed90a 31-Mar-2011 Dianne Hackborn <hackbod@google.com> Add new resource configurations for screen width/height in "dp".

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I22f8afa136b4f274423978c570fa7c9855040496
tils/ResourceTypes.h
ed0079ddddd4070f3369b13b274222da2e69f4b9 04-Apr-2011 Glenn Kasten <gkasten@google.com> Miscellaneous code cleanup in audio framework

Changes:
- Move declaration of kClassPathName to top of file so it can be used
in more than one place, instead of "android/media/AudioSystem".
- Make private methods static.
- Add comment to stream_type, audio_mode, force_use types that they must match
values in AudioSystem.java.
- Add comment about unused types mp3_sub_format and vorbis_sub_format.
- Fix typos.
- Use @ in javadoc comments.
- Delete dead APIs setMode, getMode, setRouting, getRouting in AudioSystem.java
(they are all hidden, deprecated, and unused by rest of framework)
- Delete unused private log method.
- Fix pathname for android_media_AudioSystem.cpp.
- Improve code formatting for space after == and !=.
- Add logging of delta for changing audio policy manager ref count.

Change-Id: I18037c7beb8ab76d1fda08c11e589f6e591d36e1
edia/AudioSystem.h
c8a04b536bb8ad12a87e6dd68d66cff1e7fcd7e7 06-Apr-2011 Mathias Agopian <mathias@google.com> remove more unused references to ISurface

Change-Id: I2201f1ca2bb8f203a081d94a0134f798778dfbef
urfaceflinger/Surface.h
ae29b7632ecf2068698c0d121cff284dcc82f4ec 29-Mar-2011 Eric Laurent <elaurent@google.com> New fix for issue 4111672: control block flags

The first fix (commit 913af0b4) is problematic because it makes threads
in mediaserver process block on the cblk mutex. This is not permitted
as it can cause audio to skip or worse have a malicious application
prevent all audio playback by keeping the mutex locked.

The fix consists in using atomic operations when modifying the control
block flags.

Also fixed audio_track_cblk_t::framesReady() so that it doesn't block
when called from AudioFlinger (only applies when a loop is active).

Change-Id: Ibf0abb562ced3e9f64118afdd5036854bb959428
rivate/media/AudioTrackShared.h
fb96b5ece35ed3c0f3e682d1f9864d7700fe63fc 05-Apr-2011 Mathias Agopian <mathias@google.com> Remove unused references to ISurface

Change-Id: I542806b5c91c525ed7cde821f6963f1e020ddf1a
edia/IMediaPlayer.h
edia/IOMX.h
edia/MediaPlayerInterface.h
756484c2bb110c7c2155e41b6f51672ecc638a23 01-Apr-2011 Mathias Agopian <mathias@google.com> Merge "SurfaceTexture can now force the client to request a buffer"
e5a1bffd9106b1d82259de1a202e1f2f28742392 01-Apr-2011 Mathias Agopian <mathias@google.com> SurfaceTexture can now force the client to request a buffer

SurfaceTexture now has the concept of default size a new method,
setDefaultBufferSize() to set it. When the default size is
changed, dequeueBuffer() will return a value telling the
client that it must ask for a new buffer.

The above only applies if the client has not
overriden the buffer size with setGeometry.

Change-Id: I520dc40363054b7e37fdb67d6a2e7bce70326e81
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
bc2278b95f4012d81918b0faedea36011f122a33 01-Apr-2011 Jeff Brown <jeffbrown@google.com> Merge "Add a little input event consistency verifier."
57f4b77c89bafedf9468f9a636561c0c193405c9 17-Mar-2011 Mårten Kongstad <marten.kongstad@sonyericsson.com> Runtime resource overlay, iteration 1.

Runtime resource overlay allows unmodified applications to appear
as if they had been compiled with additional resources defined. See
libs/utils/README for more information.

This commit is the first iteration of runtime resource overlay. It
provides the actual overlay modifications and loading of trusted overlay
packages (ie residing in /vendor) targeting framework-res.apk.

This commit loads exactly one overlay package. The overlay,
if present, must target framework-res.apk and be located at
/vendor/overlay/framework/framework-res.apk.

Change-Id: If26ee7754813004a96c043dba37fbe99fa3919db
tils/AssetManager.h
tils/ResourceTypes.h
21bc5c917d4ee2a9b2b8173091e6bba85eaff899 01-Mar-2011 Jeff Brown <jeffbrown@google.com> Add a little input event consistency verifier.

The idea is to assist with debugging by identifying cases in which
the input event stream is corrupted.

Change-Id: I0a00e52bbe2716be1b3dfc7c02a754492d8e7f1f
i/Input.h
64802ca780563e2bd715a300e0bb81eec643baf0 01-Apr-2011 Russell Brenner <russellbrenner@google.com> am c6b22e27: Updated JBQ\'s original SurfaceTexture stubs to make webkit MR1 buildable

* commit 'c6b22e2727bd3730edd5ad72831a9bb4670d00f3':
Updated JBQ's original SurfaceTexture stubs to make webkit MR1 buildable
7b445dd7c0814a39eaf912fa1a871f00d5190550 01-Apr-2011 Russell Brenner <russellbrenner@google.com> am 49b49f8f: Added include/private/hwui/DrawGlInfo.h

* commit '49b49f8fb6d094768d4e093353b34271f2da1bfc':
Added include/private/hwui/DrawGlInfo.h
c6b22e2727bd3730edd5ad72831a9bb4670d00f3 01-Apr-2011 Russell Brenner <russellbrenner@google.com> Updated JBQ's original SurfaceTexture stubs to make webkit MR1 buildable

Change-Id: If1c1610efcc0e0bc6de88c75712baed91624b1a7
ui/SurfaceTexture.h
49b49f8fb6d094768d4e093353b34271f2da1bfc 31-Mar-2011 Russell Brenner <russellbrenner@google.com> Added include/private/hwui/DrawGlInfo.h

Change-Id: If50ccabb8761a994fa1f7aef4fbdb668c6160b0c
rivate/hwui/DrawGlInfo.h
e028290d01b730b30df0dd4653f8e1c5d987b6f4 31-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Add input filter mechanism for accessibility."
0029c66203ab9ded4342976bf7a17bb63af8c44a 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Add input filter mechanism for accessibility.

This patch adds a mechanism for capturing, filtering, transforming
and injecting input events at a very low level before the input
dispatcher attempts to deliver them to applications. At this time,
the mechanism is only intended to be used by the accessibility
system to implement built-in system-level accessibility affordances.

The accessibility input filter is currently just a stub.
It logs the input events receives and reinjects them unchanged,
except that it transforms KEYCODE_Q into KEYCODE_Z.

Currently, the accessibility input filter is installed whenever
accessibility is enabled. We'll probably want to change that
so it only enables the input filter when a screen reader is
installed and we want touch exploration.

Change-Id: I35764fdf75522b69d09ebd78c9766eb7593c1afe
i/Input.h
a51e9fd53da8aee399e592a4e0f79332e6bf8239 31-Mar-2011 Mathias Agopian <mathias@google.com> Merge "Revert "retire android_native_window_t""
2c341907027dd2cd55f09b0b90a224b159233477 31-Mar-2011 Mathias Agopian <mathias@google.com> Revert "retire android_native_window_t"

this type is still used by partner's source trees.
we will get rid of it in next release's timeframe.

This reverts commit 7b49b976277cb3538242151e7dbd24681ddec73e.
i/egl/android_natives.h
cabb7da7125a80c55233bd23959327424e9646cc 24-Mar-2011 Andreas Huber <andih@google.com> Support for divx files, i.e. mpeg 4 video + mpeg audio layer III in .avi files

Change-Id: I6e1e989c43300ddb0d341e3e9183cdccd69eeae6
related-to-bug: 4192562
edia/stagefright/MediaDefs.h
a2e57ca6504adfb3045c1d349d3abad796d8001f 30-Mar-2011 Andreas Huber <andih@google.com> Stagefright DataSources now expose the underlying content mime type.

Use that mime type to determine if we should do upfront buffering at the start of
playback and don't for audio streams to ensure playback starts fairly instantly.

Change-Id: If21e36d1b024f0e5c723911bceadaa2e0307ab42
related-to-bug: 4090916
edia/stagefright/DataSource.h
40c364136f09e82602692f359bcf8aa9b0df18d3 29-Mar-2011 Iliyan Malchev <malchev@google.com> frameworks/base: some camera-interface cleanup

Methods getNumberOfVideoBuffers() and getVideoBuffer() as well as struct
image_rect_struct are no longer used (instead, the necessary information is
passed through ANativeWindow.)

Change-Id: If4b11446fc9ccbde1f6b45bc70c0d0b8e54376eb
Signed-off-by: Iliyan Malchev <malchev@google.com>
amera/Camera.h
amera/CameraHardwareInterface.h
amera/ICamera.h
edia/stagefright/CameraSource.h
503b111b2421673796500627a1f6d74d81bf9548 25-Mar-2011 Gloria Wang <gwang@google.com> am ed7b688c: am aac43ea1: am b8b85ea2: Merge "Fix for bug 4126624. Change the mDrmManagerClientImpl to sp to avoid double delete the pointer." into honeycomb-mr1

* commit 'ed7b688c015dbd064b81dfaed5dd6c7ed6728ac3':
Fix for bug 4126624. Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.
4c87a75073987e30b36f6be781cd10f696876ba4 24-Mar-2011 Gloria Wang <gwang@google.com> Fix for bug 4126624.
Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.

Change-Id: I7aacea1bc58ab6425ef6f6f09472c6f2970ebb4d
rm/DrmManagerClient.h
7b49b976277cb3538242151e7dbd24681ddec73e 24-Mar-2011 Iliyan Malchev <malchev@google.com> retire android_native_window_t

Change-Id: I232c526168e1a93977d1c2d0fa74c8937cdeb23b
Signed-off-by: Iliyan Malchev <malchev@google.com>
i/egl/android_natives.h
4dc482daac5d484f338865cdddd57528276a7ca0 22-Mar-2011 Andreas Huber <andih@google.com> Delay signaling the end of audio playback until all frames have actually played.

Change-Id: I1fa07358a885a818fd0a5d7da425740f86095e10
related-to-bug: 3404000
edia/stagefright/AudioPlayer.h
66044c17924f56ee838e1b4262e1f64f7723aac2 22-Mar-2011 Gloria Wang <gwang@google.com> am fc4c13be: am 01240177: am 3cc797b9: Merge "Add one more field in DecryptHandle to support bug 4126624" into honeycomb-mr1

* commit 'fc4c13be8ce8c2d05432d855c2c61548abef3385':
Add one more field in DecryptHandle to support bug 4126624
c430394ed7dcb458b0850bb1ce28abeb49252d77 22-Mar-2011 Gloria Wang <gwang@google.com> Add one more field in DecryptHandle to support bug 4126624

Change-Id: Ic7ea5fd211c4f8283de8fdf722f89b6a94e5750b
rm/drm_framework_common.h
ee4084bf063249b3506cdc0a454dd19fa8f7549f 22-Mar-2011 Gloria Wang <gwang@google.com> do not merge: Cherry pick change I6529695c from master to partially fix bug 4126624.

Change-Id: If724de60bd6da1becdffc815d5358ffe78629469
rm/drm_framework_common.h
3bbeaacfc0348a951c4bac56f2311fa9c3fe4f38 20-Mar-2011 Gloria Wang <gwang@google.com> Fix for 4084554.
DRM framework support for enabling/disabling copy control settings from a DRM plugin

Change-Id: I6529695cc4adbab2b9a63708bb459e3b77e07564
rm/drm_framework_common.h
5b7ced6a4ebcec34a36d0779773bc9e671732dbf 21-Mar-2011 Andreas Huber <andih@google.com> Support passing headers to MediaMetadataRetriever's setDataSource API

Change-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26
related-to-bug: 3506316
edia/IMediaMetadataRetriever.h
edia/MediaMetadataRetrieverInterface.h
edia/mediametadataretriever.h
64929b490977ba681a697cadefd2c49f6ff69aba 17-Mar-2011 Romain Guy <romainguy@google.com> DO NOT MERGE Send WebView the current transform and whether we're drawing a layer.
Bug #3275491

These can be used by WebView to correctly apply alpha and geometric
transforms.

Change-Id: I61057997f5fda1e803d247fc77500a038d5f3aab
rivate/hwui/DrawGlInfo.h
7fc8b4f5ff88da7011f2d04c8f019008cc23bd0f 18-Mar-2011 James Dong <jdong@google.com> Better organize media recorder error and information event and types

Change-Id: I45f1f953596985494725525c1fabf57eccc19175
edia/mediarecorder.h
edia/stagefright/MPEG4Writer.h
6ed6f6d82d7b9f8d82f3ab3a9f718a0e59ffa476 18-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Refactor how timeouts are calculated."
aa3855d5836d2a2d83baafdf6e40caf90d3dad1c 17-Mar-2011 Jeff Brown <jeffbrown@google.com> Refactor how timeouts are calculated.

Added a timeout mechanism to EventHub and InputReader so that
InputMappers can request timeouts to perform delayed processing of
input when needed.

Change-Id: Iec2045baaf4e67690b15eef3c09a58d5cac76897
tils/Timers.h
ce06ebfda4bd7c511cef3d98aacf7291a743ea46 17-Mar-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add support for timestamps into SurfaceTexture."
cfbe4369b3cd493af3943aae7e0b1590f8e5f20d 17-Mar-2011 Gloria Wang <gwang@google.com> Fix for bug 4126103.
mMessage in DrmInfoEvent is a reference to the message string, so the
temporary message created in the plugin was going out of scope and
being destructed while the message was being sent. Changed DrmInfoEvent's
mMessage to be const String8 instead of const String8&

Change-Id: I174197ad24f3df997d3bc1f897658cfc53862636
rm/DrmInfoEvent.h
c5f94d8a4779050125145396ca83fbc862c7ed6b 18-Feb-2011 Eino-Ville Talvala <etalvala@google.com> Add support for timestamps into SurfaceTexture.

API addition: The timestamps are represented as nanoseconds from some
arbitrary time point. Like the SurfaceTexture transform matrix, the
timestamp retrieved by getTimestamp is for the last frame sent to the
GL texture using updateTexImage().

Camera HAL change: Expect vendors to set these timestamps using
native_window_set_buffers_timestamp(). For now, they are
autogenerated by SurfaceTextureClient if set_buffers_timestamp() is
never called, but such timing is likely not accurate enough to pass a
CTS test.

bug:3300707

Change-Id: Ife131a0c2a826ac27342e11b8a6c42ff49e1bea7
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
i/egl/android_natives.h
be3c82f25d45ccd1600ec23bab80c2e8a35a0474 17-Mar-2011 James Dong <jdong@google.com> am 782ffe91: am 9c0c5b56: am 2f1f2248: Fix missing AOSP copyright headers for a bunch of media framework files

* commit '782ffe91da665c6b1fb9e297faa6e0dc6035f40c':
Fix missing AOSP copyright headers for a bunch of media framework files
08aa2cbd5e62e7ca140f78f8bea0477a19880fd9 17-Mar-2011 Romain Guy <romainguy@google.com> Send WebView the current transform and whether we're drawing a layer.
Bug #3275491

These can be used by WebView to correctly apply alpha and geometric
transforms.

Change-Id: I2ecd4376d68df886dead3c9240317de33f56828f
rivate/hwui/DrawGlInfo.h
2f1f2248c8439adbd686810e306c55f9e6a5abc3 17-Mar-2011 James Dong <jdong@google.com> Fix missing AOSP copyright headers for a bunch of media framework files

bug - 4119349

Change-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50
edia/stagefright/ACodec.h
edia/stagefright/MediaDebug.h
edia/stagefright/foundation/AHandlerReflector.h
edia/stagefright/foundation/AHierarchicalStateMachine.h
48e122891afec8bfadaa9d7fdf731b8f711b5b91 17-Mar-2011 Mathias Agopian <mathias@google.com> am e22aa623: am 25594e19: am f40e638e: fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out

* commit 'e22aa62362a3007ee59ac62d4b5969e216987995':
fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out
f40e638ec62cd9e1a1851809b7c8bf5e4187fad2 17-Mar-2011 Mathias Agopian <mathias@google.com> fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out

a memory corruption happned when the buffer pool was resized
(like when playing a video or using camera) and there was
no current active buffer. In this case, the faulty code
would index into an array at position -1 which corrupted
24 bytes of data.

also improved region validation code (ifdef'ed out by default)

Bug: 4093196
Change-Id: I915c581d131148959d720e00e3892e9186ab733d
tils/Vector.h
a30f43624f76a7d49fcb48944c310cb4dbfc6522 17-Mar-2011 Romain Guy <romainguy@google.com> am 72064c66: am b0204d0a: am c2b91a61: Merge "Modify the GL renderer\'s functor to pass the clip to WebView" into honeycomb-mr1

* commit '72064c66e20b9cc86900a9d833c228c345a2b2a4':
Modify the GL renderer's functor to pass the clip to WebView
80911b851764b073310fd0bffdf4a7db0d8fdd0b 16-Mar-2011 Romain Guy <romainguy@google.com> Modify the GL renderer's functor to pass the clip to WebView

Change-Id: If5efe399ca58f3000b2883e24e9f3736a2025184
tils/Functor.h
9812aed2765c671e6c3f5255ac1b8a2fe0e72ef6 08-Mar-2011 Jeff Brown <jeffbrown@google.com> Add 3D mode key and others.

Related to an AOSP change request.

Change-Id: I3f4f84b56a1af626a8783f5ecbb823eb12ba9fbe
i/KeycodeLabels.h
843e29d3751017267b96565c543df0301c31a9f7 16-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Improve VelocityTracker numerical stability."
2ed2462aa29c564f5231f317c27b3188da875e52 15-Mar-2011 Jeff Brown <jeffbrown@google.com> Improve VelocityTracker numerical stability.

Replaced VelocityTracker with a faster and more accurate
native implementation. This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation. This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces. The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I2632321232c64d6b8faacdb929e33f60e64dcdd3
i/Input.h
tils/BitSet.h
e5eb43b5d9dfd02890dc7f729a4892b518c30570 15-Mar-2011 Glenn Kasten <gkasten@google.com> am 7d7dcb5e: am 4528a7db: Merge "Bug 4016329 do full string comparisons" into honeycomb-mr1

* commit '7d7dcb5ea891ad4c3252ed832ebd06accc96153d':
Bug 4016329 do full string comparisons
4528a7db389b4da73207d00ca15b306a111650cc 15-Mar-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4016329 do full string comparisons" into honeycomb-mr1
4a1f8a4e87635e8acbe381e4739e89c2b5135f9d 15-Mar-2011 Jamie Gennis <jgennis@google.com> am c570ee21: am 41a894ad: am 75597105: Merge "SurfaceTextureClient: Add ISurfaceTexture getter." into honeycomb-mr1

* commit 'c570ee21e2c2b9802c9d1f58dba024e884b225e6':
SurfaceTextureClient: Add ISurfaceTexture getter.
f38d253ccd79e645baf3c12eed35fc98a4ffa858 15-Mar-2011 Jamie Gennis <jgennis@google.com> am ceb7cb14: am 02805a40: Merge "ANativeWindow: add query for the concrete type." into honeycomb-mr1

* commit 'ceb7cb1460484eda1a3cb9cd271d7caf3a3dcbd1':
ANativeWindow: add query for the concrete type.
ed73246b32a725d00b0b7d7e171e5817d9f27a80 15-Mar-2011 James Dong <jdong@google.com> Add memory leak tracking/debugging code to drm server

bug - 4099038

Change-Id: I6c048eaf3d7f34bc144b8daaa5fdef1ed474af66
edia/MemoryLeakTrackUtil.h
f8a1842e07d5c018b33762a72a1b1b5117947579 14-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 4016329 do full string comparisons

Use full string comparisons instead of partial for
file extension and MIME type.
Do case-insensitive comparison of MIME type and file extensions.
Fix error in comment for String8::getPathExtension.
Remove dead code -- StringTokenizer is unused.

Change-Id: I322be6235abbdaab5f7eafa48926dbb2cf46dc29
tils/String8.h
f95a9f019daa0631e6d6ddc826ad9cfe787c42ce 14-Mar-2011 Jamie Gennis <jgennis@google.com> SurfaceTextureClient: Add ISurfaceTexture getter.

This change adds a getter method to SurfaceTextureClient to get the
ISurfaceTexture object with which the SurfaceTextureClient is
communicating.

Bug: 4086509
Change-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd
ui/SurfaceTextureClient.h
c4ca7c511499693f13622b135637f600ec913e57 14-Mar-2011 Jamie Gennis <jgennis@google.com> ANativeWindow: add query for the concrete type.

This change adds a query to the ANativeWindow interface for getting the
concrete type of the ANativeWindow.

Bug: 4086509
Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
i/egl/android_natives.h
5c4421f73fe9ce7d9587add4dfa6fdac3b19ca4e 15-Mar-2011 Gloria Wang <gwang@google.com> am 67718e07: am 132bb659: Merge "For issue 4082089 Add more info and error events into the DRM framework" into honeycomb-mr1

* commit '67718e076422f8f28f4e30a39df9e462ef32d19b':
For issue 4082089 Add more info and error events into the DRM framework
27b277779c89251f2aafcc7a56db95d264900c9d 14-Mar-2011 Gloria Wang <gwang@google.com> For issue 4082089
Add more info and error events into the DRM framework

Change-Id: I0bb3251c5947fc8e977d478e1ba46b242cb97e9d
rm/DrmInfoEvent.h
ace13b17866dc9136aeecf6dfaf7077f37434469 10-Mar-2011 Jeff Brown <jeffbrown@google.com> Use touch pad gestures to manipulate the pointer.

1. Single finger tap performs a click.
2. Single finger movement moves the pointer (hovers).
3. Button press plus movement performs click or drag.
While dragging, the pointer follows the finger that is moving
fastest. This is important if there are additional fingers
down on the touch pad for the purpose of applying force
to an integrated button underneath.
4. Two fingers near each other moving in the same direction
are coalesced as a swipe gesture under the pointer.
5. Two or more fingers moving in arbitrary directions are
transformed into touches in the vicinity of the pointer.
This makes scale/zoom and rotate gestures possible.

Added a native VelocityTracker implementation to enable intelligent
switching of the active pointer during drags.

Change-Id: I5ada57e7f2bdb9b0a791843eb354a8c706b365dc
i/Input.h
tils/BitSet.h
09ba5cebb2cbfbc1f5705b22796ebdf895d91db4 14-Mar-2011 Gloria Wang <gwang@google.com> resolved conflicts for merge of c761a80d to master

Change-Id: I0c0474b95d66c23310d04b7a7f4c9571a211582c
7ea3c7f5a31dcc40d3b5042e3eb724916b66384e 14-Mar-2011 Gloria Wang <gwang@google.com> Merge "- Some change on the DrmManager in order to support feature request 4082089. In DrmManager, we currently lock both processDrmInfo() and onInfo() which is ok for now since processDrmInfo() is async call, and it will return without waiting for onInfo() call. However, if we send an event in processDrmInfo(), we will got deadlock here because we need to invoke onInf() which will wait for processDrmInfo() to release the lock. Use different lock for onInfo(). - Remove some redundent mutex lock." into honeycomb-mr1
977d1fbf47be1a95c1f39ec559ba60b32d0bf749 12-Mar-2011 Glenn Kasten <gkasten@google.com> am dd264f21: am 76470914: Merge "Bug 3515073 Add ANativeWindow_fromSurfaceTexture" into honeycomb-mr1

* commit 'dd264f21e6e9952b3d2ef53ea8a8a9e918e5ce96':
Bug 3515073 Add ANativeWindow_fromSurfaceTexture
7647091436c45af2d82f12c9ea9ec77fa309b49b 12-Mar-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3515073 Add ANativeWindow_fromSurfaceTexture" into honeycomb-mr1
192b591cdca78f258dd3260e41d7217f6fc6e36c 11-Mar-2011 Gloria Wang <gwang@google.com> - Some change on the DrmManager in order to support feature request 4082089.
In DrmManager, we currently lock both processDrmInfo() and onInfo() which is
ok for now since processDrmInfo() is async call, and it will return without
waiting for onInfo() call. However, if we send an event in processDrmInfo(),
we will got deadlock here because we need to invoke onInf() which will wait
for processDrmInfo() to release the lock. Use different lock for onInfo().
- Remove some redundent mutex lock.

Change-Id: I59c794f95ba1693425723224114fa975cf9b235f
rm/DrmManagerClient.h
6dd429efe2f5f4aee1f3b934bb5404e24d65ac93 11-Mar-2011 Glenn Kasten <gkasten@google.com> am 055066e1: am 92f2f3ff: Merge "Bug 3012968 DRM output control" into honeycomb-mr1

* commit '055066e1e77d944383360d50057f5b8187f23c0b':
Bug 3012968 DRM output control
b8763f60b488ea4e233c9ebed8208599edb36da3 28-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3012968 DRM output control

Modifies Stagefright to verify that there is a hardware-protected path
to video sink for DRM content.

Change-Id: I18b8741390e803a05a88c7f180b860a24ba88a10
edia/stagefright/OMXCodec.h
ae7752798a98fc81ff5e6ae69dde2137692106be 25-Feb-2011 Gloria Wang <gwang@google.com> Fix for bug 3477330
This patch fixs a crash bug caused by using a NULL DecryptHandle pointer.
Fix by using sp<DecryptHandle> instead.

Change-Id: Icbd59858385e8256125a615a3c82656b25319d44
rm/DrmManagerClient.h
rm/drm_framework_common.h
edia/stagefright/DataSource.h
edia/stagefright/FileSource.h
5a3d6cc188bd38a9475c801a13f7752b24fb1072 10-Mar-2011 Jeff Brown <jeffbrown@google.com> am e6f0ae12: am efd3266b: Input improvements and bug fixes.

* commit 'e6f0ae12b18819424dd8395b433a8fc9caefa77b':
Input improvements and bug fixes.
efd3266b719eed5f1b217021c0a9e76e4b274b06 09-Mar-2011 Jeff Brown <jeffbrown@google.com> Input improvements and bug fixes.

Associate each motion axis with the source from which it comes.
It is possible for multiple sources of the same device to define
the same axis. This fixes new API that was introduced in MR1.
(Bug: 4066146)

Fixed a bug that might cause a segfault when using a trackball.

Only fade out the mouse pointer when touching the touch screen,
ignore other touch pads.

Changed the plural "sources" to "source" in several places in
the InputReader where we intend to refer to a particular source
rather than to a combination of sources.

Improved the batching code to support batching events from different
sources of the same device in parallel. (Bug: 3391564)

Change-Id: I0189e18e464338f126f7bf94370b928e1b1695f2
i/Input.h
25ea3eeb09ea38a6c68ca7d381ca1e2727a548d9 10-Mar-2011 Jamie Gennis <jgennis@google.com> am 7b13e27e: am 6167a390: Merge "ANativeWindow: add queues-to-window-composer check." into honeycomb-mr1

* commit '7b13e27ee4a42c205b4a20d145610e8c912e7b0c':
ANativeWindow: add queues-to-window-composer check.
6167a390e34981ea92fc6d5458add2da04ee15bc 09-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "ANativeWindow: add queues-to-window-composer check." into honeycomb-mr1
18632db49a938ca1ec12fbb2e4377e3d776d3ac2 09-Mar-2011 Eric Laurent <elaurent@google.com> am 2dc78477: am cc34967f: Merge "Fix issue 3439872: video chat and bluetooth SCO" into honeycomb-mr1

* commit '2dc78477364bd4accb9a603baaafca9a5523dcec':
Fix issue 3439872: video chat and bluetooth SCO
d2acedf18c9a3527f6e3dc5d578a85fdc0ad4338 08-Mar-2011 Jamie Gennis <jgennis@google.com> ANativeWindow: add queues-to-window-composer check.

This change adds a new 'method' to the ANativeWindow interface to check
whether buffers queued to the window will be sent directly to the system
window compositor.

Change-Id: I4d4b199e328c110b68b250029aea650f03c8724d
Bug: 3495535
urfaceflinger/ISurfaceComposer.h
i/egl/android_natives.h
421ddc014b31478ba0ef115e098d8780a35af331 07-Mar-2011 Eric Laurent <elaurent@google.com> Fix issue 3439872: video chat and bluetooth SCO

This change fixes the stability problems experienced when using
a bluetooth headset supporting both A2DP and SCO. Problems occur
when starting the video chat at which time the A2DP output is being
stopped to start SCO. At that time, active AudioTracks are invalidated
by AudioFlinger so that a new AudioTrack binder interface can be
recreated by the client process on the new mixer thread with correct parameters.
The problem was that the process to restore the binder interface was not
protected against concurrent requests which caused 2 binder interfaces
to be created sometimes. This could lead to permanent client deadlock
if one of the client threads was waiting for a condition of the first
created binder interface while the second one was created (as the AudioFlinger
would only signal conditions on the last one created).
This concurrent request situation is more likely to happen when a client
uses the JAVA AudioTrack as the JNI implementation uses simultaneously the
native AudioTrack callback and write push mechanisms. By doing so, the code
that checks if the binder interface should be restored (in obtainBuffer()) is
much more likely to be called concurrently from two different threads.

The fix consists in protecting the critical binder interface restore phase
with a flag in the AudioTrack control block. The first thread acting upon the binder
interface restore request will raise the flag and the second thread will just wait for
a condition to be signaled when the restore process is complete.

Also protected all accesses to the AudioTrack control block by a mutex to prevent
access while the track is being destroyed and restored. If a mutex cannot be held
(e.g because we call a callback function), acquire a strong reference on the IAudioTrack
to prevent its destruction while the cblk is being accessed.

Modified AudioTrack JNI to use GetByteArrayElements() instead of
GetPrimitiveArrayCritical() when writing audio buffers. Entering a critical section would
cause the JNI to abort if a mediaserver crash occurs during a write due to the AudioSystem
callback being called during the critical section when media server process restarts.
Anyway with current JNI implementation, either versions do not copy data most of the times
and the criticial version does not guaranty no data copy.

The same modifications have been made to AudioRecord.

Change-Id: Idc5aa711a04c3eee180cdd03f44fe17f3c4dcb52
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
f7098ce95dde39a33ca280bd1ef9a13259e7b7e5 08-Mar-2011 Romain Guy <romainguy@google.com> am d00353fe: am bc8a8e8c: Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1

* commit 'd00353fe3191571a6773ef2d11921cfcff260bc4':
Add support for partial invalidates in WebView Bug #3461349
bc8a8e8c926115cb7b3910d016e5cff12b0f7b0a 08-Mar-2011 Romain Guy <romainguy@google.com> Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1
cabfcc1364eb7e4de0b15b3574fba45027b45cfc 08-Mar-2011 Romain Guy <romainguy@google.com> Add support for partial invalidates in WebView
Bug #3461349

This change also fixes two bugs that prevented partial invalidates
from working with other views. Both bugs were in our EGL implementation:
they were preventing the caller from comparing the current context/surface
with another context/surface. This was causing HardwareRenderer to always
redraw the entire screen.

Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
tils/Functor.h
de6a47a3e9d1a8cb5722b9785f5ffb9046c23918 08-Mar-2011 Mathias Agopian <mathias@google.com> am df6410dc: Merge "Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only" into gingerbread

* commit 'df6410dce3dae0bdb7e13118b3878079a1dcce03':
Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only
951d3fec41c8c77f5ce86a5394573e8180d93927 10-Feb-2011 Mathias Agopian <mathias@google.com> Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only

37c2a37 fix [3408713] Dialog window invisible sometimes
d35c666 fix [3385504] Surface flinger hang when adding dim surface
1723b04 fix [3389263] OMX.Nvidia.h264.decode fails to shutdown
1b0114f fix a surface leak in SurfaceFlinger

Bug: 3513017

Change-Id: Ia13ed8c9cdcb1f484e177cdcaff687e7c88a10c3
tils/RefBase.h
bfa40efc9b9105aaa3a2ea52b1d37de411d81e3b 07-Mar-2011 Andreas Huber <andih@google.com> Merge "Added more metadata published by the MediaMetaDataRetriever"
8529745b27877d98a0c76692295a3fcac238b1e6 04-Mar-2011 Jeff Brown <jeffbrown@google.com> Joystick tweaks. (DO NOT MERGE)

Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions
even when noise filtering is applied. (Bug: 3514510)

Add support for a few more standard axes.

Add additional mapping modes for axes.
Some axes are inverted from standard interpretation
or are actually intended to be split into two distict axes
such as left/right trigger controls or accelerator/brake.

Add key layout file for a G25 racing wheel and XBox 360 controller
to tweak behavior. They work fine without them but the axis mappings
are not ideal.

Change-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7
i/KeyLayoutMap.h
i/KeycodeLabels.h
3a22fa057091cd6614f58ebc57a7ce4fe29462bb 04-Mar-2011 Jeff Brown <jeffbrown@google.com> Joystick tweaks.

Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions
even when noise filtering is applied. (Bug: 3514510)

Add support for a few more standard axes.

Add additional mapping modes for axes.
Some axes are inverted from standard interpretation
or are actually intended to be split into two distict axes
such as left/right trigger controls or accelerator/brake.

Add key layout file for a G25 racing wheel and XBox 360 controller
to tweak behavior. They work fine without them but the axis mappings
are not ideal.

Change-Id: Id4c86a0a272331c680039a9bde6815bb7eba44ab
i/KeyLayoutMap.h
i/KeycodeLabels.h
846db33313aa0899fa7928256c6734964bd92520 04-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 3515073 Add ANativeWindow_fromSurfaceTexture

This is similar to ANativeWindow_fromSurface.

Change-Id: Iaadc06a5d0d50685c34876aa89488c16e7cfaa65
ndroid_runtime/android_graphics_SurfaceTexture.h
c4c38fc1ea06086ea3c7ba12f59ecfacd5fa716b 04-Mar-2011 Andreas Huber <andih@google.com> Added more metadata published by the MediaMetaDataRetriever

- presence of audio/video content
- video dimensions
- avg. bitrate

Change-Id: Ie6d478a3c2d0bb6bebaea99ac0a20a4c17808934
related-to-bug: 3506316
edia/mediametadataretriever.h
1eb12937329d0fcdc29d9c5ab6c549c42d2dcd52 03-Mar-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add TextLayout Cache"
55acdf7dcd0cf5b9aacfe48808e98056c7d60e5b 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Wake screen from external HID peripherals."
56194ebec6212e229f4ccdaa4b187166d20013ef 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Wake screen from external HID peripherals.

Added some plumbing to enable the policy to intercept motion
events when the screen is off to handle wakeup if needed.

Added a basic concept of an external device to limit the scope
of the wakeup policy to external devices only. The wakeup policy
for internal devices should be based on explicit rules such as
policy flags in key layout files.

Moved isTouchEvent to native.

Ensure the dispatcher sends the right event type to userActivity
for non-touch pointer events like HOVER_MOVE and SCROLL.

Bug: 3193114
Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
i/Input.h
396f6de6606e44bcbef9548d369e31945dfa46b1 03-Mar-2011 Gloria Wang <gwang@google.com> Merge "- To track the usage of all audio output devices - To track the currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()"
9b3f1521b521fd7248632fed71a81423e479a523 24-Feb-2011 Gloria Wang <gwang@google.com> - To track the usage of all audio output devices
- To track the currently used audio device
- The devices are separated as speaker and other audio devices
- Provide the collected data to battery application through pullBatteryData()

Change-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc
edia/IMediaPlayerService.h
00fa3a729c49d6dabaf2fa8127dccc2f6eb0af00 03-Mar-2011 Andreas Huber <andih@google.com> Merge "Allow optional specification of a PTS timestamp when signalling a discontinuity."
669ad13de924af145771837b339c882e30ea8ce2 03-Mar-2011 Andreas Huber <andih@google.com> Allow optional specification of a PTS timestamp when signalling a discontinuity.

If present, rendering will be suppressed until reaching the timestamp.

Change-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19
related-to-bug: 3489454
edia/IStreamSource.h
05dc66ada6b61a6bdf806ffaa62617ac5394695d 02-Mar-2011 Jeff Brown <jeffbrown@google.com> Fade out the mouse pointer after inactivity or other events.

Fades out the mouse pointer:
- after 15 seconds of inactivity normally
- after 3 seconds of inactivity in lights out mode
- after a non-modifier key down
- after a touch down

Extended the native Looper to support enqueuing time delayed
messages. This is used by the PointerController to control
pointer fade timing.

Change-Id: I87792fea7dbe2d9376c78cf354fe3189a484d9da
i/Input.h
i/Keyboard.h
tils/Looper.h
d313c665e618af3194f504064bcd284fe5368682 25-Feb-2011 Fabrice Di Meglio <fdimeglio@google.com> Add TextLayout Cache

- use GenerationCache for caching
- move GenerationCache.h from libs/hwui/utils to include/utils
- add #define for cache activation / deactivation

Change-Id: Ifaf519f0b5e33b087a453e4aa6430162d8438f20
tils/GenerationCache.h
05d5ef6afd6b152ca9a443311fc2486076a1ae89 02-Mar-2011 Mathias Agopian <mathias@google.com> Merge "Add support for up to 32 buffers per Surface"
de1d7b4be6cb77734b05c8d7990dc87c60d4f2b1 02-Mar-2011 James Dong <jdong@google.com> Merge "Get rid of redundant media profiles"
797e4f1dce3790a76a515468f61a1e5e17c6702e 01-Mar-2011 James Dong <jdong@google.com> Get rid of redundant media profiles

bug - 3330679

Change-Id: Idc55aea32746c0c57552c5e15a289681421aa859
edia/MediaProfiles.h
5a6f9faf5d94792a61557937f11e8b6b289ea03a 01-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "Add the MIN_UNDEQUEUED_BUFFERS query to ANW."
9f81547fc58736f317c0031cdce942e5d27ee2b6 01-Mar-2011 Mathias Agopian <mathias@google.com> Add support for up to 32 buffers per Surface

Bug: 3488016

Change-Id: Ie5536ad77d42a4d0e8270e0fd87ecb73471bcbbc
rivate/surfaceflinger/SharedBufferStack.h
29f87f76bc3c39005c8ce7a78fe23c2c3f19cc24 01-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "Add an OMX IL API for querying buffer usage flags."
d5dac80fed2a85944060e8b1192eff9dee77ac4d 28-Feb-2011 Christopher Tate <ctate@google.com> Merge "Binder linkage no longer depends on JNI objrefs as persistent tokens"
96dcc978430f0daf6d73fee96a01779ed537a0ce 27-Feb-2011 Jamie Gennis <jgennis@google.com> Add the MIN_UNDEQUEUED_BUFFERS query to ANW.

This change adds a new query to ANativeWindow for getting the minimum
number of buffers that must be left un-dequeued during the steady-state
operation of the ANativeWindow.

Change-Id: Ie8c461fc26b02ecde02ddb4f95bf763662cf1551
Related-Bug: 3356050
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
i/egl/android_natives.h
e6befb88bd2ade12c50b0a0e95b209e1f4be94b4 24-Feb-2011 Jamie Gennis <jgennis@google.com> Add an OMX IL API for querying buffer usage flags.

This change defines an OpenMAX IL API for querying from the IL component
the gralloc buffer usage flags that should be used to allocate the
buffers. It also adds the Stagefright plumbing for using the new OMX IL
API.

Change-Id: I046b5e7be70ce61e2a921dcdc6e3aa9324d19ea6
Related-Bug: 3479027
edia/IOMX.h
edia/stagefright/HardwareAPI.h
0b41448506610f73302cc631677823fd8b865ea5 17-Feb-2011 Christopher Tate <ctate@google.com> Binder linkage no longer depends on JNI objrefs as persistent tokens

There are two areas that have changed to eliminate the assumption that
local jobject references are both canonical and persistent:

1. JavaBBinderHolder no longer holds onto and reuses it parent object
reference per se. Since the underlying JavaBBinder object holds a
real global ref, this was redundant anyway. Now, for purposes of its
transient need to perform JNI operations, it simply uses the current
jobject ref(s) passed during method invocation, and no longer attempts
to hold these refs beyond the scope of a single invocation.

2. Binder obituaries no longer assume that a jobject reference to a
recipient will always compare == as a 32-bit value with any future
reference to the same object. The implementation now asks Dalvik
whether object references match.

This amended patch fixes the earlier bug around races between
remote binder death cleanup and local explicit unregistration of
VM-side death recipients.

Bug 2090115

Change-Id: I70bd788a80ea953632b1f466f385ab6b78ef2913
inder/IBinder.h
32a55cf66e12e5e56d2e05b73c6bef453477c2bb 26-Feb-2011 Mathias Agopian <mathias@google.com> Fix sp<> conversion operator / constructor

some of the conversion operators were not using the proper
pointer type when calling incStrong/decStrong, usually it
has no bad consequences, but for some implementation
of the ref-counted object it could lead to recording the wrong
owner id.

Change-Id: If574b9069b8a4cf6e0911a992c8f095aba799995
tils/StrongPointer.h
e2ed9562fc6c88dfdeb924063f5d0ccea1912754 25-Feb-2011 Christopher Tate <ctate@google.com> Revert "Binder linkage no longer depends on JNI objrefs as persistent tokens"

This reverts commit c2d55dd89743c8a38deb809f3cdf1ad2d1dbac2b.
inder/IBinder.h
5af3d0100524ac16fb7a7fba2a83a8d135009565 25-Feb-2011 Mathias Agopian <mathias@google.com> Merge "Fix a wp<> bug where the owner ID would be wrong"
49862c3630632303c40ca37f1791ed4b092ce063 25-Feb-2011 Mathias Agopian <mathias@google.com> Fix a wp<> bug where the owner ID would be wrong

this was introduced recently. we make sure to use
the correct owner id (the sp) instead of the wp.

Change-Id: I78fdc6ec0c2d3e687278b70442d74d1924b512a2
tils/RefBase.h
tils/StrongPointer.h
ffbe826804e150013acbf3ab25bd405bbbd186fc 25-Feb-2011 Mathias Agopian <mathias@google.com> Merge "Fix some issues with RefBase debugging."
7e8a69ed5cbeb2bad630877a526ff0c06880d2c2 24-Feb-2011 Christopher Tate <ctate@google.com> Merge "Binder linkage no longer depends on JNI objrefs as persistent tokens"
c2d55dd89743c8a38deb809f3cdf1ad2d1dbac2b 17-Feb-2011 Christopher Tate <ctate@google.com> Binder linkage no longer depends on JNI objrefs as persistent tokens

There are two areas that have changed to eliminate the assumption that
local jobject references are both canonical and persistent:

1. JavaBBinderHolder no longer holds onto and reuses it parent object
reference per se. Since the underlying JavaBBinder object holds a
real global ref, this was redundant anyway. Now, for purposes of its
transient need to perform JNI operations, it simply uses the current
jobject ref(s) passed during method invocation, and no longer attempts
to hold these refs beyond the scope of a single invocation.

2. Binder obituaries no longer assume that a jobject reference to a
recipient will always compare == as a 32-bit value with any future
reference to the same object. The implementation now asks Dalvik
whether object references match.

Bug 2090115

Change-Id: If62edd554d0a9fbb2d2977b0cbf8ad7cc8e2e68d
inder/IBinder.h
373ed6fc79e6c41f4b5dbb8eb72363033f2e40b3 24-Feb-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3438258 Add SurfaceTexture as MediaPlayer sink"
6152bbc65016e526f25d24a66b92d6aa822f6ee0 24-Feb-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3362814 Fix SMP race in access to mRequestExit"
e857cc8175d532eccbe75798c56bf3c5378e585e 24-Feb-2011 Wu-cheng Li <wuchengli@google.com> Merge "Add YV12 preview format to camera parameter constants."
10a1b30dfbd0bbeae6776e353600986647c6e0a8 22-Feb-2011 Wu-cheng Li <wuchengli@google.com> Add YV12 preview format to camera parameter constants.

bug:3463624
Change-Id: I8f2992dadfd3fb9e3c9d67743e52da7f3212827e
amera/CameraParameters.h
ec122eb46b6ce8f6e8bb3e08c34e575de666cd3e 17-Feb-2011 Mathias Agopian <mathias@google.com> Fix some issues with RefBase debugging.

First slipt sp<> out of RefBase into StrongPointer.h so it can be reused
more easily and to make it clear that it doesn't require RefBase.

Note: the rest of the change only affects the system when DEBUG_REFS is enabled.

The main problem we fix here is that the owner id associated with each
reference could get out of date when a sp<> or wp<> was moved, for
instance when they're used in a Vector< >.

We fix this issue by calling into RefBase::moveReferences from
a template specialization for sp<TYPE> and wp<TYPE> of the
type helpers. RefBase::moveReferences() has then a chance to
update the owner ids.

There is a little bit of trickery to implement this generically in
RefBase, where we need to use a templatized functor that can turn
a sp<TYPE>* casted to a void* into a RefBase*.

Introduced a new debug option DEBUG_REFS_FATAL_SANITY_CHECKS
currently set to 0 by default as there seem to be an issue
with sp<ANativeWindow> which trips the sanity checks.

Change-Id: I4825b21c8ec47d4a0ef35d760760ae0c9cdfbd7f
tils/RefBase.h
tils/StrongPointer.h
tils/TypeHelpers.h
c2b3cda097d2f8ac9211360aa82995d693e0764c 01-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3362814 Fix SMP race in access to mRequestExit

Also fix an unlikely SMP race in access to mHoldSelf on entry to _threadLoop.

Change-Id: I6cbc0b94739c7dd5e77e8a5ba0da22cdc0b1a4db
tils/threads.h
7f97c4ef12263a70a5c9ee7cd16f194c0240e658 24-Feb-2011 Mathias Agopian <mathias@google.com> Merge "Remove RefBase.h dependency on TextOutput.h"
cc562a3576a6a8096626387472e05e8bee03352a 09-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3438258 Add SurfaceTexture as MediaPlayer sink

This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.

This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
edia/stagefright/NativeWindowWrapper.h
afc671fc5ed81941c972d5318555b84a63eb2619 23-Feb-2011 James Dong <jdong@google.com> Merge "Application-managed callback buffer support for raw image"
87e639bc151551c9618641a6765837b44eb90b9b 23-Feb-2011 Gloria Wang <gwang@google.com> Merge "- Add method in MediaPlayerService to collect and pull codec usage (duration) for the battery app - Collect MediaPlayer decoding usage data"
d211f41f764fe81fe00b10a99b4b44cb84479cbe 20-Feb-2011 Gloria Wang <gwang@google.com> - Add method in MediaPlayerService to collect and pull
codec usage (duration) for the battery app
- Collect MediaPlayer decoding usage data

Change-Id: I0ef4e32b6a041ba1fe73c19f9c67185c61d03965
edia/IMediaPlayerService.h
e00cab707dcaf6f05adb5ccb9c80fdf25c483427 18-Feb-2011 James Dong <jdong@google.com> Application-managed callback buffer support for raw image

bug - 3292153

Change-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2
amera/Camera.h
amera/ICamera.h
a688b574d294faae5f56224908b40856c5045aac 17-Feb-2011 Mathias Agopian <mathias@google.com> Remove RefBase.h dependency on TextOutput.h

Change-Id: I72cd6b98ef82b4868fe1c8ec87862cf43fb4ee73
tils/RefBase.h
8c7c6dc413e12b2394aae06bd2ccc3db7a29c710 22-Feb-2011 Andreas Huber <andih@google.com> Support more MPEG4-LATM audio functionality.

related-to-bug: 3474610

Change-Id: I6dab40e8b465922c62be9ee7f168718822c6caac
Now skipping extra header that the spec claimed shouldn't be present in LATM...
edia/stagefright/foundation/ABitReader.h
6f2fba428ca5e77a26d991ad728e346cc47609ee 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new axes for joysticks and mouse wheels.

Added API on InputDevice to query the set of axes available.
Added API on KeyEvent and MotionEvent to convert keycodes and axes
to symbolic name strings for diagnostic purposes.
Added API on KeyEvent to query if a given key code is a gamepad button.
Added a new "axis" element to key layout files to specify the
mapping between raw absolute axis values and motion axis ids.
Expanded the axis bitfield to 64bits to allow for future growth.
Modified the Makefile for keyboard prebuilts to run the keymap
validation tool during the build.
Added layouts for two game controllers.
Added default actions for game pad button keys.
Added more tests.
Fixed a bunch of bugs.

Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
i/Input.h
i/KeyLayoutMap.h
i/Keyboard.h
i/KeycodeLabels.h
5b025c46158f2b4eb95bc062170b7d585d967d0c 17-Feb-2011 James Dong <jdong@google.com> Merge "A/V synchronization at the beginning of a recording session"
cbeebb194b374a5eea2f1c6ed6298c09a937c4cb 16-Feb-2011 James Dong <jdong@google.com> A/V synchronization at the beginning of a recording session

o do not use edts/elst boxes since these optional boxes are ignored
o manipulate the first video/audio frame duration to make sure that the rest
of the audio/video is in sync (ideally, we should only manipulate
the vidoe frame duration, not the audio)
o reduce the initial audio mute/suppression period, which is used to
eliminate the "recording" sound.

bug - 3405882 and 3362703

Change-Id: Ib0acfb4f3843b365157288951dc122b006299c18
edia/stagefright/AudioSource.h
ebbd5d14ad3b1e762d9fcfa026e19413cc857e05 17-Feb-2011 Jeff Brown <jeffbrown@google.com> Fix a regression with MotionEvent parceling.

Also added some more unit tests.

Change-Id: I413654294d1a998eec056884e6df5eaa50f3daf4
i/Input.h
45708bf2f03f9f50c22f86cb794c2a088bab1c05 17-Feb-2011 Jeff Brown <jeffbrown@google.com> Merge "Add support for arbitrary axes in MotionEvents."
d33a4ccb5c3b58406cee45a4d933d40219177f8c 15-Feb-2011 James Dong <jdong@google.com> Decouple AudioRecord read and audio encoding

bug - 3313754

Change-Id: I951dd0e21e34aa1412c391f003bc32103d0424b0
edia/stagefright/AudioSource.h
91c69ab01539f7ba28708f41ec1835cc2920d0a0 15-Feb-2011 Jeff Brown <jeffbrown@google.com> Add support for arbitrary axes in MotionEvents.

This change makes it possible to extend the set of axes that
are reported in MotionEvents by defining new axis constants.

The MotionEvent object is now backed by its C++ counterpart
to avoid having to maintain multiple representations of the
same data.

Change-Id: Ibe93c90d4b390d43c176cce48d558d20869ee608
i/Input.h
94f401999442ceb572200b0eeffcc31546d7a4c7 16-Feb-2011 Gloria Wang <gwang@google.com> Merge "Add AAC extractor"
c5b0abf900474b204c367093984ff60da4fba09c 02-Feb-2011 Gloria Wang <gwang@google.com> Add AAC extractor

Change-Id: Iedb08525ac72e65ba98e5c791734da0720a0e3f6
edia/stagefright/MediaDefs.h
fe84cf13cdbccec4a499caca05f0dc309df9d318 12-Feb-2011 James Dong <jdong@google.com> Make available h263 DSI information from MPEG4Extractor

bug - 3446863

Change-Id: Idbaf7a564d544784fdbc36ed0339c98a519adc88
edia/stagefright/MetaData.h
6901f963c27f2d0a9caf56b42b6054d0cecc84d1 11-Feb-2011 Jean-Baptiste Queru <jbq@google.com> am 93552de8: Merge "stubs"

* commit '93552de8e305027fb003401e347b9493c64c981f':
stubs
1da970625c705dad61800cfaa407d483691e1e2b 11-Feb-2011 Steve Block <steveblock@google.com> stubs

Change-Id: I6bc0b8e9d4412a0b60c6226fbd2b7a6d15aceb22
ui/SurfaceTexture.h
a11faf889e61a8f01f430b3d1e397fa7ca779e75 11-Feb-2011 Mathias Agopian <mathias@google.com> am c6c3e77d: am b66b7a2c: Merge "fix [3408713] Dialog window invisible sometimes" into honeycomb

* commit 'c6c3e77d4d5cd8de3b1a56bdffdfd42774849512':
fix [3408713] Dialog window invisible sometimes
c6c3e77d4d5cd8de3b1a56bdffdfd42774849512 11-Feb-2011 Mathias Agopian <mathias@google.com> am b66b7a2c: Merge "fix [3408713] Dialog window invisible sometimes" into honeycomb

* commit 'b66b7a2c183a1423ea629d4f73ed95f9b87d54b7':
fix [3408713] Dialog window invisible sometimes
8b4b97a14ad9b5b982d8fe92755efabec8ad0076 04-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3352047 Wrong message when adjusting volume

Add hidden AudioManager.getDevicesForStream and output device codes.

Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
edia/AudioSystem.h
edia/IAudioPolicyService.h
37c2a3750138a5f9cb34d4f644642da677d435c6 10-Feb-2011 Mathias Agopian <mathias@google.com> fix [3408713] Dialog window invisible sometimes

weak pointer comparison operators were implemented wrong,
they were using the internal "unsafe" pointer. We could end up
with two "equal" weak pointer pointing to different objects.

this caused KeyedVector keyed by weak pointer to work incorrectly, in
turn causing a window that just got added to a list to be immediately
removed.

Change-Id: Ib191010c39aafa9229109e4211f6c3b2b2f9696d
tils/RefBase.h
f6a2bff0c9f65b318bbe2236d19423dc013123b9 09-Feb-2011 James Dong <jdong@google.com> Reduce blocking time in file write

bug - 3418787

Change-Id: I4723662bf46ed07271be8468f84ae5d93cb793fa
edia/stagefright/MPEG4Writer.h
5ed9a80571ede30d4cb7967227bff996c9cecb9e 08-Feb-2011 Andreas Huber <andih@google.com> Merge "Handle some edge cases when seeking while starting up OMXCodec"
b9289833341ec19e016891d0ca9638f0973b9647 08-Feb-2011 Andreas Huber <andih@google.com> Handle some edge cases when seeking while starting up OMXCodec

These were exposed by the new preview-seekframe while paused code.
In particular, the codec may have been in state RECONFIGURING when attempting
to seek, or we may have initiated flushing of the output port and this may not
have completed yet by the time we want to reconfigure the output port.

Change-Id: Id7640ade11dbc7205a22f648ea0b5e3e9b49cf4b
related-to-bug: 3392259
edia/stagefright/OMXCodec.h
c2dc4729e3c88d733c0aa6d9a9af6101b2f09e35 07-Feb-2011 Gloria Wang <gwang@google.com> - Do not use global DrmManagerClient
- Release the DrmManagerClient and DecryptHandle in DataSource
Fix for bug 3429811

Change-Id: I549f72b75225751877eb0e630ce8098f8ec6316f
edia/stagefright/DataSource.h
edia/stagefright/FileSource.h
6760f9832df60e8421c10c4928d0612662222811 04-Feb-2011 Andreas Huber <andih@google.com> Improvements/fixes to ACodec.

- Make sure ACodec reverts its state when it's shutdown
- Defer "resume" to after handling the OutputPortSettingsChange

- If the OMX_EventPortSettingsChanged event comes in while we're flushing, defer it
and make sure the output port can be disabled by deleting all buffers not already
owned by the component.

Change-Id: I1f8cdffa71237b57d4275a48b834647a7b263e8b
edia/stagefright/ACodec.h
2e8fbebff4e12581ed58e25fc98134e1124d6482 04-Feb-2011 Eric Laurent <elaurent@google.com> am 6f1bd261: am 9c0a1003: Merge "Fix issue 3371080" into honeycomb

* commit '6f1bd261b7fd86ac7817ca061dfb55b95150b836':
Fix issue 3371080
f9f223edb408cdc9fd946dc099a86857079a639f 13-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 1804058 FLAC extractor

Note: dependent on external/flac for libFLAC

Implemented and tested:
* FLAC container
* mono and stereo
* standard sample rates
* standard bit depths
* sniffer
* media scanner
* Vorbis comment metadata including album art
* random access seeking with "torture test"
* web browser integration for audio/flac (not audio/x-flac), but
note that most web servers don't correctly report the MIME type

Not implemented:
* 24-bit to 16-bit dither or noise shaping in AudioFlinger
* 96 kHz to 44.1 or 48 kHz downsampling low pass filter in AudioFlinger
* replay gain is better done in AudioFlinger
* multi-channel, would need AudioFlinger support
* Ogg container, does not seem to be very popular yet

Change-Id: I300873e8c0cfc2e95403d9adb5064d16a2923f17
edia/stagefright/MediaDefs.h
6f1bd261b7fd86ac7817ca061dfb55b95150b836 03-Feb-2011 Eric Laurent <elaurent@google.com> am 9c0a1003: Merge "Fix issue 3371080" into honeycomb

* commit '9c0a1003bd676121cf9b1c942ecebd5b486290d5':
Fix issue 3371080
25101b0b9a84571ead15b26e9f4cd9c4298d7823 02-Feb-2011 Eric Laurent <elaurent@google.com> Fix issue 3371080

Modified default volume control logic in AudioService:
1 IN_CALL volume if in video/audio chat
2 NOTIFICATION if notification is playing or was playing less than 5s ago.
3 MUSIC

Modified silent mode:
- now also affect MUSIC stream type
- entering silent mode when VOL- hard key is pressed once while selected
stream volume is already at 0 (except for VOICE_CALL stream).
- exiting silent mode when pressing VOL+ hard key while in silent mode

Play sound FX (audible selections, keyboard clicks) at a fixed volume.

Modified audio framework:
- isStreamActive() method now implemented in AudioPolicyManagerBase (previously AudioFlinger)
- iStreamActive() now specifies a time window during which the stream is considered
active after it actually stopped.

Change-Id: I7e5a0724099450b9fc90825224180ac97322785f
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
a257be1895218e5c3e153313db9dd703fd9cc84f 03-Feb-2011 Jamie Gennis <jgennis@google.com> am 421d94c2: am ecb4b3f0: Merge "Pass the IGraphicBufferAlloc to SurfaceTextureClient." into honeycomb

* commit '421d94c20321e1de528416b279bf148baba47b39':
Pass the IGraphicBufferAlloc to SurfaceTextureClient.
421d94c20321e1de528416b279bf148baba47b39 03-Feb-2011 Jamie Gennis <jgennis@google.com> am ecb4b3f0: Merge "Pass the IGraphicBufferAlloc to SurfaceTextureClient." into honeycomb

* commit 'ecb4b3f02340e21eefabbea78559e85ec7ee0089':
Pass the IGraphicBufferAlloc to SurfaceTextureClient.
83bac216a7ba8493a7916e40b2555e73c3a5cc1a 03-Feb-2011 Jamie Gennis <jgennis@google.com> Pass the IGraphicBufferAlloc to SurfaceTextureClient.

This change passes a reference to the IGraphicBufferAlloc binder object
to SurfaceTextureClient objects. When STC objects are created they
query their associated ISurfaceTexture object for the
IGraphicBufferAlloc that the SurfaceTexture uses to allocate buffers.
Having the SurfaceTextureClient hold this reference prevents the
GraphicBufferAlloc in SurfaceFlinger from freeing the allocated buffers
before the SurfaceTextureClient is done with them.

Change-Id: Ib8e30e8b37fdd60438cbb4cb7e9174d0ba6d661c
related-bug: 3362519
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
27badee3f567015183ab584fae1cbd32a996e78d 31-Jan-2011 Jean-Baptiste Queru <jbq@google.com> am a6fb375c: am 056340ac: Merge "stubs"

* commit 'a6fb375cf727b6ded057110875fe49a9b3f230a3':
stubs
056340ac95f233090990d77266d89aad3b60f913 31-Jan-2011 Jean-Baptiste Queru <jbq@google.com> Merge "stubs"
4453b1a5b64e5926f987227660de8c8c62695697 31-Jan-2011 Jamie Gennis <jgennis@google.com> am 09443aeb: am 62884505: Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb

* commit '09443aeb6470d66f5bc1938b70d74b3e2f9bbbb9':
Reset ANativeWindow crop on buffer geometry changes.
09443aeb6470d66f5bc1938b70d74b3e2f9bbbb9 31-Jan-2011 Jamie Gennis <jgennis@google.com> am 62884505: Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb

* commit '628845056282a0c5b1a212ce5aeeaac092b91ec8':
Reset ANativeWindow crop on buffer geometry changes.
0e87a19bec51383941f14186b14fffcad73b1be1 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am 371de969: am a1f5e82f: am a30063d8: am 25eb0464: Merge "Normalize output from aapt d"

* commit '371de9695508073fbbde8181eb230e99cb045206':
Normalize output from aapt d
371de9695508073fbbde8181eb230e99cb045206 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am a1f5e82f: am a30063d8: am 25eb0464: Merge "Normalize output from aapt d"

* commit 'a1f5e82f37c77af7b1d630b5bca715d1742f1234':
Normalize output from aapt d
a1f5e82f37c77af7b1d630b5bca715d1742f1234 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am a30063d8: am 25eb0464: Merge "Normalize output from aapt d"

* commit 'a30063d80c08434ac3c7316f338c6d54110449ab':
Normalize output from aapt d
25eb04642cb5a72f59a274bbfc92f4f65c6c343e 30-Jan-2011 Dianne Hackborn <hackbod@android.com> Merge "Normalize output from aapt d"
235ec8ad24293fbfbd282d5379ea8e225ef083bc 29-Jan-2011 Jean-Baptiste Queru <jbq@google.com> stubs

Change-Id: I829039f3817a172e66eeb9df397e896a488a259d
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
tils/Functor.h
2ece4cdc3fd0f8a45a889c711dba7165729e8ca5 29-Jan-2011 Jamie Gennis <jgennis@google.com> Reset ANativeWindow crop on buffer geometry changes.

This changes the ANativeWindow API and the two implementations to reset
the window's crop rectangle to be uncropped when the window's buffer
geometry is changed.

Bug: 3359604
Change-Id: I64283dc8382ae687787ec0bebe6a5d5b4a0dcd6b
i/egl/android_natives.h
d6f5bde96b2fe82bc7e5d4e64266d585108c4648 20-Jan-2011 Glenn Kasten <gkasten@google.com> Protected surface API

To be used by DRM framework, implemented by display HAL

Change-Id: I054a07a94f4d5dbe792f3a597e2e49a100d90eb2
urfaceflinger/ISurfaceComposer.h
i/GraphicBuffer.h
804d8798d525ef8cda01998701d76166c641fc71 26-Jan-2011 James Dong <jdong@google.com> am 8bea1d55: am 7fb232c4: Merge "Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source." into honeycomb

* commit '8bea1d5585822bb62996e789f59c7629dfd9ac50':
Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.
8bea1d5585822bb62996e789f59c7629dfd9ac50 26-Jan-2011 James Dong <jdong@google.com> am 7fb232c4: Merge "Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source." into honeycomb

* commit '7fb232c40cde91d0958be1694db2d97a126b95f9':
Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.
1155efdc715413cd7a881e5226b5f5f0b2db8f71 26-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am 2ba92c71: do not merge bug 3370834 Cherrypick from master

* commit '2ba92c71b5684dce700cf848bf157153c156df1d':
do not merge bug 3370834 Cherrypick from master
5f3ab06e90365ad6c4865e2cab358a20e12ce0eb 26-Jan-2011 James Dong <jdong@google.com> Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.

This will fix the stop failure issue where we have to wait n * time_interval before a key frame can be received by the file writer, where
o n is the actual number of buffers advertised by the video encoder
o time_interval is the interval settings for timelapse video recording
specifying the time distance between neighboring input video frames

The fix includes two parts:
o OMXCodec will not submit all n buffers at one time, but instead submit one input
frame at one time if it become available.

o Timelapse camera source made available the first two input frames and do not skip
them so that the first compressed output frame data can be received regardless
the specified time_interval

bug - 3367659

Change-Id: Ia68cc2cb0d71aa7dc54540e9ad82fae911ad530b
edia/stagefright/CameraSource.h
edia/stagefright/OMXCodec.h
c3975664926268f5245bccf8853ec54ed080ae9e 26-Jan-2011 Andreas Huber <andih@google.com> am e328d1c0: am a9f27fa6: Merge "Protect notification callback parameters with a mutex." into honeycomb

* commit 'e328d1c0bea62f4dc28210dbcab0da40f4449bf2':
Protect notification callback parameters with a mutex.
e328d1c0bea62f4dc28210dbcab0da40f4449bf2 26-Jan-2011 Andreas Huber <andih@google.com> am a9f27fa6: Merge "Protect notification callback parameters with a mutex." into honeycomb

* commit 'a9f27fa631ab21d52c75842ccaacc1cbcd75fca0':
Protect notification callback parameters with a mutex.
2ffbb18053b286a81c5b89a72e4dee3d0ab4dc45 26-Jan-2011 Andreas Huber <andih@google.com> Protect notification callback parameters with a mutex.

This avoids the race condition where notifications are dispatched to a NULL receiver
after notifications have been disabled.

Change-Id: I6d351ffbee97616e2c35559c132a6c5e6a66948a
related-to-bug: 3394139
edia/MediaPlayerInterface.h
2ba92c71b5684dce700cf848bf157153c156df1d 15-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> do not merge bug 3370834 Cherrypick from master

Cherripick from master CL 79833, 79417, 78864, 80332, 87500

Add new audio mode and recording source for audio communications
other than telelphony.

The audio mode MODE_IN_CALL signals the system the device a phone
call is currently underway. There was no way for audio video
chat or VoIP applications to signal a call is underway, but not
using the telephony resources. This change introduces a new mode
to address this. Changes in other parts of the system (java
and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
state variable directly, but to use two new convenience methods,
isInCall() and isStateInCall(int) instead.

Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Update the platform-independent audio policy manager to pass the
nature of the audio recording source to the audio policy client
interface through the AudioPolicyClientInterface::setParameters()
method.

SIP calls should set the audio mode to MODE_IN_COMMUNICATION,
Audio mode MODE_IN_CALL is reserved for telephony.

SIP: Enable built-in echo canceler if available.
1. Always initialize AudioRecord with VOICE_COMMUNICATION.
2. If echo canceler is available, disable our echo suppressor.

Note that this CL is intentionally not correcting the
getAudioSourceMax() return value in MediaRecorder.java as the
new source is hidden here.

Change-Id: Ie68cd03c50553101aa2ad838fe9459b2cf151bc8
edia/AudioSystem.h
edia/EffectApi.h
edia/mediarecorder.h
ab2f09603079534b53499864a403d0ba16aad13b 26-Jan-2011 Jeff Brown <jeffbrown@google.com> am 12b2dc90: am b1e0a870: Merge "Fix crashes caused by some input devices." into honeycomb

* commit '12b2dc90883ef4f930a17907acdef3677b0598a5':
Fix crashes caused by some input devices.
12b2dc90883ef4f930a17907acdef3677b0598a5 26-Jan-2011 Jeff Brown <jeffbrown@google.com> am b1e0a870: Merge "Fix crashes caused by some input devices." into honeycomb

* commit 'b1e0a870e4099490127bb917bb4fc7a8f48db893':
Fix crashes caused by some input devices.
b1e0a870e4099490127bb917bb4fc7a8f48db893 26-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix crashes caused by some input devices." into honeycomb
2c91b5699e95519d9ce297ab7305b09841cd3285 26-Jan-2011 Mike Lockwood <lockwood@android.com> am c80daa1b: am f10d9404: Merge "StagefrightMediaScanner: Close metadata retriever after we are done scanning" into honeycomb

* commit 'c80daa1b05b8f1d2873df23821ae2c5344e76fb8':
StagefrightMediaScanner: Close metadata retriever after we are done scanning
58a2da843f2f22f406df8df1f011738eb8b7fcb1 26-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix crashes caused by some input devices.

The touch screen sometimes reports more than 10 pointers even though that's
all we asked for. When this happens, we start dropping events with more
than 10 pointers. This confuses applications and causes them to crash.
Raised the limit to 16 pointers.
Bug: 3331247

The default behavior was to identify all touch devices as touch screens.
External devices that are plugged in are more likely to be touch pads
not attached to a screen. Changed the default to be a touch pad
and renamed some internal constants to avoid confusion.

A certain mouse happens to also behave like a touch pad. That caused
problems because we would see multiple concurrent traces of motion events
coming from the same input device so we would batch them up.
Added code to ensure that we don't batch events unless they come from
the same *source* in addition to coming from the same *device*.

Due to batching or misbehaving drivers, it's possible for the set of
pointer ids to be different from what we expect when it comes time to
split motion events across windows. As a result, we can generate motion
events with 0 pointers. When we try to deliver those events, we cause
an error in the InputTransport so we tear down the InputChannel and kill
the application.
Added code to check out assumption about pointer ids and drop the
event gracefully instead.

Patched up the tests to take into account the change in default behavior
for identifying touch screens and touch pads.

Change-Id: Ic364bd4cb4cc6335d4a1213a26d6bdadc7e33505
i/Input.h
c80daa1b05b8f1d2873df23821ae2c5344e76fb8 26-Jan-2011 Mike Lockwood <lockwood@android.com> am f10d9404: Merge "StagefrightMediaScanner: Close metadata retriever after we are done scanning" into honeycomb

* commit 'f10d940413000732f1cd35bcb113c41019c7e3b7':
StagefrightMediaScanner: Close metadata retriever after we are done scanning
8151dc3229888109f4ec699eb6311975b51a05b9 26-Jan-2011 Mike Lockwood <lockwood@android.com> StagefrightMediaScanner: Close metadata retriever after we are done scanning

This prevents the mediaserver from leaking a file descriptor after
the media scanner runs

BUG: 3373546

Change-Id: I82a8bae82306de3da56a5c7da5b03ecf106a4efc
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/stagefright/StagefrightMediaScanner.h
df8368925acd4593a309e06548d7f900bf8d94df 25-Jan-2011 Mathias Agopian <mathias@google.com> am 239fd805: Merge "fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)" into gingerbread

* commit '239fd805ef7c0e4116b0a89e20caaf287e91f017':
fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)
88bccab35c81907db09be3f511a2c1fd379a75b4 25-Jan-2011 Mathias Agopian <mathias@google.com> am d3fcd0a1: Merge "minor clean-up. SurfaceFlinger doesn\'t need libpixelflinger.so. (DO NOT MERGE)" into gingerbread

* commit 'd3fcd0a1c923498921107bb44fbc8b24582a170a':
minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE)
21956040a77808909ebda426fbd3cce6c8ed059f 19-Jan-2011 Mathias Agopian <mathias@google.com> fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)

Generally we never want to lock a buffer for write access if it is at
the "head" on the surfaceflinger side. The only exception (1) is when
the buffer is not currently in use AND there is at least one queued
buffer -- in which case, SurfaceFlinger will never use said buffer
anymore, because on the next composition around, it will be able to
retire the first queued buffer.

The logic above relies on SurfaceFlinger always retiring
and locking a buffer before composition -- unfortunately this
didn't happen during a screenshot.

This could leave us in a situation where a buffer is locked by the
application for write, and used by SurfaceFlinger for texturing,
causing a hang.

Here, we fix this issue by never assuming the exception (1), it was
intended as an optimization allowing ANativeWindow::lockBuffer() to
return sooner and was justified when most of SF composition was
done in software. The actual buffer locking is now ensured by
gralloc. We could have handled screenshots in a similar way to
a regular composition, but it could have caused glitches on screen,
essentially, taking a screenshot could cause to skip a frame.

now that we removed the notion of a "inUse" buffer in surfaceflinger
a lot of code can be simplified / removed.

noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete"
is also gone.
rivate/surfaceflinger/SharedBufferStack.h
728d849fc92bbf9b3bfd8c3903344ff58f3d5d06 14-Dec-2010 Mathias Agopian <mathias@google.com> minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE)

Change-Id: I1ddbbbec4fa5b2521ef3787bc28efe1bc90d0060
urfaceflinger/Surface.h
3873da3c6ee0a63de0d91e6045b7546402f4ce3d 24-Jan-2011 Chet Haase <chet@google.com> am 2acb67ec: am 67005b05: Merge "Use optimized display lists for all hwaccelerated rendering" into honeycomb

* commit '2acb67ec9fe34316231519373f59dfb76c03d57b':
Use optimized display lists for all hwaccelerated rendering
2acb67ec9fe34316231519373f59dfb76c03d57b 24-Jan-2011 Chet Haase <chet@google.com> am 67005b05: Merge "Use optimized display lists for all hwaccelerated rendering" into honeycomb

* commit '67005b05cc76a38a5b3bf6e83957dd03619e9126':
Use optimized display lists for all hwaccelerated rendering
daf98e941e140e8739458126640183b9f296a2ab 10-Jan-2011 Chet Haase <chet@google.com> Use optimized display lists for all hwaccelerated rendering

Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.

In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.

This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.

This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.

Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
tils/Functor.h
c3563eb9e75e0b9ae130ec22d5c6c6b1561d783b 23-Jan-2011 Jeff Brown <jeffbrown@android.com> am 265cf2e7: Merge "Fix getSwitchState."

* commit '265cf2e76bef9ee369a7d43d567a22a0c39355ef':
Fix getSwitchState.
0bb0b8b3562fdae887eb2ec742cd2dd33b3b6668 21-Jan-2011 Andreas Huber <andih@google.com> am 3564d9ea: am 63d64a14: Merge "Properly rotate video that\'s marked as such and decoded to a surface." into honeycomb

* commit '3564d9eada7ae3f40bc4c80272fbbb867f04e018':
Properly rotate video that's marked as such and decoded to a surface.
3564d9eada7ae3f40bc4c80272fbbb867f04e018 21-Jan-2011 Andreas Huber <andih@google.com> am 63d64a14: Merge "Properly rotate video that\'s marked as such and decoded to a surface." into honeycomb

* commit '63d64a14790ae21db31b60747864b4a7565b33c3':
Properly rotate video that's marked as such and decoded to a surface.
5e9dc94a3c7a42d77ab454b77e1350b6fa5d2c26 21-Jan-2011 Andreas Huber <andih@google.com> Properly rotate video that's marked as such and decoded to a surface.

Change-Id: I1e9144db3447e58c99aac3f47702ad471678789c
related-to-bug: 3378148
edia/stagefright/OMXCodec.h
149234e91e8dc190ab1e9144177dbdc4adf6090e 21-Jan-2011 Andreas Huber <andih@google.com> am 9a62d902: am 05aa0827: Merge "Some tweaks to HTTP live / nuplayer behaviour" into honeycomb

* commit '9a62d902ead8f94fa0ce071300e3767bfb976d8b':
Some tweaks to HTTP live / nuplayer behaviour
9a62d902ead8f94fa0ce071300e3767bfb976d8b 21-Jan-2011 Andreas Huber <andih@google.com> am 05aa0827: Merge "Some tweaks to HTTP live / nuplayer behaviour" into honeycomb

* commit '05aa082770d812c5921d6b2f9b3559f1fd1536a8':
Some tweaks to HTTP live / nuplayer behaviour
19922adceb29a3192a63e35a07fb02412aa2a4a2 21-Jan-2011 Andreas Huber <andih@google.com> Some tweaks to HTTP live / nuplayer behaviour

- play audio-only streams again
- workaround for malformed streams that switch PIDs across bandwidths
- attempt to pick a different bandwidth stream if the previously chosen one appears
to be malformed/unsupported.

Change-Id: I426d0a40dc725aa242f619d4c9d048b69aca55c9
related-to-bug: 2368598
edia/stagefright/foundation/ADebug.h
ea870e0af429050fa56568cfba8a97836e14731f 21-Jan-2011 Mathias Agopian <mathias@google.com> am 612d7f3c: am a423d868: Merge "clean-up unneeded code" into honeycomb

* commit '612d7f3c092ec2c4a2ae44cb09d6dfb4e525a659':
clean-up unneeded code
612d7f3c092ec2c4a2ae44cb09d6dfb4e525a659 21-Jan-2011 Mathias Agopian <mathias@google.com> am a423d868: Merge "clean-up unneeded code" into honeycomb

* commit 'a423d868009b9961597365ce7f190aef23f4b1cc':
clean-up unneeded code
a423d868009b9961597365ce7f190aef23f4b1cc 20-Jan-2011 Mathias Agopian <mathias@google.com> Merge "clean-up unneeded code" into honeycomb
1d4549ab0312319a79fb37068a3fc63bbb0a3adc 20-Jan-2011 Mathias Agopian <mathias@google.com> clean-up unneeded code

now that we removed the notion of a "inUse" buffer in surfaceflinger
a lot of code can be simplified / removed.

noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete"
is also gone.

Change-Id: I210413d4c8c0998dae05c8620ebfc895d3e6233d
rivate/surfaceflinger/SharedBufferStack.h
3d822cda1e46c5e928152e4d4f7d9d47676bb5e4 20-Jan-2011 Jeff Brown <jeffbrown@android.com> Fix getSwitchState.

InputReader::getSwitchState always returns AKEY_STATE_UNKNOWN
because SwitchInputMapper::getSources() returns 0 which cannot
match any source mask including AINPUT_SOURCE_ANY. As a result
initial lid switch detection is broken.

This change adds a new source constant AINPUT_SOURCE_SWITCH
that indicates that the source has switches.

Change-Id: I5321ecf0ce84f1c2b4535f6c163d3f4dcf9b7a9b
i/Input.h
e155bd0fcb57fa96c4a7b5cc70205d53acf41291 20-Jan-2011 Jeff Brown <jeffbrown@google.com> am 5f668c6e: am 8b9df978: Merge "Fix getSwitchState." into honeycomb

* commit '5f668c6e6bb2515325632691a804a7c8f24ebb09':
Fix getSwitchState.
5f668c6e6bb2515325632691a804a7c8f24ebb09 20-Jan-2011 Jeff Brown <jeffbrown@google.com> am 8b9df978: Merge "Fix getSwitchState." into honeycomb

* commit '8b9df97826f94e2e871eff734b174a4752b0d5f9':
Fix getSwitchState.
89de57a8d252a25ef2412a11a66089a9ff6ffe29 20-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix getSwitchState.

InputReader::getSwitchState always returns AKEY_STATE_UNKNOWN
because SwitchInputMapper::getSources() returns 0 which cannot
match any source mask including AINPUT_SOURCE_ANY. As a result
initial lid switch detection is broken.

This change adds a new source constant AINPUT_SOURCE_SWITCH
that indicates that the source has switches.

Change-Id: I5321ecf0ce84f1c2b4535f6c163d3f4dcf9b7a9b
i/Input.h
a2a3ea5ddadd7e3c882a93906b90e60231735818 19-Jan-2011 James Dong <jdong@google.com> am 1324e3b1: am 4061c9aa: Merge "Fix the presentation video resolution when it is different from the actual image resolution of the video." into honeycomb

* commit '1324e3b1a4246f77d516b37fa98013ffad91268e':
Fix the presentation video resolution when it is different from the actual image resolution of the video.
1324e3b1a4246f77d516b37fa98013ffad91268e 19-Jan-2011 James Dong <jdong@google.com> am 4061c9aa: Merge "Fix the presentation video resolution when it is different from the actual image resolution of the video." into honeycomb

* commit '4061c9aa6d77bd7ad3b43d898b3e55fd62f57f18':
Fix the presentation video resolution when it is different from the actual image resolution of the video.
08adfd29ae3634b554cfe184ab82f112ef934d7b 16-Jan-2011 James Dong <jdong@google.com> Fix the presentation video resolution when it is different from the actual image resolution of the video.

bug - 3352413

Change-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2
edia/stagefright/MetaData.h
b26c516c03beffaf60460d3589b3807c0799c344 18-Jan-2011 Jeff Brown <jeffbrown@google.com> am 41395459: Merge "Filter virtual keys after touches. (DO NOT MERGE)" into gingerbread

* commit '41395459e676cf9ab4059e08446656f145662c2d':
Filter virtual keys after touches. (DO NOT MERGE)
41395459e676cf9ab4059e08446656f145662c2d 18-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Filter virtual keys after touches. (DO NOT MERGE)" into gingerbread
0f6226b9f417182bbf791598000f0a153fbf191c 18-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Add joystick support to framework."
cb1404e45639d20439d7700b06d57ca1a1aad1fa 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Add joystick support to framework.

Change-Id: I95374436708752e1a9cff3f85c5b9bc3e0987961
i/KeycodeLabels.h
bf6ccb04b93f7a2738f29f2d96a69f32f7602f51 17-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> am 307003a8: Merge "integrate videoeditor preview player." into honeycomb

* commit '307003a844c90458bcfd7398c44bbae734936238':
integrate videoeditor preview player.
307003a844c90458bcfd7398c44bbae734936238 17-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> Merge "integrate videoeditor preview player." into honeycomb
d97ea28b48b49c02cb9c0af015d1f11e8855d47b 17-Jan-2011 Jamie Gennis <jgennis@google.com> am cf18c478: Merge "Implement SurfaceTexture frame-available callback." into honeycomb

* commit 'cf18c4788af740773c9b2720a1c4ed5f45454b8e':
Implement SurfaceTexture frame-available callback.
376590d668e22a918439877b55faf075427b13f3 13-Jan-2011 Jamie Gennis <jgennis@google.com> Implement SurfaceTexture frame-available callback.

This change implements the onFrameAvailable callback for the
SurfaceTexture java class. It includes the C++ SurfaceTexture code as
well as the JNI and Java code to enable the callback.

Change-Id: Ifd8b8e7ad46ee70cba6da1c2e96dab8045d1ea30
ui/SurfaceTexture.h
3b3cddccc105a7eaade4bb98f0eead3d3d3a2cc9 17-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> integrate videoeditor preview player.

Change-Id: I83084f494605c8e6f4d198afa8c36f9e29579667
edia/stagefright/AudioPlayer.h
urfaceflinger/Surface.h
ceaf8ac31c0ee131f5c7865feb227f60def729df 15-Jan-2011 Mathias Agopian <mathias@google.com> am a7393dd6: Merge "Fix error reporting in Surface::cancelBuffer()" into honeycomb

* commit 'a7393dd66f0127c8acdd5f8928b0c2d0de602275':
Fix error reporting in Surface::cancelBuffer()
a7393dd66f0127c8acdd5f8928b0c2d0de602275 15-Jan-2011 Mathias Agopian <mathias@google.com> Merge "Fix error reporting in Surface::cancelBuffer()" into honeycomb
9286cfe5017363d95798d85163ec4f28aeb0c675 15-Jan-2011 Jean-Baptiste Queru <jbq@google.com> merge 83fdc69e from gingerbread - do not merge

Change-Id: Ib1e9e12244a44f75a93d66142e71915de6386680
afc724b907336c043a38487fb5620074c9777d45 14-Jan-2011 Mathias Agopian <mathias@google.com> Fix error reporting in Surface::cancelBuffer()

when we validate the surface there, most errors are in fact allowed
because it is legal to cancel a buffer after a surface has been
destroyed (for instance). in that case make sure to not log
error messages as they are very confusing.

Change-Id: Iecdfbaf6d9ee5da54d56cd7ea7a0d430c30934b0
urfaceflinger/Surface.h
202b603dc11dc503450823389ae4dfa6860de490 13-Jan-2011 Jamie Gennis <jgennis@google.com> am 3defffe0: Merge "Fix remote GraphicBuffer allocation in SurfaceFlinger." into honeycomb

* commit '3defffe06e6989506698ecdce1be3149a33774c1':
Fix remote GraphicBuffer allocation in SurfaceFlinger.
f7acf162f8d682c6ebc9af41ca76795b79509193 13-Jan-2011 Jamie Gennis <jgennis@google.com> Fix remote GraphicBuffer allocation in SurfaceFlinger.

This change fixes a horrible hack that I did to allow application
processes to create GraphicBuffer objects by making a binder call to
SurfaceFlinger. This change introduces a new binder interface
specifically for doing this, and does it in such a way that
SurfaceFlinger will maintain a reference to the buffers until the app is
done with them.

Change-Id: Icb240397c6c206d7f69124c1497a829f051cb49b
ui/SurfaceTexture.h
urfaceflinger/IGraphicBufferAlloc.h
urfaceflinger/ISurfaceComposer.h
282e1c4ffae2b94265fd9cc20f68669b3a6e2781 13-Jan-2011 Jason parks <jparks@google.com> am 21f62b9e: Merge "Add a method enable encryption." into honeycomb

* commit '21f62b9e461416ae61c8471f7199f104f8fe33de':
Add a method enable encryption.
21f62b9e461416ae61c8471f7199f104f8fe33de 13-Jan-2011 Jason parks <jparks@google.com> Merge "Add a method enable encryption." into honeycomb
9efe47374b61afd0ce84afa64e9fa5b41dfaef22 03-Dec-2010 James Dong <jdong@google.com> Squash commits of the following patches, cherry-picked from other branch - do not merge.

o Prepare for publishing MediaMetadataRetriever as public API
step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

o Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime()
as part of the preparation for publishing MediaMetadataRetriever as public Java API

o Remove captureFrame from MediaMetadataRetriever.java class
It has been replaced by getFrameAtTime() method

o Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java

o Publish MediaMetadataRetriever.java as public API
o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc
o part of a multi-project change.

bug - 3309041

Change-Id: I2efb6e8b8d52897186b016cb4efda6862f5584c4
edia/IMediaMetadataRetriever.h
edia/MediaMetadataRetrieverInterface.h
edia/mediametadataretriever.h
f152f2efa6892f844949b648aecc3b2a91e1d17e 13-Jan-2011 Jamie Gennis <jgennis@google.com> am 103198a1: Merge "Implement crop & transform for SurfaceTexture." into honeycomb

* commit '103198a10cc22a49270a787d04b8ab484d2ec235':
Implement crop & transform for SurfaceTexture.
103198a10cc22a49270a787d04b8ab484d2ec235 12-Jan-2011 Jamie Gennis <jgennis@google.com> Merge "Implement crop & transform for SurfaceTexture." into honeycomb
999fb5a5a952ffb0c13ee5d6940fa1a39f165bcd 12-Jan-2011 James Dong <jdong@google.com> am 068b41d5: Merge "Publish MediaMetadataRetriever.java as public API" into honeycomb

* commit '068b41d5d41a4a78c96586b85ea89d464d302548':
Publish MediaMetadataRetriever.java as public API
11eab056dd0133a390169d3581edf3eef26d6a54 06-Jan-2011 James Dong <jdong@google.com> Publish MediaMetadataRetriever.java as public API

o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc

o part of a multi-project change.

bug - 2433195

Change-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438
edia/IMediaMetadataRetriever.h
edia/MediaMetadataRetrieverInterface.h
edia/mediametadataretriever.h
56aa5321fe6f00fa3662e6f46a4b2559aa34f63e 07-Jan-2011 Jason parks <jparks@google.com> Add a method enable encryption.

This is for testing and needs to be cleaned up.

Change-Id: I29958f2a95c7773744e61bbd23a302b752614f87
torage/IMountService.h
b598fb90727be45e926a11abefc319819a733540 10-Jan-2011 Jamie Gennis <jgennis@google.com> Implement crop & transform for SurfaceTexture.

This change adds support for the setCrop and setTransform methods of the
SurfaceTexture C++ class. The crop and transform for the current
texture will be accessed by applications as a single texture coordinate
transform matrix.

Change-Id: I6482bf96f680e5c175364e848936db3908d6c8f8
ui/SurfaceTexture.h
6f71d0fedbb04c048a7294976103e42f0f046641 24-Oct-2010 Jeff Brown <jeffbrown@google.com> Filter virtual keys after touches. (DO NOT MERGE)

Adds a new virtualKeyQuietTimeMillis configuration resource that sets
the duration for which virtual keys will be dropped after recent touches
on screen. The default value is 0; it is intended to be overridden
per device using a resource overlay.

This change is designed to help in two cases:

1. Swipes from touchscreen into virtual key area.
2. Accidental taps in virtual key area while using on-screen keyboard.

Bug: 3089163
Change-Id: Id6733c83c2e2bc8d9553aa0e5c1fd74b741bec6e
i/InputReader.h
3b7983cfea8885e394e7d625a31cbd0ae71e8edb 11-Jan-2011 Gloria Wang <gwang@google.com> am 9e0bb6d5: am 0544d059: Merge "DRM Framework bug fixes."

* commit '9e0bb6d5eef5dfe2da60c50f3aaa39512307d11d':
DRM Framework bug fixes.
fbab3b67afc904450613204400d9e8779feb5659 10-Jan-2011 Jamie Gennis <jgennis@google.com> Merge "Fix a bug in SurfaceTexture::setBufferCount." into honeycomb
0569e58988bae5f08733e21e8d8adfa61fe89b7f 10-Jan-2011 James Dong <jdong@google.com> am 13d1cb56: Merge "Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge" into gingerbread

* commit '13d1cb56dfdfc89888de6a0389b0fe6cf7e36c27':
Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge
748ba9a9512dee65d5b09cfe26a34ded753f4aab 10-Jan-2011 Andreas Huber <andih@google.com> Merge "NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications." into honeycomb
7caa130a98baa64768dcd409bc110ce9acb0cbff 10-Jan-2011 Andreas Huber <andih@google.com> NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.

Change-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d
related-to-bug: 3336496
edia/stagefright/ACodec.h
edia/stagefright/foundation/AMessage.h
6328185b6cc632f85ff640f6e854ab33815ae97f 10-Jan-2011 James Dong <jdong@google.com> Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge

cherry-picked from: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89

bug - 3336424

Change-Id: I2d8ecb79a5422342988c195c012c9e6327ac457a
edia/stagefright/OMXCodec.h
681e89c08264af948735d00552c4bd08180b06b4 10-Jan-2011 James Dong <jdong@google.com> Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object

bug - 3336424

Change-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89
edia/stagefright/OMXCodec.h
d369dc42506ec003f1839bb9e27edada411324b5 09-Jan-2011 Jamie Gennis <jgennis@google.com> Fix a bug in SurfaceTexture::setBufferCount.

We need to reset mCurrentTexture and mLastQueued in setBufferCount
because it frees all of the buffers associated with the buffer slots.

Change-Id: Ie2f834ec1c07ce7a4ab9b2b5fc5fe8c294010c60
ui/SurfaceTexture.h
9e0bb6d5eef5dfe2da60c50f3aaa39512307d11d 08-Jan-2011 Gloria Wang <gwang@google.com> am 0544d059: Merge "DRM Framework bug fixes."

* commit '0544d05990c0f43a143e98e71f7fc60277872806':
DRM Framework bug fixes.
ee35aff74494e6c0b718e219427af6a6c573b928 06-Jan-2011 Marco Nelissen <marcone@google.com> Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

(cherry-picked from GB because of weird automerger failure)

Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
edia/mediametadataretriever.h
edia/stagefright/MetaData.h
0544d05990c0f43a143e98e71f7fc60277872806 07-Jan-2011 Gloria Wang <gwang@google.com> Merge "DRM Framework bug fixes."
d1da80a4b3d50c1be120b0e873363da711428a81 07-Jan-2011 Marco Nelissen <marcone@google.com> am ba77a3f9: Add support for the "compilation" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831

* commit 'ba77a3f9cb1d68b2ed4813aaae856444578e3a75':
Add support for the "compilation" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831
ba77a3f9cb1d68b2ed4813aaae856444578e3a75 06-Jan-2011 Marco Nelissen <marcone@google.com> Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

Change-Id: Iba1152013b7577168af71f947d7249560419fa05
edia/mediametadataretriever.h
edia/stagefright/MetaData.h
478353e23188cdd6f3dd3674f122b50ec37438b4 06-Jan-2011 Jamie Gennis <jgennis@google.com> Merge "Add camera service support for SurfaceTexture." into honeycomb
ff2dc46c121c166f10684da069d07ae11d4f9b9a 20-Dec-2010 Jamie Gennis <jgennis@google.com> Add camera service support for SurfaceTexture.

This change enables the use of a SurfaceTexture in place of a Surface as
the destination of camera preview frames.

Change-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb
amera/Camera.h
amera/ICamera.h
1932fef94a14d0a1b86213864a2bcc690e0faa5e 06-Jan-2011 Andreas Huber <andih@google.com> Merge "Colorconverter may not support some src/dst bitmap configurations." into honeycomb
68e4a7ac849b681b1fb769857fc04f64262480c4 20-Dec-2010 Jamie Gennis <jgennis@google.com> Add the SurfaceTexture C++ implementation.

This change adds the C++ implementation of SurfaceTexture and related
classes. The goal of this is for a SurfaceTexture to be passed to
camera service or Stagefright in place of a Surface to allow camera
preview or decoded video frames to be streamed to an OpenGL ES texture
that an application can use.

Change-Id: I55c83a7017f1ecb81c9c9e3252cbd118b914296c
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
i/GraphicBuffer.h
0a53d5c81b5553d6063b8133492275ce88186978 20-Dec-2010 Jamie Gennis <jgennis@google.com> Add the ISurfaceComposer::createGraphicBuffer IPC.

This change adds a new binder method to the ISurfaceComposer interface.
This IPC is intended to allow SurfaceFlinger clients to allocate gralloc
buffers using SurfaceFlinger as a proxy to gralloc.

Change-Id: Ide9fc283aec5da6268ba62cfed0c3319a50b640d
urfaceflinger/ISurfaceComposer.h
c0dbe3a4457020bdba6ce311d383faecb7950a90 06-Jan-2011 Andreas Huber <andih@google.com> Colorconverter may not support some src/dst bitmap configurations.

Let it return an appropriate error code instead of asserting.

Change-Id: I7fe0dfa169e1cbdecb04c5fcbe8501e73362d05e
related-to-bug: 3328212
edia/stagefright/ColorConverter.h
6c30cfb0c5da16c44cc69b2d2282012aed903dc4 06-Jan-2011 James Dong <jdong@google.com> am a8ce7736: am 35e8dcb9: Merge "Suppress the recording sound in the recorded video" into gingerbread

* commit 'a8ce773607c26dd4336f57856afce507fb98a279':
Suppress the recording sound in the recorded video
a8ce773607c26dd4336f57856afce507fb98a279 06-Jan-2011 James Dong <jdong@google.com> am 35e8dcb9: Merge "Suppress the recording sound in the recorded video" into gingerbread

* commit '35e8dcb9df8c3d77ede120e3f1aaf842b2928639':
Suppress the recording sound in the recorded video
a4bbc386a05a3d36f7bc9cdc5223adfa1b1f05e4 05-Jan-2011 Andreas Huber <andih@google.com> Merge "Seek/Duration support for completed http live streams in NuPlayer."
08e10cb404c0f1620ca9db7494ccbb8adcca5ee5 05-Jan-2011 Andreas Huber <andih@google.com> Seek/Duration support for completed http live streams in NuPlayer.

Change-Id: I55bbe75d87140c07b1927d14ad24130fce803463
related-to-bug: 3321475
edia/mediaplayer.h
7ca6041ac9c57630ca051c1575760b8f3cb81361 05-Jan-2011 James Dong <jdong@google.com> Merge "Fixed a typo in the enum for unknown camera error message"
ac1325bcd394bdc8903b26e8593cc06753d79f29 05-Jan-2011 Jason parks <jparks@google.com> Merge "Add decryption support to MountService."
5af0b916f850486cff4797355bf9e7dc3352fe00 29-Nov-2010 Jason parks <jparks@google.com> Add decryption support to MountService.

* Implement the decryptStorage() method on the Mount Service.
This method makes the calls into vold to decrypt the encrypted
volumes and mount them.

Change-Id: I4f6e07a111cf0b36611d590debf9f6579c5ac5f7
torage/IMountService.h
876e44dfb5aabcd34e052a6a8a9f8ba8f07744ba 05-Jan-2011 James Dong <jdong@google.com> Merge "Use video output if necessary for timelapse video recording"
853f6fdef791382ed0c10660255754107e684a20 05-Jan-2011 James Dong <jdong@google.com> Fixed a typo in the enum for unknown camera error message

Change-Id: Id9f8432e2ba8e1474ee020438d6456f1f450398a
amera/Camera.h
a7ac739b74428539ad8087a389c9de81081d1a93 05-Jan-2011 James Dong <jdong@google.com> Suppress the recording sound in the recorded video

bug - 3309194

Change-Id: Ib8fb248943bc22f963d67537bfdbc6056c5a159b
edia/stagefright/AudioSource.h
b4ff35df5c04aec71fce7e90a6d6f9ef7180c2ad 03-Jan-2011 Jeff Brown <jeffbrown@google.com> Mouse pointer integration.

Added support for loading the pointer icon from a resource.

Moved the system server related bits of the input manager out
of libui and into libinput since they do not need to be linked into
applications.

Change-Id: Iec11e0725b3add2b905c51f8ea2c3b4b0d1a2d67
i/DisplayInfo.h
i/EventHub.h
i/InputDispatcher.h
i/InputManager.h
i/InputReader.h
i/PointerController.h
a1d2d8f7a5fd956ab82acc641415e09ff6c00a7e 05-Jan-2011 James Dong <jdong@google.com> Use video output if necessary for timelapse video recording

Change-Id: I88d0cc824f0fbf8b2f392fbc23c69b5bfefda1b8
edia/stagefright/CameraSourceTimeLapse.h
cbeaca7a819cc11724f6f34457dabf5bd55a84a1 04-Jan-2011 Andreas Huber <andih@google.com> Properly shutdown the decoders on a reset() in NuPlayer's implementation.

related-to-bug: 3321470
Change-Id: Ida6d2171c5a3a407188d4633602b764f8fe7086a
edia/mediaplayer.h
9872bf4a2d4ae1e7ded170c8e74d400fe6be9bfb 20-Dec-2010 Shachar Shemesh <lingnu@gmail.com> Normalize output from aapt d

Make the output from aapt dump --values resources and aapt dump xmltree normalized, so that it is unambigously displayed
regardless of the content of the strings.

Change-Id: Ia3bff36c4ee1e9a44f474534e154830948beabdf
tils/ResourceTypes.h
83c09685f2e62bc3cf7e71bc61d903f4b9ccaeb4 24-Dec-2010 Jeff Brown <jeffbrown@google.com> Add initial support for cursor-based pointing devices.

Some parts stubbed out but you can plug in a mouse and move
a green cursor around to interact with the UI.

Change-Id: I80d597a7f11d3bd92041890f74b3c77326975e6e
i/EventHub.h
i/InputReader.h
i/PointerController.h
tils/PropertyMap.h
34ad57f0e844cd97f59d4ab22087d60d58650ba4 21-Dec-2010 Vasu Nori <vnori@google.com> resubmitting Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9

Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9 was reverted
due to a bug. fixed the bug and resubmitting it here
inder/CursorWindow.h
5274e84e88d2cba20ad3cb21c55c1758b4da8af4 20-Dec-2010 Vasu Nori <vnori@google.com> Revert "bug:2448371 cursorwindow size moved to resource xml file."

This reverts commit 2594bae1f551d758c5c88771310d1ee3dc2c71ac.
inder/CursorWindow.h
2594bae1f551d758c5c88771310d1ee3dc2c71ac 19-Dec-2010 Vasu Nori <vnori@google.com> bug:2448371 cursorwindow size moved to resource xml file.

let cursor window size be set per device in device resources file.
default is 1MB.
for SR, it is 2MB.
it can be set to any value (in kB) in the device resource
strings.xml file

Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9
inder/CursorWindow.h
076e05b488e40fdd946f0d35137fe66a576efe09 16-Dec-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Add support for scanning empty directories

Currently the media scanner does not create database entries for directories
unless they contain a file that is scanned.
Fixing this so we provide a consistent view of the world to MTP.

Change-Id: Ia776acfeae23192183e7192d63cdc34d830ea889
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/mediascanner.h
687b32d83e0145b0a684e3a9704ab50939260d60 16-Dec-2010 Andreas Huber <andih@google.com> Properly announce decoder output format changes, make sure AMessage::dup does.

Change-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6
edia/stagefright/ACodec.h
edia/stagefright/foundation/AMessage.h
a15874665fa785c82afa9f2e8cb3512470c297cb 16-Dec-2010 Andreas Huber <andih@google.com> Initial support for a true streaming player for mpeg2 transport streams.

Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
edia/MediaPlayerInterface.h
edia/stagefright/ACodec.h
edia/stagefright/foundation/ADebug.h
edia/stagefright/foundation/AHierarchicalStateMachine.h
edia/stagefright/foundation/AMessage.h
52e6ada69e0cdc4366f97cef12d8ce93c52c3b24 15-Dec-2010 Mathias Agopian <mathias@google.com> Merge "minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so."
aa0e56f9f2f353f969a7230eb8d038fffff4d6da 15-Dec-2010 Mathias Agopian <mathias@google.com> Merge "dump callstack on Surface use error"
0bd5243b751c9cad317758158f79b3347e7948af 14-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Framework-side support for Dalvik "isSensitiveThread" hook.

Used in lock contention stats.

Bug: 3226270
Change-Id: Ie6f58d130a29079a59bdefad40b80304d9bc3623
inder/IPCThreadState.h
06f9ebf4f6178d6b6970cace263ee180d4b61d36 14-Dec-2010 Mathias Agopian <mathias@google.com> minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so.

Change-Id: I3bdca74351c8e480a05084bc412a96c5f685221d
urfaceflinger/Surface.h
2144f6316d9c993ba20c7de2a6cac35265291cc5 11-Dec-2010 James Dong <jdong@google.com> Revert "Allows the authoring engine to skip frame."

o Skipping frames could lead to a lot of issues such as I frames is lost etc.
It is not being used anyway.

This reverts commit 53d4e0d58e2d5c18f6e026c705af833b9bdd7aba.

Conflicts:

media/libstagefright/AudioSource.cpp
media/libstagefright/CameraSource.cpp

Change-Id: I3abba1647de48db25bdc369066eb2a7ae4dedec2
edia/stagefright/MediaSource.h
edia/stagefright/OMXCodec.h
0cfb45a4232f8ccb58b8136ff8628d9978582154 11-Dec-2010 Mathias Agopian <mathias@google.com> Merge "[3258939] Need snapshot to limit which layers are included"
3dd25a6bf71bd535bf9dbbe16234229ff45414a0 11-Dec-2010 Mathias Agopian <mathias@google.com> [3258939] Need snapshot to limit which layers are included

Change-Id: Id7351a0e3f53dde99b291cffba553d89fd4d7ca9
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
f7d63cf2cbab403b14778ec45839107078e20824 11-Dec-2010 Mathias Agopian <mathias@google.com> dump callstack on Surface use error

Change-Id: I38e260dd47349b9af3a999dda683a083a94be16d
tils/CallStack.h
74920cb1a84907f8732d67f4fae7a4768665d5d2 09-Dec-2010 James Dong <jdong@google.com> We requires camera hal's implementation should not track the ref count of any outstanding video frames and ignore
releaseRecordingFrame() call after it receives disableMsgType(CAMERA_MSG_VIDEO_FRAME).

Change-Id: I2ecb9b3b11dab6bf868ccf8effda1b8df5bcde3c
amera/CameraHardwareInterface.h
19f9eda28a1bd182a5f7bba9dde015b29ab04d25 09-Dec-2010 Mathias Agopian <mathias@google.com> fix [3259708] Graphic Buffer Mapper does not support YV12

remove a bunch of a code that was there only to support broken gralloc implementations

Change-Id: I3c1a9172224cbcc283601abfbbd695a20815451f
rivate/ui/sw_gralloc_handle.h
d2112306330ce0c162bee4b864991962ca2b655a 08-Dec-2010 Mathias Agopian <mathias@google.com> remove support for PUSH_BUFFER surfaces and overlays

the same functionality is now supported through
the h/w composer HAL, and YUV support in the GPU.

Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
amera/CameraHardwareInterface.h
urfaceflinger/ISurface.h
urfaceflinger/ISurfaceComposer.h
i/IOverlay.h
i/Overlay.h
94720d7ec40d2b5ee200d95a46588cdb0fb30e66 02-Dec-2010 Erik Gilling <konkers@android.com> surfaceflinger: add support for gralloc dump hooks

Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
i/FramebufferNativeWindow.h
1542af35976ce121b8a69812ab8dec7b71a0b283 08-Dec-2010 Kenny Root <kroot@google.com> Merge "Change assets to use 64-bit API"
ddb76c4644756b31be948d70aaa8ee541dd94999 24-Nov-2010 Kenny Root <kroot@google.com> Change assets to use 64-bit API

The asset system and supporting libraries were using off_t instead of
off64_t to access files larger than 2GB (32-bit signed). This change
replaces all off_t with off64_t and lseek64.

There is a new utils/Compat.h added for Mac OS compatibility.

Also fixed some size-related compiler warnings.

Bug: 3205336
Change-Id: I9097b3cb7a602e811fe52f245939d8975da55e9e
tils/Asset.h
tils/Compat.h
tils/FileMap.h
tils/StreamingZipInflater.h
tils/ZipFileCRO.h
tils/ZipFileRO.h
f69583cde5e4e8c3337c2196f8102f987ef9ea61 08-Dec-2010 Andreas Huber <andih@google.com> Merge "Better buffer status management and verification in OMXCodec."
bbbcf65532c905b71f5c731551b15e9bd2fc26e0 07-Dec-2010 Andreas Huber <andih@google.com> Better buffer status management and verification in OMXCodec.

Change-Id: I90410f2ac0d8ff86076a239dc6e281b1bc4d8643
edia/stagefright/OMXCodec.h
49ed71db425c5054e3ad9526496a7e116c89556b 07-Dec-2010 Jeff Brown <jeffbrown@google.com> Add support for fallback keycodes.

This change enables the framework to synthesize key events to implement
default behavior when an application does not handle a key.
For example, this change enables numeric keypad keys to perform
their associated special function when numlock is off.

The application is informed that it is processing a fallback keypress
so it can choose to ignore it.

Added a new keycode for switching applications.

Added ALT key deadkeys.

New default key mappings:
- ESC -> BACK
- Meta+ESC -> HOME
- Alt+ESC -> MENU
- Meta+Space -> SEARCH
- Meta+Tab -> APP_SWITCH

Fixed some comments.
Fixed some tests.

Change-Id: Id7f3b6645f3a350275e624547822f72652f3defe
i/InputDispatcher.h
i/InputReader.h
i/InputTransport.h
i/KeyCharacterMap.h
i/KeycodeLabels.h
f30c8287525ac049d4d7589a330be5713256046b 08-Dec-2010 Mathias Agopian <mathias@google.com> am 48f42f8c: am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread

* commit '48f42f8c3fbd33b2f46c6290ff5963dd58938cf9':
[3171580] don't automatically log GraphicBuffer allocation failures
4e345ab7df737592528e99db73612c6b37e34545 07-Dec-2010 Mathias Agopian <mathias@google.com> am a2977c38: Merge changes Ie03796ae,Ide3e980a into gingerbread

* commit 'a2977c383d363e1e88a5b36230b1fa4c312807d2':
[3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE)
[3171580] Add transform field to native buffers. (DO NOT MERGE)
48f42f8c3fbd33b2f46c6290ff5963dd58938cf9 07-Dec-2010 Mathias Agopian <mathias@google.com> am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread

* commit '4153bf3a259624a2f2dc497b77b225a1fb517abc':
[3171580] don't automatically log GraphicBuffer allocation failures
b0fa4f2c6f20a873370d9d50d9f77a4ea705270d 07-Dec-2010 Andreas Huber <andih@google.com> Merge "API Support for both synchronous and queued commands, optionally associated metadata."
ae9d5072534de65d9ea41def2e1b4258a1731ca4 06-Dec-2010 Andreas Huber <andih@google.com> API Support for both synchronous and queued commands, optionally associated metadata.

Change-Id: Idb90d64cb638942210c5822b3cba2f05b087d601
edia/IStreamSource.h
edia/stagefright/foundation/AMessage.h
5df53fe2f038bc23f2e3c452dc8398c8bdd08d30 05-Dec-2010 James Dong <jdong@google.com> Remove check if the target video resolution is not supported by CameraSource
and clean up Camera is CameraSource could not created.

bug - 3254411

Change-Id: I43497c450e7007de5ce027e2912b1421119e8887
edia/stagefright/CameraSource.h
48e723a0ee9b625825d23642f843b91fa276ab7c 03-Nov-2010 Mathias Agopian <mathias@google.com> [3171580] Add transform field to native buffers. (DO NOT MERGE)

This field indicate how the content of the buffer
needs to be transformed.

Change-Id: Ide3e980a90599e931406135693231276626adbbb
i/GraphicBuffer.h
i/android_native_buffer.h
e869aee382cfe01d42dffba4912458a16bb791fb 04-Dec-2010 Mathias Agopian <mathias@google.com> [3171580] don't automatically log GraphicBuffer allocation failures

some of these failures are not fatal and even expected in some cases
so they should not emit a dump in the log in those cases.

Change-Id: Idcfa252e3bfa9d74e27fe4ad8f8623aa01aa9c5e
i/GraphicBuffer.h
i/GraphicBufferAllocator.h
faf09ba9405ff019b5ca7e2317debe4ff269d4f8 03-Dec-2010 James Dong <jdong@google.com> Prepare for publishing MediaMetadataRetriever as public API

step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

bug - 2433195

Change-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12
edia/IMediaMetadataRetriever.h
edia/MediaMetadataRetrieverInterface.h
edia/mediametadataretriever.h
592f4dd8c173f774ac3735211b301e51856d5175 03-Dec-2010 Kenny Root <kroot@google.com> Merge "Move disk usage utilities to its own library"
9065504a63d6bf37bf621191fda1d1fe4da76ee3 02-Dec-2010 Jeff Brown <jeffbrown@google.com> Improve support for external keyboards.

Use Vendor ID, Product ID and optionally the Version to
locate keymaps and configuration files for external devices.

Moved virtual key definition parsing to native code so that
EventHub can identify touch screens with virtual keys and load
the appropriate key layout file.

Cleaned up a lot of old code in EventHub.

Fixed a regression in ViewRoot's fallback event handling.

Fixed a minor bug in FileMap that caused it to try to munmap
or close invalid handled when released if the attempt to map
the file failed.

Added a couple of new String8 conveniences for formatting strings.

Modified Tokenizer to fall back to open+read when mmap fails since
we can't mmap sysfs files as needed to open the virtual key
definition files in /sys/board_properties/.

Change-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6
i/EventHub.h
i/Input.h
i/InputReader.h
i/Keyboard.h
i/VirtualKeyMap.h
tils/String8.h
tils/Tokenizer.h
5faa078aeb9ec841b9905530c2b7e2bcd0a678b3 01-Dec-2010 James Dong <jdong@google.com> Merge "Add preferred preview size support in the camera framework"
4ddca9baccad95eb884114ce11723c07372286e2 30-Nov-2010 James Dong <jdong@google.com> Add preferred preview size support in the camera framework

bug - 3237021

Change-Id: Ica8a3ae5cfbee462b74de98770e33277186c9a2b
amera/CameraParameters.h
1f2451007c660091b7b090c1ea332f9044515d2d 19-Nov-2010 Jeff Brown <jeffbrown@google.com> Ensure the ShortcutManager uses the correct key character map.

The ShortcutManager used to only receive the key code of the key event
that triggered the shortcut. This change now provides the shortcut
manager with the whole key event so it can look up the associated
character using the correct key character map.

To make this more efficient, added a mechanism for recycling
key events. At the moment it is only used by key events owned by the
system process, since clients of the existing API (such as Views)
might continue to hold on to key events after dispatch has finished so
they would break if the key event were recycled by the framework.

Deprecated KeyCharacterMap.BUILT_IN_KEYBOARD.

Change-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8
i/Input.h
i/InputDispatcher.h
47e6b1b5eef8ee99872f278f66bc498c4fcca0d8 30-Nov-2010 Jeff Brown <jeffbrown@google.com> Support non-orientation aware keyboards and other devices.

Fixed a bug with dpad keys on external keyboards being rotated
according to the display orientation by adding a new input device
configuration property called "keyboard.orientationAware".

Added a mechanism for overriding the key layout and key character
map in the input device configuration file using the new
"keyboard.layout" and "keyboard.characterMap" properties.

Also added "trackball.orientationAware", "touch.orientationAware" and
"touch.deviceType" configuration properties.

Rewrote the configuration property reading code in native code
so that it can be used by EventHub and other components.

Added basic support for installable idc, kl, and kcm files
in /data/system/devices. However, there is no provision for
copying files there yet.

Disabled long-press character pickers on full keyboards so that
key repeating works as expected.

Change-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791
i/EventHub.h
i/Input.h
i/InputReader.h
i/Keyboard.h
tils/PropertyMap.h
33b2264ea9ab0f1980c49698729a0ab3c51d07fe 30-Nov-2010 Kenny Root <kroot@google.com> Move disk usage utilities to its own library

Disk usage calculation will happen in more places now, so move the
installd calculation utilities out to its own library that only gets
built for the target.

Change-Id: Idceb6bd663ca6ab3d38fa00e57ee74a25b784855
iskusage/dirsize.h
f05913aaa0cc96eab32be3431de1a80d405527a1 30-Nov-2010 Takeshi Aimi <aimitakeshi@gmail.com> DRM Framework bug fixes.

- Make sure to clean-up obsolete listeners.
- Close cursor after using it.
- Add virtual destructor to the base class of OnInfoListener.

Changes are made by SEMC and Sony.

Change-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139
rm/DrmManagerClient.h
6bdbcd748ee64c7d66547c89673b415197a3001f 24-Nov-2010 Andreas Huber <andih@google.com> Merge "Support streaming data across binder boundaries."
29fc2c9705e1bb8ae098fca016032d2325031587 24-Nov-2010 Joe Onorato <joeo@google.com> Allow status bar panels to be on top of the status bar.

Change-Id: I3c74ece5f7042e6302717f4263746d59d5447ec9
i/InputDispatcher.h
52b52cdfb7502d5a0fd7bba21d1daa3e36a54e42 23-Nov-2010 Andreas Huber <andih@google.com> Support streaming data across binder boundaries.

Change-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc
edia/IMediaPlayerService.h
edia/IStreamSource.h
edia/MediaPlayerInterface.h
35f2d3997efe62ce7660ac558578ac5ca834f357 23-Nov-2010 Gloria Wang <gwang@google.com> am 24a90c26: am d9334934: Merge "Update of DRM Framework."

* commit '24a90c2674270fee0783bafa54fd5d845bdf0c18':
Update of DRM Framework.
24a90c2674270fee0783bafa54fd5d845bdf0c18 23-Nov-2010 Gloria Wang <gwang@google.com> am d9334934: Merge "Update of DRM Framework."

* commit 'd93349342a89a25c7a884e8543c6adc048c5f86d':
Update of DRM Framework.
4a0ff4de7954295ef7a1fd595c999240523860f8 23-Nov-2010 Andreas Huber <andih@google.com> Merge "Squashed commit of the following:"
1bb0ffd0981bec26f906bc62d449e136111af4f8 22-Nov-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 12:57:04 2010 -0800

set_surface_crop doesn't seem to work right yet, stop using it in the SoftwareRenderer.

Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42

commit 4767b52bee3a54ae117a8708d6832276a44e6a6a
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 11:14:57 2010 -0800

info->mMediaBuffer may still be NULL at this point...

Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f

commit 0cef79874e1f1ddb10b7402177a87d3cffc7de92
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 10:55:12 2010 -0800

QCOM's YVU420 color format conversion has now been tested.

Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67

commit 84fe05a6c969ede0ce8a85a530e110afca07c7a7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 09:59:50 2010 -0800

Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle.

Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc

commit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:11:06 2010 -0800

Revamped Software Renderer respects the crop rectangle.

Removed obsolete ADRENO support code.

Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535

commit 8abbc6a5608bff650f968540f24a2eab75f254ed
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:10:41 2010 -0800

The metadata retriever now respects the crop rectangle while capturing a video frame.

Change-Id: Id3377176060086d16717f62c77ce26fabe899050

commit 2d42e4466609d304e88bd2cdd6eb7b297340cc21
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:09:50 2010 -0800

Changed ColorConverter APIs to be more general.

Clients can now refer to crop rectangles in both source and destination.

Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04

commit 273184303d54a54febd3e9c3dd4df30507ea78b5
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 15:04:06 2010 -0800

The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg

Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4

commit 2d43390328cadf4ba94c1c3c02e4fb30baa29690
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 14:36:55 2010 -0800

The AVC software decoder now properly advertises the cropping rectangle.

Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b

commit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 13:40:39 2010 -0800

OMXCodec now signals a format change if the cropping rectangle changes.

...and puts the cropping info into its output format.

Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2

commit efe0323947029df1c502599ccc288c8d676dfd31
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 11:29:39 2010 -0800

Stagefright's MetaData object now supports rectangle items.

Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504

Change-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70
edia/stagefright/ColorConverter.h
edia/stagefright/MetaData.h
83d97c8c7ddff9374f876bef48758414a7775cb1 22-Nov-2010 Gloria Wang <gwang@google.com> Merge "64-bit file size/offset support for DRM framework"
4e911849caa9a4c3fe7ba9d820930465ba54de29 20-Nov-2010 Wu-cheng Li <wuchengli@google.com> am fb6f4505: am 589e8381: Merge "Improve camera documentation." into gingerbread

* commit 'fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6':
Improve camera documentation.
fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6 20-Nov-2010 Wu-cheng Li <wuchengli@google.com> am 589e8381: Merge "Improve camera documentation." into gingerbread

* commit '589e838116b0dffa696fa39336d0588124877f98':
Improve camera documentation.
04d070f2937ae4dd72d9d87407b9abf7f664660e 20-Nov-2010 James Dong <jdong@google.com> Merge "Removed uncessary FILE structure pointer for I/O"
d48124e0fe511265024a61abee67d8ed6ac61592 20-Nov-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 3157123."
5fc3edb13edb058f14e6550d295ce3e50e5ebf8c 20-Nov-2010 Gloria Wang <gwang@google.com> 64-bit file size/offset support for DRM framework

Change-Id: I0ba7147607825234df9fa28732e1bba344e82e79
rm/DrmManagerClient.h
f3d6dd0782e3135885efdc26cb86cf0bf811749f 18-Nov-2010 Eric Laurent <elaurent@google.com> Fix issue 3157123.

Use a Mutex wherever atomic operations were used in AudioTrack,
AudioRecord, AudioFlinger and AudioEffect classes.

Change-Id: I6f55b2cabdcd93d64ef19446735b8f33720f8dbc
edia/AudioEffect.h
edia/AudioRecord.h
edia/AudioTrack.h
a6210d061bb79e5c10ed88c99111df51e52e4472 19-Nov-2010 Jeff Brown <jeffbrown@google.com> Fix SDK build on Windows due to use of mmap.

Change-Id: Id4bd9a6f932285c93c5853e540efc20b99876564
tils/Tokenizer.h
2747e0e07ff7ec2ba808298e8d96536d72d211cb 19-Nov-2010 James Dong <jdong@google.com> Removed uncessary FILE structure pointer for I/O

o also move the fd owner from caller to callee in the Writers

Change-Id: I510ccfdd0fcc58f1777fea4ed1349fd251852c65
edia/stagefright/AMRWriter.h
edia/stagefright/FileSource.h
edia/stagefright/MPEG4Writer.h
dc91865622e3cc9ff0bb33b83f1d3b38cd7a6d7a 16-Nov-2010 Takeshi Aimi <aimitakeshi@gmail.com> Update of DRM Framework.

-Access permission handling
Introduce an internal function which allows the desired process to
access decryption flow. This new function is just for reference and
each OEM manufacturer should implement/replace with their solutions.
-New API, getMetadata()
This API is for retrieving media metadata from container-based DRM,
such as OMA forward-lock content. This API asks DRM agent to retrieve
media metadata hiddein inside of DRM special container.
-New API, acquireRights()
This API wraps acquireDrmInfo() and processDrmInfo().
If DRM agent has valid implementation of both APIs,
Application can acquire DrmRights only by calling this API.
-Bug fix in event loop of OnInfoListener.
Separate OnInfo event loop from mail thread loop so as to avoid
the issue that message is not dispatched when mail thread is busy.

Changes are made by SEMC and Sony.

Change-Id: I04ee3e0988152a71e221f2256d83253749a29da0
rm/DrmManagerClient.h
rm/DrmMetadata.h
99a3f3e4e06b4370101ca97cc11dbe81d772fefa 19-Nov-2010 Wu-cheng Li <wuchengli@google.com> Improve camera documentation.

bug:3212606
Change-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce
amera/Camera.h
amera/CameraHardwareInterface.h
amera/CameraParameters.h
71d4ecb185bbe9e699aa85c65c98427a67a3fb12 19-Nov-2010 James Dong <jdong@google.com> Merge "64-bit file size/offset support for media framework"
dd4e4603efef2c3df0e26835935f74e1e0e7deb2 18-Nov-2010 Jeff Brown <jeffbrown@google.com> Merge "Added support for full PC-style keyboards."
b1262a8b1dd23abad64465f9ffd25c44facdf4d2 16-Nov-2010 James Dong <jdong@google.com> 64-bit file size/offset support for media framework

Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
edia/stagefright/AMRWriter.h
edia/stagefright/DataSource.h
edia/stagefright/FileSource.h
edia/stagefright/JPEGSource.h
edia/stagefright/MPEG4Writer.h
3d1c5a27884ef01772b187ff250daadb7678572e 18-Nov-2010 Gloria Wang <gwang@google.com> Merge "Add getUri() for streaming"
43cd12dae2bbfd128e58a836f2627907d5a92381 10-Nov-2010 Gloria Wang <gwang@google.com> Add getUri() for streaming

Change-Id: I56e15e67cc5f4d0f41c9e2985404a4d89d757e7e
edia/stagefright/DataSource.h
6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Added support for full PC-style keyboards.

BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
i/EventHub.h
i/KeyCharacterMap.h
i/KeyLayoutMap.h
i/Keyboard.h
tils/String8.h
tils/Tokenizer.h
d80661c129010f89e3b305797e1712f3d3481467 18-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 5e069074: am a15e4886: Merge "Framebuffer: Support variable number of framebuffers in the UI"

* commit '5e0690745a45f99d12d940dd4aaae814b00a429e':
Framebuffer: Support variable number of framebuffers in the UI
5e0690745a45f99d12d940dd4aaae814b00a429e 18-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am a15e4886: Merge "Framebuffer: Support variable number of framebuffers in the UI"

* commit 'a15e4886de8f75f3cb137f51743d330414c910e8':
Framebuffer: Support variable number of framebuffers in the UI
05b07fd204cc9cc340dc579db17008bf9e8161fd 17-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add new audio mode for audio communications other than telelphony."
c23dabfb20f1059f42b1fb80956ccc77c72e39e0 16-Nov-2010 Andreas Huber <andih@google.com> Remove all traces of legacy renderer support in stagefright.

Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
edia/IMediaPlayer.h
edia/IOMX.h
edia/MediaPlayerInterface.h
edia/stagefright/HardwareAPI.h
edia/stagefright/VideoRenderer.h
8f677d66d9c3ba34c97e69b2bb9e161f129af0ee 15-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Add new audio mode for audio communications other than telelphony.

The audio mode MODE_IN_CALL signals the system the device a phone
call is currently underway. There was no way for audio video
chat or VoIP applications to signal a call is underway, but not
using the telephony resources. This change introduces a new mode
to address this. Changes in other parts of the system (java
and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
state variable directly, but to use two new convenience methods,
isInCall() and isStateInCall(int) instead.

Change-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76
edia/AudioSystem.h
edia/EffectApi.h
b763fa1d7c7de7ee33ab359e3105accafe5a2fdc 15-Nov-2010 Kenny Root <kroot@google.com> Merge "Split UTF functions from String8/16"
8ec2d9add9f25198b9ea7023c7c772ae17f72ea4 11-Nov-2010 James Dong <jdong@google.com> Remove legacy PV stuff

Change-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd
edia/PVMediaRecorder.h
edia/PVMetadataRetriever.h
edia/PVPlayer.h
300ba6846949f5b21c6d93d7698dbc39716cf832 09-Nov-2010 Kenny Root <kroot@google.com> Split UTF functions from String8/16

Split out all the UTF-8/16/32 handling code from String8/16 to its own
file to allow better reuse of code.

Change-Id: If9ce63920edc75472c38da4adce0d13cda9ad2f7
tils/String16.h
tils/String8.h
tils/Unicode.h
a9d02bf6020e195acc18b16508c62f8be20dc207 13-Nov-2010 James Dong <jdong@google.com> Merge "Separate the key for audio sampling rate and video frame rate in MetaData.h"
46e75294d540fe807d78aec2582ae02cc38c7d42 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Enable touch splitting for all windows by default.

New default only applies to applications with targetSdkVersion >=
HONEYCOMB. Old applications default to no touch splitting for
their windows.

In addition, enabled split touch for various system windows.

Bug: 3049580
Change-Id: Idc8da9baa2cd8e1e4e76af8967d7b6a5ccb94427
i/InputDispatcher.h
1a22bdb01ac4068c2876fe2d02f3c4c729669a1c 09-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Add support for audio recording source in generic audio policy mgr.

Update the platform-independent audio policy manager to pass the
nature of the audio recording source to the audio policy client
interface through the AudioPolicyClientInterface::setParameters()
method.

Change-Id: I6b4fd0f8a3acea0d7d30bbad98edd1977dc012bf
edia/AudioSystem.h
aac193cf38ac084eea0f6367b98f6304d1ec38f2 11-Nov-2010 James Dong <jdong@google.com> Separate the key for audio sampling rate and video frame rate in MetaData.h

Change-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040
edia/stagefright/MetaData.h
3adf490a5aaa2e87676c8985b566fcb0dfeb74b9 09-Nov-2010 Jason Bayer <bayer@google.com> Add new keycodes initially used for GoogleTV devices.

Change-Id: I1b901037d6d401931dd3ec6f7d5e1e6ad165d1c9
i/KeycodeLabels.h
7ab17a3426d3565f72c6832bb650d1709cbf52cf 12-Nov-2010 Jamie Gennis <jgennis@google.com> Merge "Implement reducing the buffer count of a Surface."
d781089731127bd9199d47f53b170895868b8750 11-Nov-2010 James Dong <jdong@google.com> Add color format query support to QueryCodecs()

Change-Id: Ic8589649cd09392a1b969a30082b4c9c4e6cc6a7
edia/stagefright/OMXCodec.h
6c925d00e131e40811897e0ddc332d6f5bc83178 02-Nov-2010 Jamie Gennis <jgennis@google.com> Implement reducing the buffer count of a Surface.

Change-Id: I7f979c60c06d654aa8265002836277434bc1a64f
Bug: 3095167
rivate/surfaceflinger/SharedBufferStack.h
31b9375f45e19c1408f45af497286b795604c9ec 11-Nov-2010 James Dong <jdong@google.com> Fix memory leak when 0-memcpy quirk is used

o minor change to the original patch by Andreas:
call restorePatchedDataPointer() method only if kAvoidMemcopyInputRecordingFrames is turned on

Change-Id: Idf3710e6f759d37d28e866613f98d39215722cb9
edia/stagefright/OMXCodec.h
820b9e0d3b6f94fe0b524aebf756ce25df273e6a 09-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Add recording source for voice communication

Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Change-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9
edia/mediarecorder.h
b9d7e01eb8f2024ed2051e18644401d43fdb9311 09-Nov-2010 James Dong <jdong@google.com> Rotation support

- We only support 0, 90, 180, and 270 degree clockwise rotation

- Some players are known to ignore composition matrix in the MP4 file,
although this is part of the MP4 file standard.
Both QT and YT are supporting the rotation

The original patch (65a73f4e8c79d05c0d9001b660325748d4ecf37b) was not merged.
The only change I made is to reuse the same kKeyRotation in MetaData.h;
and thus do not neeed to use kKeyRotationDegree.

Change-Id: Ib328716d4842201c4adf57e4ddfe1f1ac1ae4d8a
edia/stagefright/MPEG4Writer.h
2bff83930d9575f0bd08da72385fdbfd97b9a1b8 09-Nov-2010 James Dong <jdong@google.com> Fix a build break due to the missing kKeyRotation

Change-Id: I6bf030c946abe7a95f8f7bc464e6507fb02cf39c
edia/stagefright/MetaData.h
d1959717c28766d4a7fecedd703a79e17c532da8 09-Nov-2010 James Dong <jdong@google.com> am c4a2ead2: am d2d62d04: Merge "Support extracting thumbnail from rotated video tracks" into gingerbread

* commit 'c4a2ead2aa5ab4403553e4956ba71b44782f0c84':
Support extracting thumbnail from rotated video tracks
c4a2ead2aa5ab4403553e4956ba71b44782f0c84 09-Nov-2010 James Dong <jdong@google.com> am d2d62d04: Merge "Support extracting thumbnail from rotated video tracks" into gingerbread

* commit 'd2d62d04fc387e2f51d414e101a3e8e3c45f415e':
Support extracting thumbnail from rotated video tracks
53ebc72fd83f83bb5536d5917390aae03b7f5cad 09-Nov-2010 James Dong <jdong@google.com> Support extracting thumbnail from rotated video tracks

Change-Id: Ife0a2536aaac5ff1efdf1035b9d2c892773ee16c
rivate/media/VideoFrame.h
1a542c7b8ed0be049869a12d1e01e2604d052ac2 08-Nov-2010 Joe Onorato <joeo@google.com> The CHEEK_TOUCH stuff never worked. Remove it.

Bug: 3104906
Change-Id: Ia37236ba1775fc3ec8c111e2e0b85b105e0dea6a
i/PowerManager.h
3915bb845b032dc184dba5e60970b803390ca3ed 05-Nov-2010 Jeff Brown <jeffbrown@google.com> Tell system server whether the app handled input events.

Refactored ViewRoot, NativeActivity and related classes to tell the
dispatcher whether an input event was actually handled by the application.

This will be used to move more of the global default key processing
into the system server instead of the application.

Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
ndroid_runtime/android_app_NativeActivity.h
i/InputDispatcher.h
i/InputTransport.h
2e1a8967243a88d73f3b3485b07a02aa4f8d16d9 08-Nov-2010 Andreas Huber <andih@google.com> resolved conflicts for merge of 31dc911a to gingerbread-plus-aosp

Change-Id: I2f51b2120b3c552566d91a7dc498a5e8b130205f
d8166a719e192a026bf25a82b8eb6212823950a3 06-Nov-2010 James Dong <jdong@google.com> am 1653e261: Merge "Rotation support" into gingerbread

* commit '1653e261e84922facfe27d3d8acc455ed2b6b6da':
Rotation support
31dc911aee2b50752c0eb7785176075cdaed139c 04-Nov-2010 Andreas Huber <andih@google.com> Support post-decode video rotation.

Change-Id: Ia371316e73a57e44610de86adce3eaa560afbf84
edia/IOMX.h
edia/stagefright/HardwareAPI.h
edia/stagefright/MetaData.h
65a73f4e8c79d05c0d9001b660325748d4ecf37b 17-Aug-2010 James Dong <jdong@google.com> Rotation support

- We only support 0, 90, 180, and 270 degree clockwise rotation

- Some players are known to ignore composition matrix in the MP4 file,
although this is part of the MP4 file standard.
Both QT and YT are supporting the rotation

Change-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
32af3a2f56203acc66c8051e20c99a3914d1cec9 05-Nov-2010 James Dong <jdong@google.com> Merge "Use meta data in the media recording framework"
91460d7f49e92e13e2acccdf8be10934e9e770fe 05-Nov-2010 Gloria Wang <gwang@google.com> Merge "Add support for WV DRM"
c2c22e7e20a3b10c180c2fed2bf24aedef8ed269 01-Nov-2010 Gloria Wang <gwang@google.com> Add support for WV DRM

Change-Id: I0408c5e0a488f112a84337b21b0cd4613a4da461
edia/stagefright/MediaDefs.h
05c2fd50d2030e20d6a4cacc6931e453cd2de5c4 02-Nov-2010 James Dong <jdong@google.com> Use meta data in the media recording framework

o This patch allows us to do 720p video recording

Change-Id: I2ea37e80a59630145396b08ebcdc6ee71df53333
edia/stagefright/OMXCodec.h
f0c5c1e8ce765c66d24bc9d00904fd350b99d16a 02-Nov-2010 Jamie Gennis <jgennis@google.com> Fix a MediaBuffer leak in Stagefright.

Change-Id: I548e60b07cf1676476874b156cfbc4ffefdfa2b9
edia/stagefright/OMXCodec.h
84043438cfa7f0f934cb8884315e9db2fd3c7e2c 03-Nov-2010 Rodrigo Obregon <robregon@ti.com> Framebuffer: Support variable number of framebuffers in the UI

This change defines a macro NUM_FRAME_BUFFERS to set
the desired number of framebuffers to be used by the UI,
instead of hard-coding 2 framebuffers.

Aditional logic has been added to handle the initialization
and destruction of NUM_FRAME_BUFFERS buffers.

Change-Id: I3a4bfec3e0f453432f2ffebf084c00f574d3be46
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
i/FramebufferNativeWindow.h
e3afc288ddddeda4e771be71f15b166f8aaa01e1 03-Nov-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of a8d7b747 to master

Change-Id: I8a4b72c9f9a10de8bbc285e00e2dd5cb9f498349
a3f5b615d7adc5a644cbedd55100deba562ec0ac 03-Nov-2010 James Dong <jdong@google.com> am f3847e87: Merge "DO NOT MERGE" into gingerbread

* commit 'f3847e875eb1c58094a2d159a2a6f3f0b381d77a':
DO NOT MERGE
6786fccf5a7979ca1b6fe4360ef47a9c9bbec9bb 03-Nov-2010 James Dong <jdong@google.com> DO NOT MERGE

Fix premature release of recording frames when physical address or metadata is stored in input video buffers

- bug 3158459

Change-Id: If297189d2a87fc3abfda68c29ac75b490b30a902
edia/stagefright/OMXCodec.h
b0418da0e7594a8c2164a46985c5f1993632e010 01-Nov-2010 Jeff Brown <jeffbrown@google.com> Add plumbing for volume mute key.

Full support for the volume mute key will be implemented in a
later change.

Bug: 2912307
Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
i/KeycodeLabels.h
a8d7b7477d99dd2671e6232e157da9954bf4699f 02-Nov-2010 Gloria Wang <gwang@google.com> am ef8a810b: Merge "Update of DRM framework"

* commit 'ef8a810b3b11d177a64111125eaa44bb76624414':
Update of DRM framework
21e941bf43362ddc6639a9f2d0828053360f53d7 06-Oct-2010 Praveen Bharathi <pbharathi@motorola.com> Added support for dock headset observer

Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
edia/AudioSystem.h
044ace6bde97eb71ca5a5cae12a93c5b101c55f3 30-Oct-2010 Jamie Gennis <jgennis@google.com> Stop using OMX_COLOR_FormatAndroidPrivateStart.

This removes the use (and definition) of the Android-private range of
OMX color formats from Stagefright. Instead we will just be
interpreting the video color format of an OMX port as an Android pixel
format if the port is in native buffer mode.

Change-Id: I3ea50703336a88249e7563bc7022dfedbeac506e
edia/stagefright/HardwareAPI.h
c7b3ccc564448cb4b918728421f9402bc18278c5 08-Oct-2010 Takeshi Aimi <aimitakeshi@gmail.com> Update of DRM framework

- Overload openDecryptSession() with uri parameter
in order to accept URI of DRM content,
Following API is added,
DecryptHandle*openDecryptSession(const char* uri);.
- Unify texisting three event types of processDrmInfo()
so that caller of DRM framework does not have to handle many event types.
- Let DrmManagerService call load/unload plugins API so that
client of DRM framework does not have to manage plug-in load/unload.
- Trivial fix in DrmManagerClient.java is also incorporated.

Changes are made by Sony Corporation.

Change-Id: If62b47fa0360718fdc943e6e6143671d7db26adc
rm/DrmInfoEvent.h
rm/DrmInfoStatus.h
rm/DrmManagerClient.h
b417115a7271673035d89bd3fbc7121a0d86895e 30-Oct-2010 Gloria Wang <gwang@google.com> Merge "Add support for WV plugin"
6793a04d620b3181ce78703dd26033fe8bfa344c 30-Oct-2010 Gloria Wang <gwang@google.com> Add support for WV plugin

Change-Id: I0b9d0488f123c05ad2d94315236458f479e00b78
rm/drm_framework_common.h
03034739eb90a41c930201253f5d709c232ce5a9 29-Oct-2010 Kenny Root <kroot@google.com> Merge "Add path to get different DPI drawables"
69b8d69aadbf0e795f1a1e1adc82c78cf0b9959f 29-Oct-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0d5694ba2d399dd0869532a4d6256448185a1be0
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:59:23 2010 -0700

suspend() and resume() methods on VideoView are back but don't do anything.

They need to be back because they were public before.

Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425

commit 16192891ed7d349ee97e47d1729d20a2d0d247b8
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:47:05 2010 -0700

Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming."

This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25.

Conflicts:

api/current.xml

Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5

commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:16 2010 -0700

Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093."

This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f.

commit f2ed03550887986f39d36b5dabcd9e919949c7cf
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:08 2010 -0700

Revert "Release MediaPlayer if suspend() returns false."

This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268.

commit 441ecce678bd24e9660a72c8627b5bd94433ff8b
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:40:46 2010 -0700

manually.

Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87

Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
55fc850cf992cdcb0993cb109d2f716613c0dbdd 28-Oct-2010 Kenny Root <kroot@google.com> Add path to get different DPI drawables

Allow a caller to request a different density than their current display
allows. This can mean a device displaying mdpi can get a resource that's
in hdpi and have it pretend to be in mdpi resolution. If a drawable
that's returned is not in the requested density, it will set it at the
appropriate density to be scaled up later on.

The API for this is hidden currently.

Bug: 3134688
Change-Id: I6c3908cbdef4907b8d3f1576df9e3b0e7af1755a
tils/ResourceTypes.h
88e7b31ba1447e98f65e4d2939dbf66268c75e35 28-Oct-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of df3cccf3 to master

Change-Id: I425496a9fc4e9cbc50ad6938e9dccb14827d9558
df3cccf3dc6b59ec4a45d80fb483022360e13830 28-Oct-2010 Jeff Brown <jeffbrown@google.com> am 120a4594: Drop all dispatcher state when dispatcher is disabled.
120a4594855951ed5eb185fdfc19bf98efef3ba2 28-Oct-2010 Jeff Brown <jeffbrown@google.com> Drop all dispatcher state when dispatcher is disabled.

This patch makes the dispatcher drop all of its state when it is
disabled (when the screen turns off). This ensures that the dispatcher
does not get stuck thinking a pointer is still down if the screen
turned off while the user was touching the display (such as a fat touch
while hitting the power button).

Bug: 3098344
Change-Id: If50ef5804870aa1acd3179fd4b40e3cda58dd39d
i/InputDispatcher.h
170a929648b9f5c6efbf6dcbec4f1bc73593cbde 23-Oct-2010 James Dong <jdong@google.com> Add two creation flags to OMXCodec::Create()

o This allows to force to use software codecs or hardware codecs
o If request cannot be fullfilled, Create() returns NULL.

Change-Id: I02b56a9229abb56d49703fe80ac18571d33f3748
edia/stagefright/OMXCodec.h
cbb053c3c97677c4795ca814dcc749e3d8513ed9 26-Oct-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of 965f960e to master

Change-Id: I63cec8ffb3593216da1de03428134d89e75b9338
b8791479af814d530a3810d0516ef5628958a8d0 26-Oct-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of 9084631d to gingerbread-plus-aosp

Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
d5770917a50a828cb4337c2a392b3e4a375624b9 22-Jun-2010 Gloria Wang <gwang@google.com> DRM framework support:
- add a sniffer for DRM files
- add DRMSource and DRMExtractor for es_based DRM
- add pread in FileSource.cpp for container_based DRM
- add native DRM framework API calls in the player for
DRM audio/video playback

Change-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f
edia/stagefright/DataSource.h
edia/stagefright/FileSource.h
edia/stagefright/MediaErrors.h
edia/stagefright/MediaExtractor.h
edia/stagefright/MetaData.h
d55f7e56b9761227f0a310b34d9016fde91613d6 14-Oct-2010 Wu-cheng Li <wuchengli@google.com> Mirror the camera preview if the camera is front-facing.

bug:3095272
Change-Id: Ib1c1d1edc06a33e9d4d2dcb42bc1dd2c25b1310c
amera/Camera.h
3ae4ac8538765d6cf5b8aceea8c81b21854321bd 24-Oct-2010 Jeff Brown <jeffbrown@google.com> am 2ef36763: am 860c2df4: Merge "Add unit tests for native input and fix bugs identified." into gingerbread

Merge commit '2ef36763700eff5679d6012e7f078c57f1a4c465'

* commit '2ef36763700eff5679d6012e7f078c57f1a4c465':
Add unit tests for native input and fix bugs identified.
2ef36763700eff5679d6012e7f078c57f1a4c465 24-Oct-2010 Jeff Brown <jeffbrown@google.com> am 860c2df4: Merge "Add unit tests for native input and fix bugs identified." into gingerbread

Merge commit '860c2df4132a2a0be9bcb0e91bfb7e79588c000f' into gingerbread-plus-aosp

* commit '860c2df4132a2a0be9bcb0e91bfb7e79588c000f':
Add unit tests for native input and fix bugs identified.
c3db858de9fa152480b9cf53c8c0cb793a280722 21-Oct-2010 Jeff Brown <jeffbrown@google.com> Add unit tests for native input and fix bugs identified.

Fixed a bug where we would lose the first touch point when swiping out of
the virtual key area.

Fixed a bug where we would not send an ACTION_MOVE event in cases where
individual pointers went down/up and the remaining pointers actually moved.
This is important since many applications do not handle pointer movements
during ACTION_POINTER_DOWN or ACTION_POINTER_UP. In the case of
ACTION_POINTER_UP the movement was completely lost since all pointers were
dispatched using their old location rather than the new location.

Improved motion event validation to check for duplicate pointer ids.

Added an input source constant that was missing from the NDK api but
defined in the framework api.

Added a timestamp when reporting added/removed devices in EventHub.

Bug: 3070082
Change-Id: I3206a030f43b7616e2f48006e5a9d522c4d92e56
i/InputReader.h
2351e69a13e8b9372cc4a33d28c1fd230f51faa3 22-Oct-2010 James Dong <jdong@google.com> Merge "OMX extension to support storing meta data in video input buffers during recording"
bff26d156d23e55e2428e19b3fb7f52acf03f79f 22-Oct-2010 Dianne Hackborn <hackbod@google.com> am 86f1b643: am bf5efba2: Merge "Fix issue #3117918: No way to finish a native activity" into gingerbread

Merge commit '86f1b643d10e0b5b17ae01db3b81020db87b3295'

* commit '86f1b643d10e0b5b17ae01db3b81020db87b3295':
Fix issue #3117918: No way to finish a native activity
86f1b643d10e0b5b17ae01db3b81020db87b3295 22-Oct-2010 Dianne Hackborn <hackbod@google.com> am bf5efba2: Merge "Fix issue #3117918: No way to finish a native activity" into gingerbread

Merge commit 'bf5efba238f81330f4b473e92b6931b85baa1cbc' into gingerbread-plus-aosp

* commit 'bf5efba238f81330f4b473e92b6931b85baa1cbc':
Fix issue #3117918: No way to finish a native activity
bf5efba238f81330f4b473e92b6931b85baa1cbc 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3117918: No way to finish a native activity" into gingerbread
db28a94d499f995b467b07cee5c9b9119f538b1c 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3117918: No way to finish a native activity

Change-Id: Ic53e712f7ab5412d72a31b96ecba252344b91644
ndroid_runtime/android_app_NativeActivity.h
46beb43357e32507189203db4626d0df954abe62 22-Oct-2010 Mathias Agopian <mathias@google.com> am 0c636055: Merge "Mirror the preview for front-facing cameras. do not merge" into gingerbread

Merge commit '0c636055351f2e1d26138cf7b3bf3c82553e68c4' into gingerbread-plus-aosp

* commit '0c636055351f2e1d26138cf7b3bf3c82553e68c4':
Mirror the preview for front-facing cameras. do not merge
0c636055351f2e1d26138cf7b3bf3c82553e68c4 22-Oct-2010 Mathias Agopian <mathias@google.com> Merge "Mirror the preview for front-facing cameras. do not merge" into gingerbread
387e38dd87ae9c04ef79ebe06ea798762916ff5c 21-Oct-2010 James Dong <jdong@google.com> OMX extension to support storing meta data in video input buffers during recording

bug - 3042125

Change-Id: I7543809fa4ff61d48da35eec6c2bd5eaa7e8cead
edia/IOMX.h
edia/stagefright/HardwareAPI.h
9165145342de3e62145da89cfa832a695f74a0be 21-Oct-2010 James Dong <jdong@google.com> am 8ad6335d: am fa7a87fb: Merge "File writer size estimation improvement" into gingerbread

Merge commit '8ad6335d2c22900de5b46460473495b5bcea9f99'

* commit '8ad6335d2c22900de5b46460473495b5bcea9f99':
File writer size estimation improvement
8ad6335d2c22900de5b46460473495b5bcea9f99 21-Oct-2010 James Dong <jdong@google.com> am fa7a87fb: Merge "File writer size estimation improvement" into gingerbread

Merge commit 'fa7a87fb4b3d25b0b6b0985d65848a144d28df26' into gingerbread-plus-aosp

* commit 'fa7a87fb4b3d25b0b6b0985d65848a144d28df26':
File writer size estimation improvement
cf8918874dc446f34bbc2a93a6b20235c30a7645 21-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Revert "Add length-equality test in String operator== checks."

This reverts commit e28210d401ae4ed1258b84c9b17a172a757190e8.
tils/String16.h
tils/String8.h
e28210d401ae4ed1258b84c9b17a172a757190e8 20-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Add length-equality test in String operator== checks.

Change-Id: I6ebc6ef85aac4539269f137c1f29f95b9828d4f9
tils/String16.h
tils/String8.h
58a36adac1bb3294cd9f2d516d52c6358987687a 07-Oct-2010 Jamie Gennis <jgennis@google.com> Add decode-to-ANativeWindow support to Stagefright.

This change adds support to Stagefright for doing OMX video decoding directly
into buffers dequeued from an ANativeWindow. It does this by registering the
dequeued buffers with the OMX component using an Android-specific OMX
extension, and then exchanging buffers between the OMX component and the
ANativeWindow.

Change-Id: Ida66f836503255a68d378c6903d96dfe9747ce87
edia/stagefright/MediaBuffer.h
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
b982fb4fd36a3cd24a0bb17c964139fe4c9cbb47 19-Oct-2010 Wu-cheng Li <wuchengli@google.com> Mirror the preview for front-facing cameras. do not merge

Now overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V
or FLIP_H first. The formula should be changed after overlay is fixed.

bug:3059865
Change-Id: Ie4366bf7f1fcac7383e8dfc74b1b865997bbbcc6
amera/Camera.h
5ff9980ac510a996927398a803f2bab3b71c7ebf 20-Oct-2010 James Dong <jdong@google.com> Merge "Make camera source ready for handling meta-data video buffers."
ab79d1febcb6d0bfaaf5e8bfb75f4c641c00a2fb 19-Oct-2010 James Dong <jdong@google.com> Make camera source ready for handling meta-data video buffers.

bug - 3042125

Change-Id: I877b265c6bf8e0593121c8d5a95ae5599cdc6fb9
edia/stagefright/CameraSource.h
38311859e809118f2cba3597d056abffe4eb80c0 19-Oct-2010 James Dong <jdong@google.com> Camera framework change required for 0-memcpy recording

bug - 3042125

Change-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1
amera/Camera.h
amera/ICamera.h
22b37fa6e0d7abbfa373e5fdf057fc6dcb2474ff 20-Oct-2010 James Dong <jdong@google.com> File writer size estimation improvement

o Do not count the reserved space for moov if the meta data size is small
o Do not count the extra 1KB disturbing small file estimation.
o Reduce the default minimum reserved space from 4 KB to 3 KB.
o Estimate the moov size based on both duration AND file size limit is set
and set it to the smaller estimated value.

low risk change

bug - 3111983

Change-Id: I6ac2adb979d8cc12d6b4f1813d000c989add0199
edia/stagefright/MPEG4Writer.h
d793f14fc9225d889c827957c388bb4557a609d7 19-Oct-2010 James Dong <jdong@google.com> Merge "Camera hal change for 0-memcpy in media recording framework"
b0a6db20bb2b6431720cbda9ed0ac5d2b8a6feee 19-Oct-2010 James Dong <jdong@google.com> Camera hal change for 0-memcpy in media recording framework

o document the camera hal to clarify the reviewer's questions.

bug - 3042125

Change-Id: I3edf701d084933ee8d1e3b054d222e8c9dfc42a5
amera/CameraHardwareInterface.h
b8b200d10847dd91bcff7a576e401d7d21fff696 19-Oct-2010 Jeff Brown <jeffbrown@google.com> am f2c40603: am 7689dd49: Merge "Fix bug where home presses were not poking user activity." into gingerbread

Merge commit 'f2c406030874b355ca9e4e67cc0e3aff6103c23e'

* commit 'f2c406030874b355ca9e4e67cc0e3aff6103c23e':
Fix bug where home presses were not poking user activity.
c46b2a7b591a02bb6beeb2f62c7e571588ca6aa9 19-Oct-2010 Andreas Huber <andih@google.com> am 9b2f18df: am bc96c284: Merge "For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder." into gingerbread

Merge commit '9b2f18df2436b6c2d9735e65119b92f320bb57e2'

* commit '9b2f18df2436b6c2d9735e65119b92f320bb57e2':
For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.
511ee5f89fad45bd0456b1335b745f2b8d87641b 18-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for calibrating touch position.

Useful for tweaking touch screen alignment without having to modify the
kernel device driver x/y axis bounds.

Change-Id: I6ca43d3c138548f9dfb76aa33150a0c853698fb6
i/InputReader.h
f2c406030874b355ca9e4e67cc0e3aff6103c23e 19-Oct-2010 Jeff Brown <jeffbrown@google.com> am 7689dd49: Merge "Fix bug where home presses were not poking user activity." into gingerbread

Merge commit '7689dd4928d1cc4080e43f83a523521b5ecf44e5' into gingerbread-plus-aosp

* commit '7689dd4928d1cc4080e43f83a523521b5ecf44e5':
Fix bug where home presses were not poking user activity.
e2fe69edc009a0e0348e5351cf83062224e011ac 18-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix bug where home presses were not poking user activity.

We now poke user activity twice: once upon dequeueing an event
for dispatch and then again just before we dispatch it. The second
poke is to compensate for the fact that it can take a few seconds to
identify the dispatch target (if the application is responding slowly)
but we want to keep the display from going to sleep for X amount of time
after the app gets a chance to actually receive the event. This mirrors
pre-Gingerbread behavior.

Removed some unnecessary code that filters user activity pokes when sending
events to KeyGuard. We don't need this because KeyGuard already tells the
power manager to disable user activity.

Bug: 3101397
Change-Id: I8c3a77601fdef8f584e84cfdd11aa79da0ff51db
i/InputDispatcher.h
9b2f18df2436b6c2d9735e65119b92f320bb57e2 18-Oct-2010 Andreas Huber <andih@google.com> am bc96c284: Merge "For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder." into gingerbread

Merge commit 'bc96c2848dadaa844f95e89708d9941f73bbf400' into gingerbread-plus-aosp

* commit 'bc96c2848dadaa844f95e89708d9941f73bbf400':
For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.
5a40e394f1e6b0511542e171eaf4c3e5927efc13 18-Oct-2010 Andreas Huber <andih@google.com> For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.

related-to-bug: 3106534
Change-Id: Ie28d72af2f9e93818d1840ac83aa7bc11fa57b3b
edia/stagefright/OMXCodec.h
5b9fd116f9b63e06fa431a57a1c2e4e5bc03f3fc 18-Oct-2010 Andreas Huber <andih@google.com> am 746c6a1c: am ff7a7a45: Merge "Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore." into gingerbread

Merge commit '746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4'

* commit '746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4':
Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.
c52862edcfbf4ead5f63929111e84993c2ab8c4a 16-Oct-2010 Jeff Brown <jeffbrown@google.com> am 5f0cbfce: am c1e7b218: Merge "Improve input device calibration format." into gingerbread

Merge commit '5f0cbfcecc4db20f897507c826296b3aac70c592'

* commit '5f0cbfcecc4db20f897507c826296b3aac70c592':
Improve input device calibration format.
3ee1e7b5ab852a246b45ed903a72409a19645a1b 16-Oct-2010 Jeff Brown <jeffbrown@google.com> am dc3ad87c: am 78a76fea: Merge "Revert to using epoll_wait()." into gingerbread

Merge commit 'dc3ad87c04348c925aa86863ed6d25f18a8c6c36'

* commit 'dc3ad87c04348c925aa86863ed6d25f18a8c6c36':
Revert to using epoll_wait().
596e590b472dc33a522f32a74e1f3bacb57534ab 16-Oct-2010 Mathias Agopian <mathias@google.com> am 7e9a54d4: am d4e03f37: addresses parts of 3096779 and 3097475

Merge commit '7e9a54d460030a871a4f05e61e943c6a694e9ef8'

* commit '7e9a54d460030a871a4f05e61e943c6a694e9ef8':
addresses parts of 3096779 and 3097475
6ba052b4847d85831c38c9b8e2942cef4987e55b 16-Oct-2010 Jeff Brown <jeffbrown@google.com> am c1a564b1: Merge "Add support for secure system overlays. (DO NOT MERGE)" into gingerbread

Merge commit 'c1a564b108c511c0bdd699567c245b031930e718' into gingerbread-plus-aosp

* commit 'c1a564b108c511c0bdd699567c245b031930e718':
Add support for secure system overlays. (DO NOT MERGE)
746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4 16-Oct-2010 Andreas Huber <andih@google.com> am ff7a7a45: Merge "Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore." into gingerbread

Merge commit 'ff7a7a455c15077e2b691efa370619f06058f697' into gingerbread-plus-aosp

* commit 'ff7a7a455c15077e2b691efa370619f06058f697':
Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.
3b2b354ec1ba070eae13391d004d97a3e1403050 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for secure system overlays.

Manual merge from Gingerbread.

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: Id876736fd8bf332ff9a5428bde59f5268aa49c3a
i/InputDispatcher.h
2d3f159aa9622e05a18e7f93cecd57ad673955ae 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for secure system overlays. (DO NOT MERGE)

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07
i/InputDispatcher.h
497a92cc5ba2176b8a8484b0a7da040eac0e887b 13-Sep-2010 Jeff Brown <jeffbrown@google.com> Add keycodes and meta-key modifiers to support external keyboards.

Added new key maps for external keyboards. These maps are intended to
be shared across devices by inheriting the "keyboards.mk" product
makefile as part of the device's product definition.

One of the trickier changes here was to unwind some code in
MetaKeyKeyListener that assumed that only the low 8 bits of the meta key
state were actually used. The new code abandons bitshifts in favor
of simple conditionals that are probably easier to read anyways.
The special meta key state constants used by MetaKeyKeyListener
are now (@hide) defined in KeyEvent now so as to make it clearer that they
share the same code space even if those codes are not valid for KeyEvents.

The EventHub now takes care of detecting the appropriate key layout
map and key character map when the device is added and sets system
properties accordingly. This avoids having duplicate code in
KeyCharacterMap to probe for the appropriate key character map
although the current probing mechanism has been preserved for legacy
reasons just in case.

Added support for tracking caps lock, num lock and scroll lock and
turning their corresponding LEDs on and off as needed.

The key character map format will need to be updated to correctly support
PC style external keyboard semantics related to modifier keys.
That will come in a later change so caps lock doesn't actually do
anything right now except turn the shiny LEDs on and off...

Added a list of symbolic key names to KeyEvent and improved the toString()
output for debug diagnosis. Having this list in a central place in the
framework also allows us to remove it from Monkey so there is one less
thing to maintain when we add new keycodes.

Bug: 2912307
Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
i/EventHub.h
i/Input.h
i/InputReader.h
i/KeycodeLabels.h
tils/String8.h
fcab0f5502410b975afe045354bbae31ccba68a5 15-Oct-2010 Kenny Root <kroot@google.com> am 8fda1636: am bdf8034c: Merge "OBB: use PBKDF2 for key generation." into gingerbread

Merge commit '8fda1636e3e35f060b9046294efd3c062a1fdb84'

* commit '8fda1636e3e35f060b9046294efd3c062a1fdb84':
OBB: use PBKDF2 for key generation.
6ac35f059726cf60a364c1efd783a99c901f2d9d 15-Oct-2010 Andreas Huber <andih@google.com> Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.

Change-Id: Ie2ecf9558d4ee80cb5a2bbe66ad49f2165a7b09c
related-to-bug: 3101573
edia/stagefright/openmax/OMX_Audio.h
edia/stagefright/openmax/OMX_Component.h
edia/stagefright/openmax/OMX_ContentPipe.h
edia/stagefright/openmax/OMX_Core.h
edia/stagefright/openmax/OMX_IVCommon.h
edia/stagefright/openmax/OMX_Image.h
edia/stagefright/openmax/OMX_Index.h
edia/stagefright/openmax/OMX_Other.h
edia/stagefright/openmax/OMX_Types.h
edia/stagefright/openmax/OMX_Video.h
99e3fab534d3a489726665cb8c71edecd5798b04 15-Oct-2010 Mathias Agopian <mathias@google.com> am 5bfa3a34: am 011b5bcc: Merge "implement part of [3094280] New animation for screen on and screen off add support for screen on animation" into gingerbread

Merge commit '5bfa3a34eaef759c3ec4def76f646eb1c0bf997f'

* commit '5bfa3a34eaef759c3ec4def76f646eb1c0bf997f':
implement part of [3094280] New animation for screen on and screen off
5f0cbfcecc4db20f897507c826296b3aac70c592 15-Oct-2010 Jeff Brown <jeffbrown@google.com> am c1e7b218: Merge "Improve input device calibration format." into gingerbread

Merge commit 'c1e7b2182594aa0463c4a738cc8e7eea6777ef50' into gingerbread-plus-aosp

* commit 'c1e7b2182594aa0463c4a738cc8e7eea6777ef50':
Improve input device calibration format.
c1e7b2182594aa0463c4a738cc8e7eea6777ef50 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Merge "Improve input device calibration format." into gingerbread
4a90f93781622e5cbca52b962cfe5325a29ec28e 15-Oct-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of a127c07c to master

Change-Id: Ifdfc6681cba00f36456eaf7a97f34a75b9d0c086
e449fceaa4b1e1c76d95a4255d23ac508bd75751 15-Oct-2010 Andreas Huber <andih@google.com> am 28b93967: am 165c6579: Merge "HTTP Live content that are tagged as complete are now seekable." into gingerbread

Merge commit '28b93967d0e702304c7edec854a29d5ab88bfce0'

* commit '28b93967d0e702304c7edec854a29d5ab88bfce0':
HTTP Live content that are tagged as complete are now seekable.
dc3ad87c04348c925aa86863ed6d25f18a8c6c36 15-Oct-2010 Jeff Brown <jeffbrown@google.com> am 78a76fea: Merge "Revert to using epoll_wait()." into gingerbread

Merge commit '78a76fea28b8101c1860a2f1115329e3e63abda3' into gingerbread-plus-aosp

* commit '78a76fea28b8101c1860a2f1115329e3e63abda3':
Revert to using epoll_wait().
78a76fea28b8101c1860a2f1115329e3e63abda3 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Merge "Revert to using epoll_wait()." into gingerbread
c6d282bb8223ed21666878f71c5a55013ee37805 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Improve input device calibration format.

Added support for calibrating touch size for devices that report
size as an area measurement rather than as a width.
Fixed some bugs.

Bug: 3096045
Change-Id: I30a12e73752883516ed054f8af407204bca45814
i/InputReader.h
7e9a54d460030a871a4f05e61e943c6a694e9ef8 15-Oct-2010 Mathias Agopian <mathias@google.com> am d4e03f37: addresses parts of 3096779 and 3097475

Merge commit 'd4e03f37423bee383d17f7292753a5f67e497a28' into gingerbread-plus-aosp

* commit 'd4e03f37423bee383d17f7292753a5f67e497a28':
addresses parts of 3096779 and 3097475
d4e03f37423bee383d17f7292753a5f67e497a28 14-Oct-2010 Mathias Agopian <mathias@google.com> addresses parts of 3096779 and 3097475

3097475: Animation setting should control the screen on animation
3096779: CRT power-on animation can briefly show the top app instead of lockscreen

There is now a parameter that controls wether the ON and/or OFF animation are
performed. we also always clear the screen to black on power off, to make
sure it won't briefly appear on power on.
HOWEVER, 3096779 is not 100% fixed in the case where we're doing the animation
because there is a race, where SF doesn't wait (b/c it doesn't know) for the
framework to have redrawn the lockscreen.

Change-Id: Ie0f02c9225fcdf24b1e8907e268eb7da2c5b0a03
urfaceflinger/ISurfaceComposer.h
eb86aaaab34687a77454fa130b08788db1317d74 14-Oct-2010 Joe Onorato <joeo@google.com> am 9a12a3c8: am ba799098: Merge changes I76513387,I335fb671 into gingerbread

Merge commit '9a12a3c8d4bb20042cf69e07d268e3a04ac71f96'

* commit '9a12a3c8d4bb20042cf69e07d268e3a04ac71f96':
Remove dead code, and make the animation a setting.
turn off the electron beam
8fda1636e3e35f060b9046294efd3c062a1fdb84 14-Oct-2010 Kenny Root <kroot@google.com> am bdf8034c: Merge "OBB: use PBKDF2 for key generation." into gingerbread

Merge commit 'bdf8034c657147226b2390eef113ff841e0d6065' into gingerbread-plus-aosp

* commit 'bdf8034c657147226b2390eef113ff841e0d6065':
OBB: use PBKDF2 for key generation.
bdf8034c657147226b2390eef113ff841e0d6065 14-Oct-2010 Kenny Root <kroot@google.com> Merge "OBB: use PBKDF2 for key generation." into gingerbread
3b1abba6bbc895d63da3e82e9b158c01bd12eddd 14-Oct-2010 Kenny Root <kroot@google.com> OBB: use PBKDF2 for key generation.

Switch to using PBKDF2 for the key generation for OBBs. Any previously
generated OBBs will stop being read correctly. A small pbkdf2gen program
is available to allow generation of appropriate keys with the salts.

Bug: 3059950
Change-Id: If4305c989fd692fd1150eb270dbf751e09c37295
tils/ObbFile.h
5bfa3a34eaef759c3ec4def76f646eb1c0bf997f 14-Oct-2010 Mathias Agopian <mathias@google.com> am 011b5bcc: Merge "implement part of [3094280] New animation for screen on and screen off add support for screen on animation" into gingerbread

Merge commit '011b5bcc0355338b7ff906656282a54ffaa04b5a' into gingerbread-plus-aosp

* commit '011b5bcc0355338b7ff906656282a54ffaa04b5a':
implement part of [3094280] New animation for screen on and screen off
011b5bcc0355338b7ff906656282a54ffaa04b5a 14-Oct-2010 Mathias Agopian <mathias@google.com> Merge "implement part of [3094280] New animation for screen on and screen off add support for screen on animation" into gingerbread
0a9b54e88b9cbb30748b5f0b331aec3f3ef8d639 14-Oct-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 8bb7a1df to master

Change-Id: Ieec036f494a54eab74a27b954d1423bf981dd3f9
2d2b803a92ba531cf6c4bb7042326653255b8780 13-Oct-2010 Mathias Agopian <mathias@google.com> implement part of [3094280] New animation for screen on and screen off
add support for screen on animation

Change-Id: If50cf52ae04b95b42da7d74cf7fa96d5cb54d238
urfaceflinger/ISurfaceComposer.h
a127c07c42b8961881f460eb8e6a6b722139e3b9 13-Oct-2010 Andreas Huber <andih@google.com> am 312644cd: Merge "Support for writing to MPEG2 transport stream files." into gingerbread

Merge commit '312644cdbb39522fe9cac028b15b907ce0e8e0f7' into gingerbread-plus-aosp

* commit '312644cdbb39522fe9cac028b15b907ce0e8e0f7':
Support for writing to MPEG2 transport stream files.
28b93967d0e702304c7edec854a29d5ab88bfce0 13-Oct-2010 Andreas Huber <andih@google.com> am 165c6579: Merge "HTTP Live content that are tagged as complete are now seekable." into gingerbread

Merge commit '165c6579660c22edafb61fee2a0cf39334a2a905' into gingerbread-plus-aosp

* commit '165c6579660c22edafb61fee2a0cf39334a2a905':
HTTP Live content that are tagged as complete are now seekable.
312644cdbb39522fe9cac028b15b907ce0e8e0f7 13-Oct-2010 Andreas Huber <andih@google.com> Merge "Support for writing to MPEG2 transport stream files." into gingerbread
165c6579660c22edafb61fee2a0cf39334a2a905 13-Oct-2010 Andreas Huber <andih@google.com> Merge "HTTP Live content that are tagged as complete are now seekable." into gingerbread
9adf466021d37a5062d7d3361e14bfd9e7ffeba6 12-Oct-2010 Andreas Huber <andih@google.com> Support for writing to MPEG2 transport stream files.

Change-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97
edia/mediarecorder.h
edia/stagefright/MPEG2TSWriter.h
9a12a3c8d4bb20042cf69e07d268e3a04ac71f96 12-Oct-2010 Joe Onorato <joeo@google.com> am ba799098: Merge changes I76513387,I335fb671 into gingerbread

Merge commit 'ba799098608c7be8ff1e18adfa7dc1f452205a7e' into gingerbread-plus-aosp

* commit 'ba799098608c7be8ff1e18adfa7dc1f452205a7e':
Remove dead code, and make the animation a setting.
turn off the electron beam
54d09724e3ea2af4e08dff47d7ade92a95784127 12-Oct-2010 Andreas Huber <andih@google.com> HTTP Live content that are tagged as complete are now seekable.

Change-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde
related-to-bug: 2368598
edia/stagefright/DataSource.h
aab758e87991d1460ca94d4a5f22c0ef34641e2d 11-Oct-2010 Mathias Agopian <mathias@google.com> turn off the electron beam

Change-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6
urfaceflinger/ISurfaceComposer.h
d10cd5765a2b706fc174f16b951d6b0a5d3740d3 10-Oct-2010 Romain Guy <romainguy@google.com> Always create OpenGL accelerated windows in RGBA 8888.

Bug #3081600

The OpenGL renderer in libhwui uses a single EGL context per process and
thus create it with an RGBA 8888 EGL configuration. To ensure that all
windows are compatible with this configuration, this change modifies
the window manager and SurfaceFlinger.

The window manager now checks the window's flags and if the window is
hardware accelerated, it forces the window's pixel format to be
translucent when creating the surface. The window itself is still
marked as opaque if we know that the window will be opaque on screen.
This keeps existing optimizations in place.

Similarly in SurfaceFlinger, a translucent Surface can now be created
with the Surface.OPAQUE flag, indicating SurfaceFlinger that the surface
does not require blending, despite its RGBA 8888 configuration.

Change-Id: Ic747b6b12564ba064412d842117880fcc199eb7c
urfaceflinger/ISurfaceComposer.h
9c9f1a3ba1bc19754e4d38cb27a537d4dfedc0fe 12-Oct-2010 Jeff Brown <jeffbrown@google.com> Track input state when transferring touch focus.

Copies the input state to the destination window and sends synthesic
cancelation events to the source window.

Change-Id: Ia75820b0d756ed5d6cd22dce7830251ac85141ed
i/InputDispatcher.h
e20c9e0264190f94324197a8271cf03811a4ca58 11-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix an event injection bug when the policy is bypassed.

Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Cherry pick of b931a1b4 from gingerbread into master.

Change-Id: I700a5f07b8b227878cea9437a289a45a245c0424
i/Input.h
i/InputDispatcher.h
dd8b0c90400a1c59d4d71d768c02eed961596bc8 12-Oct-2010 Jeff Brown <jeffbrown@google.com> am 41aabeb5: am 1e6a3a53: Merge "Added more robust tracking and cancelation of events." into gingerbread

Merge commit '41aabeb51305d19747687f246080f44fc2a74435'

* commit '41aabeb51305d19747687f246080f44fc2a74435':
Added more robust tracking and cancelation of events.
8bb7a1dfbb43dda49fb3c4f86181bcd7f969a832 12-Oct-2010 Kenny Root <kroot@google.com> am b4de3dca: Merge "OBB: rearrange to be entirely asynchronous" into gingerbread

Merge commit 'b4de3dca96b9ff18562062e181dcd8b83e641e45' into gingerbread-plus-aosp

* commit 'b4de3dca96b9ff18562062e181dcd8b83e641e45':
OBB: rearrange to be entirely asynchronous
f2e0681ada3ffe1de994a51dcebd6ef045d27434 12-Oct-2010 Jeff Brown <jeffbrown@google.com> am 1da8d4d1: Merge "Fix an event injection bug when the policy is bypassed." into gingerbread

Merge commit '1da8d4d1697cec871dea8c30dad67e90db10bde6' into gingerbread-plus-aosp

* commit '1da8d4d1697cec871dea8c30dad67e90db10bde6':
Fix an event injection bug when the policy is bypassed.
b4de3dca96b9ff18562062e181dcd8b83e641e45 12-Oct-2010 Kenny Root <kroot@google.com> Merge "OBB: rearrange to be entirely asynchronous" into gingerbread
af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c 08-Oct-2010 Kenny Root <kroot@google.com> OBB: rearrange to be entirely asynchronous

Rearrange structure of MountService handling of OBBs to be entirely
asynchronous so we don't rely on locking as much. We still need the
locking to support dumpsys which has been improved to output all the
data structures for OBBs.

Added more tests to cover more of the error return codes.

Oh and fix a logic inversion bug.

Change-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9
torage/IMountService.h
torage/IObbActionListener.h
b931a1b4183386ba840edc1bcc507eccf11b5cbe 11-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix an event injection bug when the policy is bypassed.

Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Change-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970
i/Input.h
i/InputDispatcher.h
37de60c179449a706ea41fea8384063723b0cb63 11-Oct-2010 Andreas Huber <andih@google.com> am 2b4f1f4c: am f72dd019: Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread

Merge commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7'

* commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7':
Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.
329430a54e152ad1f5e0003194728988661788bb 11-Oct-2010 Eric Laurent <elaurent@google.com> am 4f21e517: am b37fcbfd: Merge "Added getter for session Id to AudioSink" into gingerbread

Merge commit '4f21e517d09b9d793d20d64547df330fba705b3c'

* commit '4f21e517d09b9d793d20d64547df330fba705b3c':
Added getter for session Id to AudioSink
41aabeb51305d19747687f246080f44fc2a74435 10-Oct-2010 Jeff Brown <jeffbrown@google.com> am 1e6a3a53: Merge "Added more robust tracking and cancelation of events." into gingerbread

Merge commit '1e6a3a53fc4d56e3a0f86c8721dedfd46e738a32' into gingerbread-plus-aosp

* commit '1e6a3a53fc4d56e3a0f86c8721dedfd46e738a32':
Added more robust tracking and cancelation of events.
b699726018a0049665d8ad6b90dbc5af0e18f135 09-Oct-2010 Jeff Brown <jeffbrown@google.com> Added more robust tracking and cancelation of events.

This change fixes several issues where events would be dropped in the
input dispatch pipeline in such a way that the dispatcher could not
accurately track the state of the input device.

Given more robust tracking, we can now also provide robust cancelation
of input events in cases where an application might otherwise become
out of sync with the event stream due to ANR, app switch, policy decisions,
or forced focus transitions.

Pruned some of the input dispatcher log output.

Moved the responsibility for calling intercept*BeforeQueueing into
the input dispatcher instead of the input reader and added support for
early interception of injected events for events coming from trusted
sources. This enables behaviors like injection of media keys while
the screen is off, haptic feedback of injected virtual keys, so injected
events become more "first class" in a way.

Change-Id: Iec6ff1dd21e5f3c7feb80ea4feb5382bd090dbd9
i/Input.h
i/InputDispatcher.h
i/InputReader.h
584ad9af405e891aebaf3f29b150a91c7d5bc4f1 10-Oct-2010 Jamie Gennis <jgennis@google.com> Merge "Move binder magic from the Surface class to GraphicBuffer."
1ef773ff9caf9c1b9ee32b634f1c80e9a065aa6a 07-Oct-2010 Jamie Gennis <jgennis@google.com> Move binder magic from the Surface class to GraphicBuffer.

- Register buffers with Gralloc when unflattening a GraphicBuffer (rather than
doing it in the Surface class).
- Add support for a GraphicBuffer that wraps an android_native_window_t*.

Change-Id: I029ac086111bbac800e5ca37eb505f558b718cd8
i/GraphicBuffer.h
d5da367024c36b317b101fc066a7a4cf992c7d58 10-Oct-2010 Jeff Brown <jeffbrown@google.com> am 22cb4ef8: am d577cfd7: Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread

Merge commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5'

* commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5':
Switch Looper back to using poll() instead of epoll().
bcf74accafcdac6c7a940ce28982fc0ef08e111b 10-Oct-2010 Gloria Wang <gwang@google.com> am 9580b8ce: resolved conflicts for merge of e6ad0e47 to gingerbread-plus-aosp

Merge commit '9580b8ce6553ddde03db594fd4fd4f59ca61c382'

* commit '9580b8ce6553ddde03db594fd4fd4f59ca61c382':
Update of DRM framework.
06dfa35e3c5f379b14d2acbc584c8d8cb2e822c7 10-Oct-2010 Andreas Huber <andih@google.com> am bb708373: am 949f7d90: Merge "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder." into gingerbread

Merge commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43'

* commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43':
Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.
72662b1abe7e76f5d880ffc44c561b3af63f89ad 10-Oct-2010 Andreas Huber <andih@google.com> am 45bd1159: am 02654f01: Merge "On this particular device the hardware video decoder spits out buffers that don\'t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume." into gingerbread

Merge commit '45bd1159fa34b51ba077e0cde760d171ca092552'

* commit '45bd1159fa34b51ba077e0cde760d171ca092552':
On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.
997eaa2c7c6f7c59d145dab3e93431ea2e2a7dc7 09-Oct-2010 James Dong <jdong@google.com> 0-memcpy video recording framework

Part III: Move startRecording() call earlier, asking camera hal
to allocate video buffers before CameraSource.start() is called.

Change-Id: I3f1d7d5636ca2644fe52af61f297d48c6b1ce89d
edia/stagefright/CameraSource.h
0c128b67f066b2e691348d5375c2da47b84f69ac 08-Oct-2010 James Dong <jdong@google.com> Move Camera specific logic out from StagefrightRecorder to CameraSource

o updated comments and streamlined the logic in
checkVideoSize() and checkFrameRate() as suggested

Change-Id: I49d04ac7998d4a215997aa63555dfb6e814e38d3
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7 08-Oct-2010 Andreas Huber <andih@google.com> am f72dd019: Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread

Merge commit 'f72dd0190ee64914161d361be1213eda8cab7b90' into gingerbread-plus-aosp

* commit 'f72dd0190ee64914161d361be1213eda8cab7b90':
Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.
f72dd0190ee64914161d361be1213eda8cab7b90 08-Oct-2010 Andreas Huber <andih@google.com> Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread
10b9b3f3fe47cea0833fe2c7d5ed08a1185f9006 08-Oct-2010 Andreas Huber <andih@google.com> Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.

Change-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2
related-to-bug: 3073955
edia/Metadata.h
edia/stagefright/MediaExtractor.h
4f21e517d09b9d793d20d64547df330fba705b3c 08-Oct-2010 Eric Laurent <elaurent@google.com> am b37fcbfd: Merge "Added getter for session Id to AudioSink" into gingerbread

Merge commit 'b37fcbfd7f9d65b90b43e0242903030c5a6517b5' into gingerbread-plus-aosp

* commit 'b37fcbfd7f9d65b90b43e0242903030c5a6517b5':
Added getter for session Id to AudioSink
b3bdf3f0086f1d921720f6dc92cabc7b6f2ab63e 08-Oct-2010 Eric Laurent <elaurent@google.com> Added getter for session Id to AudioSink

Added a method to expose the audio session id at AudioSink interface
so that the AudioPlayer in stagefright can retrieve it.

Also:
- Fixed audio effect send level not being initialized in mediaplayer.
- Fixed compilation error when LOGV is enabled in mediaplayer JNI

Change-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb
edia/MediaPlayerInterface.h
a97e50f20d39d2abf0fab77090dd82bdef4bce7a 08-Oct-2010 Jeff Brown <jeffbrown@google.com> Revert to using epoll_wait().

This change depends on the kernel having been patched to use hrtimers
instead of jiffies for scheduling epoll timeouts.

Change-Id: I216bc1c4f565e67ebcb3d2ba4280cb615932bb9e
tils/Looper.h
22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5 08-Oct-2010 Jeff Brown <jeffbrown@google.com> am d577cfd7: Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread

Merge commit 'd577cfd73a223279f9a5af698f55edd38a3fe4db' into gingerbread-plus-aosp

* commit 'd577cfd73a223279f9a5af698f55edd38a3fe4db':
Switch Looper back to using poll() instead of epoll().
9580b8ce6553ddde03db594fd4fd4f59ca61c382 08-Oct-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of e6ad0e47 to gingerbread-plus-aosp

Change-Id: I63b00932b0f8b975da31aa9a010369db2d49fd76
bb70837397e3fb437b7b4443b37d7a83c11e6e43 07-Oct-2010 Andreas Huber <andih@google.com> am 949f7d90: Merge "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder." into gingerbread

Merge commit '949f7d9066e09768e570686a5695aaba4a1dafd0' into gingerbread-plus-aosp

* commit '949f7d9066e09768e570686a5695aaba4a1dafd0':
Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.
45bd1159fa34b51ba077e0cde760d171ca092552 07-Oct-2010 Andreas Huber <andih@google.com> am 02654f01: Merge "On this particular device the hardware video decoder spits out buffers that don\'t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume." into gingerbread

Merge commit '02654f01bc6bd2e581b4a1d2409ecea217294fa2' into gingerbread-plus-aosp

* commit '02654f01bc6bd2e581b4a1d2409ecea217294fa2':
On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.
d577cfd73a223279f9a5af698f55edd38a3fe4db 07-Oct-2010 Jeff Brown <jeffbrown@google.com> Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread
415d8c38199e258dfce92cdb0c69e056b3b51ef8 06-Oct-2010 Jeff Brown <jeffbrown@google.com> Switch Looper back to using poll() instead of epoll().

Added a couple of micro-optimizations to avoid calling wake() unnecessarily
and reduce JNI overhead slightly.

Fixed a minor issue where we were not clearing the "next" field of Messages
returned by the MessageQueue so the Message would hold on to its successor
and potentially prevent the GC from collecting it if the message were leaked
somehow.

Change-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c
tils/Looper.h
a458719bb6ebbcce99d4dba43af4bd51c5a06216 07-Oct-2010 Andreas Huber <andih@google.com> am 56ee1080: am 17bc4f65: Merge "Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out." into gingerbread

Merge commit '56ee1080f004110bff622e5b60c243d9cabfe120'

* commit '56ee1080f004110bff622e5b60c243d9cabfe120':
Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.
928b5bfa7db23cddc93624a6ff31ff208e8b24bf 07-Oct-2010 Jeff Brown <jeffbrown@google.com> am 56364bcd: am 78d15acf: Merge "Make secure views tolerate IME overlays." into gingerbread

Merge commit '56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7'

* commit '56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7':
Make secure views tolerate IME overlays.
4c19bf9833f59f58a9aaea566f0eb98a7fb7e2ea 08-Sep-2010 Andreas Huber <andih@google.com> Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.

Change-Id: I7150e5e7342e1117c524856b204aadcb763e06ed
related-to-bug: 2368598
edia/stagefright/MediaErrors.h
edia/stagefright/OMXCodec.h
1e1941638398e5e3e1d7b9ad88e66f574576bcfa 07-Oct-2010 Andreas Huber <andih@google.com> On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.

Change-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c
related-to-bug: 3070094
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
cf2bdd1fd88d7d10c6309fac5a44d5b44b9b12e4 07-Oct-2010 James Dong <jdong@google.com> Merge "0-memcpy video recording framework"
769bb2aaa400f9d5ece1b145a9aac2c544015f35 07-Oct-2010 James Dong <jdong@google.com> 0-memcpy video recording framework

Part II: proposed camera hal change

Change-Id: I51663cf5de2b00f71e4ff1828080094676065444
amera/CameraHardwareInterface.h
499f518400d54f2f14753a674edd95c5bb11acfd 07-Oct-2010 Mathias Agopian <mathias@google.com> am ff04e97f: am f4619308: Merge "fix [2835280] Add support for cancelling buffers to ANativeWindow" into gingerbread

Merge commit 'ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb'

* commit 'ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb':
fix [2835280] Add support for cancelling buffers to ANativeWindow
8c4a042984ce9132810f6e79da732ea89e467d6f 07-Oct-2010 James Dong <jdong@google.com> am a86a6c4e: am 6f1c7bda: Merge "Fixed an issue where the reserved free space in the file writer was larger than intended" into gingerbread

Merge commit 'a86a6c4e326bfdfc351dacca95b23bb78f78efbe'

* commit 'a86a6c4e326bfdfc351dacca95b23bb78f78efbe':
Fixed an issue where the reserved free space in the file writer was larger than intended
4f65ea60555ef01e6ca0cd64acc0ef698640c853 06-Oct-2010 Kenny Root <kroot@google.com> am bfa33b94: am f84a5918: Merge "Use pread() in ZipFileRO for Linux" into gingerbread

Merge commit 'bfa33b9484e2c0a019ab81f30261b9696df23a9b'

* commit 'bfa33b9484e2c0a019ab81f30261b9696df23a9b':
Use pread() in ZipFileRO for Linux
56ee1080f004110bff622e5b60c243d9cabfe120 05-Oct-2010 Andreas Huber <andih@google.com> am 17bc4f65: Merge "Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out." into gingerbread

Merge commit '17bc4f65324a823598e7671256c815bf32ddcc95' into gingerbread-plus-aosp

* commit '17bc4f65324a823598e7671256c815bf32ddcc95':
Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.
c743f4506f88a14189449c719a6ec1cfe5f0f812 05-Oct-2010 Andreas Huber <andih@google.com> Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.

Change-Id: Id574a0203efcb5e565f1b0fe77869fc33b9a9d56
edia/stagefright/AudioPlayer.h
56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7 05-Oct-2010 Jeff Brown <jeffbrown@google.com> am 78d15acf: Merge "Make secure views tolerate IME overlays." into gingerbread

Merge commit '78d15acfb20269ce263ce19514a2c0e7a98409e2' into gingerbread-plus-aosp

* commit '78d15acfb20269ce263ce19514a2c0e7a98409e2':
Make secure views tolerate IME overlays.
19dfc83c376d8f5ff3b128ee4c675790cffbc02d 05-Oct-2010 Jeff Brown <jeffbrown@google.com> Make secure views tolerate IME overlays.

Change-Id: I3cf09b9d91045f4d9c558b4aace482a7b0bbd3d8
i/InputDispatcher.h
ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb 05-Oct-2010 Mathias Agopian <mathias@google.com> am f4619308: Merge "fix [2835280] Add support for cancelling buffers to ANativeWindow" into gingerbread

Merge commit 'f461930872beb4362998642c115691bdd2e94617' into gingerbread-plus-aosp

* commit 'f461930872beb4362998642c115691bdd2e94617':
fix [2835280] Add support for cancelling buffers to ANativeWindow
8ddd2c72ee7dd6f45e5375a197774b8671b982b7 02-Oct-2010 Mathias Agopian <mathias@google.com> fix [2835280] Add support for cancelling buffers to ANativeWindow

There is a new ANativeWindow::cancelBuffer() API that can be used to
cancel any dequeued buffer, BEFORE it's been enqueued. The buffer is
returned to the list of availlable buffers. dequeue and cancel are not
mutually thread safe, they must be called from the same thread or
external synchronization must be used.

Change-Id: I86cc7985bace8b6a93ad2c75d2bef5c3c2cb4d61
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/Surface.h
i/egl/android_natives.h
bba3b8efbe7dc9dd6fa326103ef7ddefc28d5ba5 05-Oct-2010 Mathias Agopian <mathias@google.com> am 19058877: Merge "refactored screenshot code" into gingerbread

Merge commit '19058877df9bf94f197a72855f810f7f6bf8d068' into gingerbread-plus-aosp

* commit '19058877df9bf94f197a72855f810f7f6bf8d068':
refactored screenshot code
19058877df9bf94f197a72855f810f7f6bf8d068 05-Oct-2010 Mathias Agopian <mathias@google.com> Merge "refactored screenshot code" into gingerbread
a86a6c4e326bfdfc351dacca95b23bb78f78efbe 05-Oct-2010 James Dong <jdong@google.com> am 6f1c7bda: Merge "Fixed an issue where the reserved free space in the file writer was larger than intended" into gingerbread

Merge commit '6f1c7bda39774fe3a1febf72b03c8ad481c1ea54' into gingerbread-plus-aosp

* commit '6f1c7bda39774fe3a1febf72b03c8ad481c1ea54':
Fixed an issue where the reserved free space in the file writer was larger than intended
6f1c7bda39774fe3a1febf72b03c8ad481c1ea54 05-Oct-2010 James Dong <jdong@google.com> Merge "Fixed an issue where the reserved free space in the file writer was larger than intended" into gingerbread
597c7f67b5f2491c6098a1de241a3f0fd274688a 29-Sep-2010 Mathias Agopian <mathias@google.com> refactored screenshot code

the core screenshot function now can capture the screen at any lower resolution
performing bilinear filtering.

we also now have some client code to interface with the screenshot service.

it's now possible to request a screenshot at a lower resolution.

Change-Id: I33689bba98507ab928d0898b21596d0d2fe4b953
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
bfa33b9484e2c0a019ab81f30261b9696df23a9b 05-Oct-2010 Kenny Root <kroot@google.com> am f84a5918: Merge "Use pread() in ZipFileRO for Linux" into gingerbread

Merge commit 'f84a5918f5e0572c0280fa705970ef7459b45393' into gingerbread-plus-aosp

* commit 'f84a5918f5e0572c0280fa705970ef7459b45393':
Use pread() in ZipFileRO for Linux
6a9e39ac55b32a2847546ef1784c2d6c91863a55 05-Oct-2010 James Dong <jdong@google.com> Fixed an issue where the reserved free space in the file writer was larger than intended

The problem was that even though user does not explicitly request the max file size
limit via MediaRecorder.setMaxFileSize(), the file writer sets an implicit file
size limit if 32-bit file offset is used on user's behalf. The reserved free space
is estimated based on the file size, if the file size limit is set by the user.

The fix is to add an extra bool to tell the difference between an
explit requested file size and an implicit file limit and use that
to set the estimated moov box size accordingly.

Change-Id: I731aca6c7833aa764ed7b905edb77721577471b3
edia/stagefright/MPEG4Writer.h