• 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
259ec46e8e80a9f1d0b5c7a3865a498110a7f11b 04-Oct-2010 Kenny Root <kroot@google.com> Use pread() in ZipFileRO for Linux

AssetManager instances are created by zygote and passed to all its
children so that they don't have to individually open
frameworks-res.apk. This creates a problem for determining the current
file offset when using lseek() on those files, because you can't
guarantee the cross-process locking of a mutex. Luckily, Linux
implements pread() to get around this suckiness.

The problem is that only Linux implements this, so we have to keep the
old locking for use on host builds with aapt and friends. aapt doesn't
have this same problem of sharing file descriptors across forked
processes, so we can keep the local AutoMutex to protect accesses of
those files.

Change-Id: Ibe9f11499a53fe345f50fbaea438815ec0fd363e
tils/ZipFileRO.h
6d95c0d941fa0d9ea50b74e60baf82956a4d4452 04-Oct-2010 Kenny Root <kroot@google.com> am ac754073: am b58b2714: Merge "ZipFileRO: moar logging and wrap close" into gingerbread

Merge commit 'ac7540733cafcca5bdb1842e1ebcb396ba064583'

* commit 'ac7540733cafcca5bdb1842e1ebcb396ba064583':
ZipFileRO: moar logging and wrap close
ac7540733cafcca5bdb1842e1ebcb396ba064583 04-Oct-2010 Kenny Root <kroot@google.com> am b58b2714: Merge "ZipFileRO: moar logging and wrap close" into gingerbread

Merge commit 'b58b27142a936aa76897a7040c08b8a0989a685b' into gingerbread-plus-aosp

* commit 'b58b27142a936aa76897a7040c08b8a0989a685b':
ZipFileRO: moar logging and wrap close
b58b27142a936aa76897a7040c08b8a0989a685b 04-Oct-2010 Kenny Root <kroot@google.com> Merge "ZipFileRO: moar logging and wrap close" into gingerbread
dc549d60f98d809f626c99de614960409a847054 20-Sep-2010 Takeshi Aimi <aimitakeshi@gmail.com> Update of DRM framework.

- Change "void" type of return value to "int" for returning status.
- Add some of overloaded Java APIs which accept database Uri as input.
- Add asynchronous APIs
- Add OnEventListener and OnErrorListener for asynchronous APIs
- Disable debug log
- Change decrypt() API to accept an optional buffer needed by some of DRM schemes

Changes are incorporated by Sony Corporation.

Change-Id: I414a165e22cc79be6ea7cd28041788aa2b6b8f7c
rm/DrmInfoEvent.h
rm/DrmManagerClient.h
rm/DrmRights.h
rm/drm_framework_common.h
4fd446f7b7e55dec61f15bcba8f9984af49b9c31 30-Sep-2010 James Dong <jdong@google.com> Video size retrieval/configuration support in camera hal

This is the first part of the camera hal change required for
0-memcpy of input video frames for video recording.

o removed check in setVideoSize()/getVideoSize() for impl consistency

Change-Id: I01274a62b9f9eaf32154d98f8d0bfedacf645698
amera/CameraParameters.h
a4d45cda697dbd8fa164766b87163d1b0469bd81 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am ea58d1ba: am e951ef07: Merge "Wait for initial device scan to finish before updating config." into gingerbread

Merge commit 'ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1'

* commit 'ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1':
Wait for initial device scan to finish before updating config.
0f5f2e4c27612e2cda231473aec0c06838ff3750 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am e11b76d3: am f6295b35: Merge "Minor logging changes to input dispatcher to help with debugging." into gingerbread

Merge commit 'e11b76d3efb056edea301d53a354d0730adf3520'

* commit 'e11b76d3efb056edea301d53a354d0730adf3520':
Minor logging changes to input dispatcher to help with debugging.
ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am e951ef07: Merge "Wait for initial device scan to finish before updating config." into gingerbread

Merge commit 'e951ef07dd8cb36ec0e127e80f5d558b8a2d6125' into gingerbread-plus-aosp

* commit 'e951ef07dd8cb36ec0e127e80f5d558b8a2d6125':
Wait for initial device scan to finish before updating config.
e11b76d3efb056edea301d53a354d0730adf3520 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am f6295b35: Merge "Minor logging changes to input dispatcher to help with debugging." into gingerbread

Merge commit 'f6295b35db7a7c40d4fb1c981e231bebcf13e2ba' into gingerbread-plus-aosp

* commit 'f6295b35db7a7c40d4fb1c981e231bebcf13e2ba':
Minor logging changes to input dispatcher to help with debugging.
7342bb9693f480f6c713b4a4f82a9ad9131cd667 02-Oct-2010 Jeff Brown <jeffbrown@google.com> Wait for initial device scan to finish before updating config.

This change narrows the opportunity for a race condition setting the
resource Configuration while devices are being updated.

Change-Id: I58efa563f4129ab0fce7108511d16a99dff7e451
i/EventHub.h
i/InputReader.h
6cb241f9024c6923715cf4e9eeaf803a7d258750 02-Oct-2010 Kenny Root <kroot@google.com> ZipFileRO: moar logging and wrap close

There is apparently still a race upon reading the entry Local File
Header that can't be tracked down, so move the LFH check inside the
mutex-protected block so we can call lseek again to see where we are
when we log an error.

Also, close() can fail so use TEMP_FAILURE_RETRY on it so we don't
unwittingly leak file descriptors when Mean Mr. EINTR comes a-knocking.

Change-Id: I753abad0bd882fe28f7281c406fa76f64393ef4c
tils/ZipFileRO.h
f2f487183052865d50c004a835360be1728b5a52 02-Oct-2010 Jeff Brown <jeffbrown@google.com> Minor logging changes to input dispatcher to help with debugging.

Added dumpsys reporting to EventHub.
Made the formatting a bit clearer.
Added 'Locked' suffix to some internal methods of EventHub.

Change-Id: Ic449560bcce378f6361895d27c66854e9724abb0
i/EventHub.h
efb8a3d6e058c8bc90bb9da6c58dde453f359851 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am 57fa3e8b: am 9e32a438: Merge "Support haptic feedback for virtual keys defined in key layout." into gingerbread

Merge commit '57fa3e8b4c94125ddb5be015dd7fbde4a458894f'

* commit '57fa3e8b4c94125ddb5be015dd7fbde4a458894f':
Support haptic feedback for virtual keys defined in key layout.
57fa3e8b4c94125ddb5be015dd7fbde4a458894f 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am 9e32a438: Merge "Support haptic feedback for virtual keys defined in key layout." into gingerbread

Merge commit '9e32a438fd87180692da55197972ecddb1a731d9' into gingerbread-plus-aosp

* commit '9e32a438fd87180692da55197972ecddb1a731d9':
Support haptic feedback for virtual keys defined in key layout.
0eaf3931a31c29f3a3883aab426b595c231c2a58 01-Oct-2010 Jeff Brown <jeffbrown@google.com> Support haptic feedback for virtual keys defined in key layout.

Change-Id: I83e4108a87332692e03791dc066206becbc7941f
i/Input.h
i/InputReader.h
i/KeycodeLabels.h
2a471bb690c20533ccf20246be968f77c867c467 01-Oct-2010 Mathias Agopian <mathias@google.com> Merge "refactored screenshot code"
785c416ecf627a550c15f33800fe3091482b181a 01-Oct-2010 Eric Laurent <elaurent@google.com> am de12c3cf: am 220ab887: Merge "Issue 3032913: improve AudioTrack recovery time" into gingerbread

Merge commit 'de12c3cf56e3f27b2efc60eeae8b5e422747f2b9'

* commit 'de12c3cf56e3f27b2efc60eeae8b5e422747f2b9':
Issue 3032913: improve AudioTrack recovery time
52a4ac3f5ede7e781c97d787297d9e644dfef958 01-Oct-2010 Jeff Brown <jeffbrown@google.com> am 5d3cef8a: am e0c12c88: Merge "Move verbose logging of device capabilities to dumpsys." into gingerbread

Merge commit '5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe'

* commit '5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe':
Move verbose logging of device capabilities to dumpsys.
de12c3cf56e3f27b2efc60eeae8b5e422747f2b9 01-Oct-2010 Eric Laurent <elaurent@google.com> am 220ab887: Merge "Issue 3032913: improve AudioTrack recovery time" into gingerbread

Merge commit '220ab8877b234e6807b7f6d9028ba55d23220301' into gingerbread-plus-aosp

* commit '220ab8877b234e6807b7f6d9028ba55d23220301':
Issue 3032913: improve AudioTrack recovery time
4712baab81d0b683bc22668d2278c9daff92797e 01-Oct-2010 Eric Laurent <elaurent@google.com> Issue 3032913: improve AudioTrack recovery time

This issue showed that when an AudioTrack underruns during a too long period
of time and is therefore disabled by audioflinger mixer, it takes an additional
delay of up to 3 seconds to recover.
This fix adds a simple mechanism to recover immediately when the client application
is ready to write data again in the AudioTrack buffer

Also throttle warnings on record overflows

Change-Id: I8b2c71578dd134b9e60a15ee4d91b70f3799cb3d
rivate/media/AudioTrackShared.h
5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe 01-Oct-2010 Jeff Brown <jeffbrown@google.com> am e0c12c88: Merge "Move verbose logging of device capabilities to dumpsys." into gingerbread

Merge commit 'e0c12c8803a7e2457098afc5dbf00e501d725fa0' into gingerbread-plus-aosp

* commit 'e0c12c8803a7e2457098afc5dbf00e501d725fa0':
Move verbose logging of device capabilities to dumpsys.
ef3d7e861154c1ce1b8f86292138fc36c30232a3 30-Sep-2010 Jeff Brown <jeffbrown@google.com> Move verbose logging of device capabilities to dumpsys.

Change-Id: I5d55eaebfdf049bd1ac1e7bab2758886cfefc9d7
i/InputReader.h
38ed2e39c54a42dda8f00620f960788f569a3698 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: I5a3b0e431421800e3aad601d9af8f94adffbc71f
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
bff405f91001237ec94ec64f86fa2370c4509559 29-Sep-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of d8e8186c to master

Change-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5
d8e8186c887fe47977721315f439465771a96374 29-Sep-2010 Kenny Root <kroot@google.com> am 05105f7a: Update OBB API to include callbacks

Merge commit '05105f7abe02b2dff91d6260b3628c8b97816bab' into gingerbread-plus-aosp

* commit '05105f7abe02b2dff91d6260b3628c8b97816bab':
Update OBB API to include callbacks
05105f7abe02b2dff91d6260b3628c8b97816bab 23-Sep-2010 Kenny Root <kroot@google.com> Update OBB API to include callbacks

Add a callback for users of the StorageManager API to be able to receive
notifications when the requested operation completes for mountObb and
unmountObb.

Add NDK API to get to ObbInfo like the Java API has.

Also update the docs for the API and remove the "STOPSHIP" comments.

Change-Id: I23a4409c7f8b74d3169614beba920b4d667990a4
torage/IMountService.h
ce635b55043dbc498ab1ef712b226922818cfe53 28-Sep-2010 Andreas Huber <andih@google.com> am d6c30e8c: am be045061: Merge "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens." into gingerbread

Merge commit 'd6c30e8c1521bc584f33500b8ee897dafdfec023'

* commit 'd6c30e8c1521bc584f33500b8ee897dafdfec023':
Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.
3bf613b2687d0cce13ce70a7a6650832f9656cfd 28-Sep-2010 Andreas Huber <andih@google.com> am c889bbfa: am 4769f579: Merge "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files." into gingerbread

Merge commit 'c889bbfa965f4ba90636f561c5e1353289d4cb06'

* commit 'c889bbfa965f4ba90636f561c5e1353289d4cb06':
Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.
1a3038586a3a46d0cdc487fea40ba4f7712d677d 28-Sep-2010 Andreas Huber <andih@google.com> am 9d591860: am 3a9cc8ce: Merge "Squashed commit of the following:" into gingerbread

Merge commit '9d59186068891834272c2e3ee6f9c4228af24656'

* commit '9d59186068891834272c2e3ee6f9c4228af24656':
Squashed commit of the following:
d6c30e8c1521bc584f33500b8ee897dafdfec023 28-Sep-2010 Andreas Huber <andih@google.com> am be045061: Merge "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens." into gingerbread

Merge commit 'be0450619528e65eebfa1d7eab78fde757d094cc' into gingerbread-plus-aosp

* commit 'be0450619528e65eebfa1d7eab78fde757d094cc':
Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.
be0450619528e65eebfa1d7eab78fde757d094cc 28-Sep-2010 Andreas Huber <andih@google.com> Merge "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens." into gingerbread
2b359ed5b5ba4775609c13408b2cf1336c2cc45b 28-Sep-2010 Andreas Huber <andih@google.com> Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.

Change-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d
related-to-bug: 3036592
edia/stagefright/AudioPlayer.h
c889bbfa965f4ba90636f561c5e1353289d4cb06 28-Sep-2010 Andreas Huber <andih@google.com> am 4769f579: Merge "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files." into gingerbread

Merge commit '4769f57948455277d0670ef18f64824ca5d894c1' into gingerbread-plus-aosp

* commit '4769f57948455277d0670ef18f64824ca5d894c1':
Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.
4769f57948455277d0670ef18f64824ca5d894c1 28-Sep-2010 Andreas Huber <andih@google.com> Merge "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files." into gingerbread
9d59186068891834272c2e3ee6f9c4228af24656 28-Sep-2010 Andreas Huber <andih@google.com> am 3a9cc8ce: Merge "Squashed commit of the following:" into gingerbread

Merge commit '3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7' into gingerbread-plus-aosp

* commit '3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7':
Squashed commit of the following:
3a9cc8cef49165d6b1a1eb37b15a0ae21b0042f7 28-Sep-2010 Andreas Huber <andih@google.com> Merge "Squashed commit of the following:" into gingerbread
38ae220bb7c06e3cc82f96dada769c6b12a79d09 28-Sep-2010 Andreas Huber <andih@google.com> Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.

related-to-bug: 3036592
Change-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802
edia/stagefright/MetaData.h
e65041225ec0bbc3d67a3b70cdc6d598a5760043 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Add support for transferring touch focus.

Prerequisite for drag and drop.

Change-Id: Iedbe93ed0f3e1c4083130fe66b4ba06d416afce0
i/InputDispatcher.h
464fb74e28b6d76d5e741abcdbb714eea2d9b4d1 27-Sep-2010 Jeff Brown <jeffbrown@google.com> am 9785bf0f: am 14a288da: Merge "Add suuport for splitting touch events across windows." into gingerbread

Merge commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919'

* commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919':
Add suuport for splitting touch events across windows.
9785bf0f2b6b8758aed7ded3b996a2ef0be89919 27-Sep-2010 Jeff Brown <jeffbrown@google.com> am 14a288da: Merge "Add suuport for splitting touch events across windows." into gingerbread

Merge commit '14a288da6a372230d9af41da12241fe500eec837' into gingerbread-plus-aosp

* commit '14a288da6a372230d9af41da12241fe500eec837':
Add suuport for splitting touch events across windows.
14a288da6a372230d9af41da12241fe500eec837 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Add suuport for splitting touch events across windows." into gingerbread
c751eccad38cf46d7478eca85beefecd2c2b4c3b 27-Sep-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 29a4d3effb05a2e074cb0693316ab1977baeb0b6
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 12:01:32 2010 -0700

Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).

Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84

commit f4dec4c3899f3be393508e180d6c07e249d3335e
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 10:36:31 2010 -0700

More reliable identification of MPEG2 transport streams. Don't keep scanning forever in case the stream does not have both audio and video tracks.

Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7

commit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 08:23:39 2010 -0700

test code

Change-Id: I16560a17661407d06497f99ff88230724bb898af

commit 64d988b24f49f179a90fa677be11c823959e734b
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 23 14:42:52 2010 -0700

First shot at supporting writing to an MPEG2 transport stream.

Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74

Change-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc
edia/stagefright/MPEG2TSWriter.h
01ce2e9eee41cc0c24b0d16465710a28ea337d5d 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Add suuport for splitting touch events across windows.

This feature is currently used to enable dragging the start and end
selection handles of a TextView at the same time. Could be used for
other things later.

Deleted some dead code in ArrowKeyMovementMethod and CursorControllers.

Change-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409
i/Input.h
i/InputDispatcher.h
i/InputReader.h
tils/BitSet.h
ba2bbcdcbc9781a8e93807b740cfde02b477c9a9 26-Sep-2010 Jamie Gennis <jgennis@google.com> Fix the CameraHardwareInterface::setPreviewWindow comment.

Change-Id: Ied7eb7872e581e23d9f6f02a551320cdd675e51e
amera/CameraHardwareInterface.h
d95fec08916698f7bdd9f4b293d418ae4b4f60c5 25-Sep-2010 Mathias Agopian <mathias@google.com> am 495ad4f2: am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread

Merge commit '495ad4f22096aa172d025c16c25497e7dad8f2bd'

* commit '495ad4f22096aa172d025c16c25497e7dad8f2bd':
simple test app for screen capture API
add support for [1974164] Be able to take a screen shot on the device
495ad4f22096aa172d025c16c25497e7dad8f2bd 25-Sep-2010 Mathias Agopian <mathias@google.com> am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread

Merge commit 'beabe75a842d521b005999460d3a6361ab32108e' into gingerbread-plus-aosp

* commit 'beabe75a842d521b005999460d3a6361ab32108e':
simple test app for screen capture API
add support for [1974164] Be able to take a screen shot on the device
beabe75a842d521b005999460d3a6361ab32108e 25-Sep-2010 Mathias Agopian <mathias@google.com> Merge changes I1f7c4535,I741c68a2 into gingerbread

* changes:
simple test app for screen capture API
add support for [1974164] Be able to take a screen shot on the device
dcdab6aef1a4e24234982698908a24a9925ce9ab 25-Sep-2010 Kenny Root <kroot@google.com> am 3e07c000: am 74865ef6: Merge "Add locking around ZIP seeking" into gingerbread

Merge commit '3e07c0007b10fbda945516acaf6b2a8787a6ca06'

* commit '3e07c0007b10fbda945516acaf6b2a8787a6ca06':
Add locking around ZIP seeking
ca5edbeba92b96913291792a4df984e158853b6d 24-Sep-2010 Mathias Agopian <mathias@google.com> add support for [1974164] Be able to take a screen shot on the device

screenshots are taken using ISurfaceComposer::captureScreen() which returns
the size of the screenshot and an IMemoryHeap containing the data.
screenshots have limitations:
- they will always fail if a secure window is up on screen
- require GL_OES_framebuffer_object extension
- in some situation, video planes won't been captured

Change-Id: I741c68a2d2984fb139039301c3349e6780e2cd58
urfaceflinger/ISurfaceComposer.h
3e07c0007b10fbda945516acaf6b2a8787a6ca06 24-Sep-2010 Kenny Root <kroot@google.com> am 74865ef6: Merge "Add locking around ZIP seeking" into gingerbread

Merge commit '74865ef6600e2e81cecf6619ab7141df6a7dfeb9' into gingerbread-plus-aosp

* commit '74865ef6600e2e81cecf6619ab7141df6a7dfeb9':
Add locking around ZIP seeking
6458fa0fce4bce7f3f9cccbacf9116f6f08abdf1 24-Sep-2010 Kenny Root <kroot@google.com> Add locking around ZIP seeking

Since we switched to seeking to the LFH to verify its existence instead
of a huge mmap of the file, we have to guarantee that another seek
doesn't happen before we finish our read on the LFH.

Change-Id: If8135d9cb6f2f5cc4db734eafa4f6b5f6269c62a
tils/ZipFileRO.h
fdc85679cc300e9f7ee75040c25bef1826372ff0 22-Sep-2010 Jeff Brown <jeffbrown@google.com> am 4ec134cd: am cce0cd13: Merge "Looper: use pthread_once for TLS key initialization." into gingerbread

Merge commit '4ec134cdba52b663506562c6406b07915820b007'

* commit '4ec134cdba52b663506562c6406b07915820b007':
Looper: use pthread_once for TLS key initialization.
4ec134cdba52b663506562c6406b07915820b007 22-Sep-2010 Jeff Brown <jeffbrown@google.com> am cce0cd13: Merge "Looper: use pthread_once for TLS key initialization." into gingerbread

Merge commit 'cce0cd138dd0dc338db59083052aca01a51bd52d' into gingerbread-plus-aosp

* commit 'cce0cd138dd0dc338db59083052aca01a51bd52d':
Looper: use pthread_once for TLS key initialization.
cce0cd138dd0dc338db59083052aca01a51bd52d 22-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Looper: use pthread_once for TLS key initialization." into gingerbread
134b4ae90103a7b205cd84d0491a4868cb102a7c 22-Sep-2010 Jeff Brown <jeffbrown@google.com> Looper: use pthread_once for TLS key initialization.

Also fix a Valgrind complaint by zeroing out the entire epoll event
struct since otherwise the data field union would be partly
uninitialized (but not in a harmful way).

Change-Id: I2091ce517e87fcad7c9caf90e2c5e4854a7ca465
tils/Looper.h
41fd0a0fa98adf06cad78d168f3e5fe4ab272ea4 22-Sep-2010 Andreas Huber <andih@google.com> am af909581: am 67738486: Merge "Remove stagefright foundation\'s incompatible logging interface and update callsites." into gingerbread

Merge commit 'af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6'

* commit 'af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6':
Remove stagefright foundation's incompatible logging interface and update callsites.
af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6 22-Sep-2010 Andreas Huber <andih@google.com> am 67738486: Merge "Remove stagefright foundation\'s incompatible logging interface and update callsites." into gingerbread

Merge commit '67738486d9d1bdc2e6fb0c04698fd74de689acbc' into gingerbread-plus-aosp

* commit '67738486d9d1bdc2e6fb0c04698fd74de689acbc':
Remove stagefright foundation's incompatible logging interface and update callsites.
6e3fa444c5b3970666707bb2b6d25e2615dafe80 21-Sep-2010 Andreas Huber <andih@google.com> Remove stagefright foundation's incompatible logging interface and update callsites.

Change-Id: I45fba7d60530ea0f233ac3695a97306b6dc1795c
edia/stagefright/foundation/ADebug.h
d276720edb060617168388f44005f0960fa89ad1 21-Sep-2010 Wu-cheng Li <wuchengli@google.com> am 2ad1ebca: am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.

Merge commit '2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd'

* commit '2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd':
Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.
2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd 21-Sep-2010 Wu-cheng Li <wuchengli@google.com> am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.

Merge commit 'd45cb72ac0d7d57829ffc9223decb89a5fc42ce2' into gingerbread-plus-aosp

* commit 'd45cb72ac0d7d57829ffc9223decb89a5fc42ce2':
Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.
d45cb72ac0d7d57829ffc9223decb89a5fc42ce2 21-Sep-2010 Wu-cheng Li <wuchengli@google.com> Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.

This constant is not public yet. Continuous autofocus should
behave differently in still camera and camcorder. In camcorder,
lens movement may be more smooth. And the triggers to start a
new focus search may be different. If there is a need,
FOCUS_MODE_CONTINUOUS_PHOTO can be added in the future.

Change-Id: I05df9e491aca37829be3df92a73b952f26c86a4a
amera/CameraParameters.h
f1ec1ddd5072fa4f75c15be0ee1d82c17646500a 18-Sep-2010 Jeff Brown <jeffbrown@google.com> am bc9599d4: am 838e93ed: Merge "Looper: Drop default parameters in favor of a safer overload." into gingerbread

Merge commit 'bc9599d48c79c18d306a13f51af9ef2aac92cdca'

* commit 'bc9599d48c79c18d306a13f51af9ef2aac92cdca':
Looper: Drop default parameters in favor of a safer overload.
872630590501cef9783f0669218c3e85e218db05 17-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding default profiles for specific levels."
bc9599d48c79c18d306a13f51af9ef2aac92cdca 17-Sep-2010 Jeff Brown <jeffbrown@google.com> am 838e93ed: Merge "Looper: Drop default parameters in favor of a safer overload." into gingerbread

Merge commit '838e93ed19879ce3d88b5be51630137d6a6999c6' into gingerbread-plus-aosp

* commit '838e93ed19879ce3d88b5be51630137d6a6999c6':
Looper: Drop default parameters in favor of a safer overload.
d48a15c3fead59a1aa710a16bb5f923164475918 17-Sep-2010 Nipun Kwatra <nkwatra@google.com> Adding default profiles for specific levels.

The low and high profiles should each match one of the
specific profiles. So we need to add the specific profiles
corresponding to the low/high profiles. This makes the
default profile compliant to documentation + cts.

Also fixed javadoc to account time lapse profiles.

Change-Id: I34e7307d00ce261c69dc10ead2900025c7f6d428
edia/MediaProfiles.h
7553cf74e67a83440139b34a098b90a2ad6ed86d 16-Sep-2010 Nipun Kwatra <nkwatra@google.com> Implemented frequent read returns for quick stop in time lapse.

If the frame capture interval is large, read will block for a long time.
Due to the way the mediaRecorder framework works, a stop() call from
mediaRecorder waits until the read returns, causing a long wait for
stop() to return. To avoid this, we return a copy of the last read
frame with the same time stamp if a frame is not available quickly.
This keeps the read() call from blocking too long. This method is
triggered when startQuickReadReturns() is called on
CameraSourceTimeLapse.

In the still camera case, also using waitRelative on Condition
instaed of sleeping, so that we can wake it up.
Also for the idle check instead of sleeping, we now wait on a
condition variable, which is woken up when the last takePicture
callback gets called.

Change-Id: Ia74386e175536aee0f44ae2f8b114c353d3d72f5
edia/stagefright/CameraSourceTimeLapse.h
a1361e48fa5ac353b70f90eef8c1ca63f66ded19 17-Sep-2010 Jeff Brown <jeffbrown@google.com> Looper: Drop default parameters in favor of a safer overload.

The idea is that if you're writing code that wants fd/events/data on
return from pollOnce() / pollAll() you should really pass in all of those
arguments. When I changed the Looper API earlier, it was difficult
to ensure that all callers were passing the right parameters since they
were relying on default parameters to some degree so usage mistakes
would not have been caught by the compiler.

Change-Id: I1f2812894270aaf1515017ac1616b6b312d9b565
tils/Looper.h
711f82784fadb93d488b829c04bda35860903a67 17-Sep-2010 Jeff Brown <jeffbrown@google.com> am 6f0ff46c: am 9c258710: Merge "Fix app switch latency optimization." into gingerbread

Merge commit '6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25'

* commit '6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25':
Fix app switch latency optimization.
6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25 17-Sep-2010 Jeff Brown <jeffbrown@google.com> am 9c258710: Merge "Fix app switch latency optimization." into gingerbread

Merge commit '9c2587104ae259b9fa6a3525063197cc08e8820b' into gingerbread-plus-aosp

* commit '9c2587104ae259b9fa6a3525063197cc08e8820b':
Fix app switch latency optimization.
54a1825121d006d4a4dcbbadf4eac9910f44ef8c 16-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix app switch latency optimization.

This optimization was broken due to recent changes in how ANRs are handled.

Change-Id: Ic99248a12755fadac8d4893e7d305b773e038d3d
i/InputDispatcher.h
9b61dc564e673a116928838e42dae25bdf1e0796 16-Sep-2010 James Dong <jdong@google.com> Add YUV420P color format support for video output from camera hal

Change-Id: I5c8266348d0840361c8095ce351ac85c44d4068f
amera/CameraParameters.h
707929d6f8f8ff2663da9982a99f943736b8be5c 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 61cf67a2: am 24326f72: Merge "Input API review." into gingerbread

Merge commit '61cf67a220ba3205737c646c1c836a92074220de'

* commit '61cf67a220ba3205737c646c1c836a92074220de':
Input API review.
61cf67a220ba3205737c646c1c836a92074220de 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 24326f72: Merge "Input API review." into gingerbread

Merge commit '24326f7223275ba9c85014b86d42040e3a7d2815' into gingerbread-plus-aosp

* commit '24326f7223275ba9c85014b86d42040e3a7d2815':
Input API review.
24326f7223275ba9c85014b86d42040e3a7d2815 16-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Input API review." into gingerbread
fa8186c71662ae9c869adbf379ccc2d917638881 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 7642c82c: am f4d788c9: Merge "Make input dispatcher only ANR for foreground windows." into gingerbread

Merge commit '7642c82c291051919aad87c797e2dc1d77ed55e1'

* commit '7642c82c291051919aad87c797e2dc1d77ed55e1':
Make input dispatcher only ANR for foreground windows.
7642c82c291051919aad87c797e2dc1d77ed55e1 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am f4d788c9: Merge "Make input dispatcher only ANR for foreground windows." into gingerbread

Merge commit 'f4d788c9309bc5480100d980608472e4cb04f309' into gingerbread-plus-aosp

* commit 'f4d788c9309bc5480100d980608472e4cb04f309':
Make input dispatcher only ANR for foreground windows.
519e024d1e682ca458cc2dab743589a12992c0e1 16-Sep-2010 Jeff Brown <jeffbrown@google.com> Make input dispatcher only ANR for foreground windows.

Redesigned the input dispatcher's ANR timeout mechanism so it is much
closer to Froyo's policy. ANR is only ever signalled if the dispatcher
is waiting on a window to finish processing its previous event(s) and
there is new pending input.

In the old code, we tracked the dispatch timeout separately for each
input channel. This was somewhat complicated and also resulted in the
situation where applications could ANR long after the user had pushed
them into the background.

Change-Id: I666ecada0952d4b95f1d67b9f733842b745c7f4b
i/InputDispatcher.h
6704d310f994b30cdae835d1e8f875a4fafc0620 16-Sep-2010 Mathias Agopian <mathias@google.com> am 310da64d: am f182e8a8: fix a typo where the eventtags code were wrong

Merge commit '310da64d78750cdba4349d7cc0a268c07155569d'

* commit '310da64d78750cdba4349d7cc0a268c07155569d':
fix a typo where the eventtags code were wrong
310da64d78750cdba4349d7cc0a268c07155569d 15-Sep-2010 Mathias Agopian <mathias@google.com> am f182e8a8: fix a typo where the eventtags code were wrong

Merge commit 'f182e8a8c2e726b376f3f4c0deb02dfdb6ae06a9' into gingerbread-plus-aosp

* commit 'f182e8a8c2e726b376f3f4c0deb02dfdb6ae06a9':
fix a typo where the eventtags code were wrong
f182e8a8c2e726b376f3f4c0deb02dfdb6ae06a9 15-Sep-2010 Mathias Agopian <mathias@google.com> fix a typo where the eventtags code were wrong

Change-Id: I517112a1475c10b71009a0aa9c3894c76a1f270f
i/GraphicLog.h
49478536b6b8b28f33398393bed5e939085af7af 15-Sep-2010 Jeff Brown <jeffbrown@google.com> am 14bc6b5d: am 09340a4b: Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread

Merge commit '14bc6b5d0677e5c454a67775c852f90389bb4567'

* commit '14bc6b5d0677e5c454a67775c852f90389bb4567':
Replace epoll() with poll() and rename PollLoop to Looper.
a5ab8ce602ecfd897805e185c89a6eff0c78aabe 15-Sep-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of 48a86240 to master

Change-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5
dc1ab4b5cc274b7d744c11a939bb5910becec5e0 15-Sep-2010 Jeff Brown <jeffbrown@google.com> Input API review.

Drop currently unsupported input features.
Add documentation comments.

Change-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592
i/EventHub.h
4e94c30ed5ddb79b168291b28bfad79eaed022ed 15-Sep-2010 Nipun Kwatra <nkwatra@google.com> Added command type to play recording sound.

Added CAMERA_CMD_PLAY_RECORDING_SOUND command type to play recording
sound through sendCommand. This is currently needed by time lapse
recording using still mode capture, which disables the shutter sound
but needs to play the recording sound.

Change-Id: I376aa40f45b6064fd862abc065456b06fc338020
amera/Camera.h
14bc6b5d0677e5c454a67775c852f90389bb4567 15-Sep-2010 Jeff Brown <jeffbrown@google.com> am 09340a4b: Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread

Merge commit '09340a4bb99507d9b6bfbfc68a450d4d4f354d73' into gingerbread-plus-aosp

* commit '09340a4bb99507d9b6bfbfc68a450d4d4f354d73':
Replace epoll() with poll() and rename PollLoop to Looper.
09340a4bb99507d9b6bfbfc68a450d4d4f354d73 15-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread
48a862407dda482450bdfd5aa2a2cd8b3e8e38dd 15-Sep-2010 Mathias Agopian <mathias@google.com> am b3ffc78f: Merge "Add logging of various important graphics events" into gingerbread

Merge commit 'b3ffc78f3432344702e6f5232067ab624083cad2' into gingerbread-plus-aosp

* commit 'b3ffc78f3432344702e6f5232067ab624083cad2':
Add logging of various important graphics events
088146a4213f5099b8fcc93e1b75538c53f61404 12-Sep-2010 Nipun Kwatra <nkwatra@google.com> Adding enable/disable option for sendCommand()

- Added enum CAMERA_CMD_ENABLE_SHUTTER_SOUND which corresponds to
command type for enabling/disabling shutter sound.
- The implementation checks if it is legal to disable shutter sound.
If it is, then any process can disable the sound. If not, then only
the mediaserver process is allowed to do this. Currently time lapse
capture needs this functionality to disable shutter sound when still
mode is used to capture time lapse video.

Change-Id: Id147a3bcc6a345c2c6a6d52bf98fd8292386bb19
amera/Camera.h
4fe6c3e51be77e35f40872cdbca6c80f8f8b7ecb 14-Sep-2010 Jeff Brown <jeffbrown@google.com> Replace epoll() with poll() and rename PollLoop to Looper.

As part of this change, consolidated and cleaned up the Looper API so
that there are fewer distinctions between the NDK and non-NDK declarations
(no need for two callback types, etc.).

Removed the dependence on specific constants from sys/poll.h such as
POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for
the events that it supports. That should help make any future
under-the-hood implementation changes easier.

Fixed a couple of compiler warnings along the way.

Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
ndroid_runtime/android_app_NativeActivity.h
ui/SensorEventQueue.h
i/InputDispatcher.h
i/InputTransport.h
tils/Looper.h
tils/PollLoop.h
04262e9f842edf20168399b6a70f0d67e518fe69 14-Sep-2010 Mathias Agopian <mathias@google.com> Add logging of various important graphics events

There are 16 events logged in the event log:
SF_APP_DEQUEUE_BEFORE
SF_APP_DEQUEUE_AFTER
SF_APP_LOCK_BEFORE
SF_APP_LOCK_AFTER
SF_APP_QUEUE

SF_REPAINT
SF_COMPOSITION_COMPLETE
SF_UNLOCK_CLIENTS
SF_SWAP_BUFFERS
SF_REPAINT_DONE

SF_FB_POST_BEFORE
SF_FB_POST_AFTER
SF_FB_DEQUEUE_BEFORE
SF_FB_DEQUEUE_AFTER
SF_FB_LOCK_BEFORE
SF_FB_LOCK_AFTER

all events log the buffer conserned and a timestamp in microseconds.

by default the logging is not enabled, to turn it on:
adb shell service call SurfaceFlinger 1006 i31 1
adb shell setprop debug.graphic_log 1

The effect is immediate in SurfaceFlinger, but applications need to be
restarted.

Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
i/FramebufferNativeWindow.h
i/GraphicLog.h
0c7d077e9a35f02bbde08eeb19cf3b83aeafaf10 13-Sep-2010 Mike Lockwood <lockwood@android.com> Merge changes I68379740,I9053218f

* changes:
MediaFile: Add support for some popular non-media file types.
Media scanner support for tracking files of arbitrary type.
c37255d5d0fd9e0ec02b0d7cb5c4b235e200d367 10-Sep-2010 Mike Lockwood <lockwood@android.com> Media scanner support for tracking files of arbitrary type.

The native media scanner no longer filters files based on file extension.
Audio, video, image and playlist files are handled as before, but non-media
files are now inserted into the "files" table, which was originally added
to support MTP.

Change-Id: I9053218fb6d2671a3bb181405c34442b94678afc
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/mediascanner.h
b3787d57fffbb898f4767f7a94031cafe974a0b0 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am 0f0541e4: am b88102f5: Input dispatcher ANR handling enhancements.

Merge commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6'

* commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6':
Input dispatcher ANR handling enhancements.
0f0541e40cfef51eb5c3769e53c1aa853b53aaf6 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am b88102f5: Input dispatcher ANR handling enhancements.

Merge commit 'b88102f5b7e51552a3576cf197b4c8cf96f193d1' into gingerbread-plus-aosp

* commit 'b88102f5b7e51552a3576cf197b4c8cf96f193d1':
Input dispatcher ANR handling enhancements.
b88102f5b7e51552a3576cf197b4c8cf96f193d1 08-Sep-2010 Jeff Brown <jeffbrown@google.com> Input dispatcher ANR handling enhancements.

This change is essentially a rewrite of the main input dispatcher loop
with the target identification folded in. Since the input dispatcher now
has all of the window state, it can make better decisions about
when to ANR.

Added a .5 second deadline for processing app switch keys. This behavior
predates Gingerbread but had not previously been ported.

Fixed some timing inaccuracies in the ANR accounting that could cause
applications to ANR sooner than they should have.

Added a mechanism for tracking key and motion events that have been
dispatched to a window so that appropriate cancelation events can be
synthesized when recovering from ANR. This change helps to keep
applications in sync so they don't end up with stuck buttons upon
recovery from ANRs.

Added more comments to describe the tricky parts of PollLoop.

Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
i/InputDispatcher.h
i/InputManager.h
i/InputReader.h
i/PowerManager.h
tils/PollLoop.h
522632cde516001429549c60bd570c399ffad800 11-Sep-2010 Nipun Kwatra <nkwatra@google.com> Exposing specific profile levels + hasProfile().

- Exposing the specific resolution profile levels
QUALITY_{QCIF,CIF,480P,720P,1080P} and the new time lapse profiles
QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,CIF,480P,720P,1080P}
- Unhiding the hasProfile() function used to test if a given profile exists.

Change-Id: I5d8b9e1ba61718f304235e76d85244e428e68643
edia/MediaProfiles.h
55d39f20660d3c619f8342bbee4bbd11a30de8ba 11-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding hasProfile."
35c8b532e576abc50fe7cdb42db0e22ccb1c7390 10-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Added specific resolution and time lapse profiles."
9d619542bea7d4c376a5a8b4a55c795a796adef3 10-Sep-2010 Nipun Kwatra <nkwatra@google.com> Adding hasProfile.

- Added hasProfile to CamcorderProfile and JNI.
- Added hasCamcorderProfile to MediaProfiles.
- using android.hardware.Camera.CAMERA_ID_DEFAULT for default camera
in get().

Change-Id: Ib57bb49ae79492d7cbc0ec6c7b6efcbf74f80013
edia/MediaProfiles.h
4af0dfd6cbc13fa6a89ec1430cbe6f619cd64d8a 07-Sep-2010 Nipun Kwatra <nkwatra@google.com> Added specific resolution and time lapse profiles.

- Added enums QUALITY_{QCIF,480P,720P,1080P}
QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,480P,720P,1080P} in CamcorderProfile
and corresponding ones in MediaProfiles.
- Added functions createDefaultCamcorderTimeLapseLowProfile,
createDefaultCamcorderTimeLapseHighProfile to set default values.
- Moved javadoc for constants to the get() function.

Change-Id: Ib8b3f8d29395dff77a397d1e6b44cfaf8c481d4d
edia/MediaProfiles.h
3d6b009db124615a09e2c6dcf25bf8352f6aaca9 10-Sep-2010 Jean-Baptiste Queru <jbq@google.com> am 09f1e2b2: resolved conflicts for merge of 56aa3c76 to gingerbread-plus-aosp

Merge commit '09f1e2b2151ea18c05b9138a0a5cb63af18ea373'

* commit '09f1e2b2151ea18c05b9138a0a5cb63af18ea373':
Initial contribution from Sony Corporation.
09f1e2b2151ea18c05b9138a0a5cb63af18ea373 10-Sep-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 56aa3c76 to gingerbread-plus-aosp

Change-Id: I3d36a665f93f976824592edf35f6d6a205cc7617
9584a542e345fa18fc62eb0b5947f250226f211d 09-Sep-2010 Romain Guy <romainguy@google.com> Merge "Purge Skia objects from GL caches as needed."
a2341a9f6addcd79723965ec5b1a1c5ae0f8bd65 09-Sep-2010 Romain Guy <romainguy@google.com> Purge Skia objects from GL caches as needed.

Change-Id: I754c671cf790ad5ae8bf047ad328034217da4ecc
tils/Singleton.h
e3aa6aa77014b5798f95f6c5817df85910ecaac3 09-Sep-2010 James Dong <jdong@google.com> am 306cd58d: am d353c840: Merge "HW audio encoder expects timestamp via kKeyTime from each input buffer" into gingerbread

Merge commit '306cd58ddcc0cb8487bc6e015f8c692eea47a334'

* commit '306cd58ddcc0cb8487bc6e015f8c692eea47a334':
HW audio encoder expects timestamp via kKeyTime from each input buffer
d353c840ad5bf1b4e6bfba0e10bcdc79223bcdf7 09-Sep-2010 James Dong <jdong@google.com> Merge "HW audio encoder expects timestamp via kKeyTime from each input buffer" into gingerbread
d015ccf62b4e87756e2f7785af92338d35a21c15 09-Sep-2010 James Dong <jdong@google.com> HW audio encoder expects timestamp via kKeyTime from each input buffer

- This fixes media server crashes on droid

Change-Id: I7191cadc5275107425ec3ee3d437b2c5295858dc
edia/stagefright/MetaData.h
15ff01cdb4c4878936a903ea7699daf1fa2b5927 09-Sep-2010 Eric Laurent <elaurent@google.com> am e126119c: am 95d86480: Merge "Modify type of some environmental reverb parameters" into gingerbread

Merge commit 'e126119c3a406bc564f2549aeb1416aff112689d'

* commit 'e126119c3a406bc564f2549aeb1416aff112689d':
Modify type of some environmental reverb parameters
95d5de06819e98e298892f0486ee7ff210bcdd8b 09-Sep-2010 Eric Laurent <elaurent@google.com> Modify type of some environmental reverb parameters

Changed type of decay time, reverb delay and reflections delay parameters
from signed to unsigned int to match OpenSL ES interface definition.

Also fixed some type casts in lvm reverb wrapper.

Change-Id: I5ca5e76a87c2590f01f031f3168355586ef22556
edia/EffectEnvironmentalReverbApi.h
3dfc5721ad4dfe15962fd18daf038044cd09bf86 08-Sep-2010 Jeff Brown <jeffbrown@google.com> am 8723bb58: am b21fb104: Fix key repeat delay.

Merge commit '8723bb58b17a07b7ca036cc76d737c6c0f4b13c7'

* commit '8723bb58b17a07b7ca036cc76d737c6c0f4b13c7':
Fix key repeat delay.
b380c4d7edc158788a85c906900232675c0164ac 08-Sep-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of a05088c1 to master

Change-Id: I7973f9f28586dec9b9659f8f662f40db7997a521
b21fb104cc95fe7e5daf3b3626241e525c39a3f1 07-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix key repeat delay.

Change-Id: I6216e082324ee29bf50e37acc673350ca5417c4d
i/InputDispatcher.h
85a3176704b5bfbeece9bd928369fbb76eec7dc6 02-Sep-2010 Jeff Brown <jeffbrown@google.com> Add support for secure views.

Added the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the
input manager whenever another visible window is partly or wholly obscured
the target of a touch event so that applications can filter touches
accordingly.

Added a "filterTouchesWhenObscured" attribute to View which can be used to
enable filtering of touches when the view's window is obscured.

Change-Id: I936d9c85013fd2d77fb296a600528d30a29027d2
i/Input.h
i/InputDispatcher.h
i/InputTransport.h
347262622b86410ff8a4ff3530ab3688b6a20b21 08-Sep-2010 Dianne Hackborn <hackbod@google.com> am a1205f07: am 2d3739d4: Merge "Modify native ALooper to take an explicit ident." into gingerbread

Merge commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7'

* commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7':
Modify native ALooper to take an explicit ident.
42c03e579aade011b451e2a13ea3f44a2ef0056a 08-Sep-2010 Dianne Hackborn <hackbod@google.com> Modify native ALooper to take an explicit ident.

The ALooper API now uses an explicit "identifier" for the integer
that is returned rather than implicitly using the fd. This allows
the APIs that had the fd to be a little more sane.

Change-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0
ndroid_runtime/android_app_NativeActivity.h
tils/PollLoop.h
f5e1faf1ccee6698b7e51cd70ab382ee0c8bc5e1 04-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge changes I71f5b0fc,I92c7accb

* changes:
Moving decision to use still camera to CameraSourceTimeLapse
pass auxiliary video parameters.
4a857e620fecd91d051d8e58f573b5ff30d81aaf 02-Sep-2010 Nipun Kwatra <nkwatra@google.com> Moving decision to use still camera to CameraSourceTimeLapse

CameraSourceTimeLapse now decides whether to use still or video
camera automatically. It checks if the passed in size is a valid
preview size and if it is, then uses the video camera else uses
the still camera.

Removed from StagefrightRecorder the support to set parameter
useStillCameraForTimeLapse.

Change-Id: I71f5b0fc7080ca524792381efe918d22e41a7f36
edia/stagefright/CameraSourceTimeLapse.h
1ab9d1289b0e31033ba87490f185732e08bed7b5 03-Sep-2010 Andreas Huber <andih@google.com> am 8e11c822: am 9fee0b2a: Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer\'s setLooping setting.

Merge commit '8e11c82247151085fa165c76bfbc157bc6091ca4'

* commit '8e11c82247151085fa165c76bfbc157bc6091ca4':
Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer's setLooping setting.
a093659dd0ed5b17df1a5d7266345b50e6f1a023 03-Sep-2010 Jamie Gennis <jgennis@google.com> Merge "Add the new Stagefright ANativeWindow OMX codec API."
33a78149e00806d055ff214d300279963965a677 31-Aug-2010 Jamie Gennis <jgennis@google.com> Add the new Stagefright ANativeWindow OMX codec API.

This change defines the two OMX_SetParameter calls that enable OMX codecs to
interact with ANativeWindows. It also adds the plumbing to the IOMX, OMX, and
OMXNodeInstance classes to use these new APIs.

This is try 2 for this change, after reverting the first one because it broke
the build.

Change-Id: I94249b72bdb5d5719360f03d7935fcca4ece5028
edia/IOMX.h
edia/stagefright/HardwareAPI.h
9fee0b2a02daa6fcf286ed930e45400dd3ba8dba 03-Sep-2010 Andreas Huber <andih@google.com> Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer's setLooping setting.

Change-Id: Ifb564c6cdf6137eac14869f9ca7d471f05a5556a
related-to-bug: 2974691
edia/stagefright/MetaData.h
9b3569bc42a4c85e86724cea693368693fb76fe7 03-Sep-2010 James Dong <jdong@google.com> am bc1452a3: am 7755cdd6: Remove unused/debugging code from MP4 file writer

Merge commit 'bc1452a307ac61ca87bf78722701ac85100952af'

* commit 'bc1452a307ac61ca87bf78722701ac85100952af':
Remove unused/debugging code from MP4 file writer
7755cdd69690ccbb42c6fd47b3e9c4594d4ade82 02-Sep-2010 James Dong <jdong@google.com> Remove unused/debugging code from MP4 file writer

o also makes nal length in the recorded file modifiable at runtime

Change-Id: I731b4dde7070d8d9628b36b523a5b2c011c7c2cf
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
0e60f5304b51fe168b8c356b0cb3150b321a8d95 03-Sep-2010 James Dong <jdong@google.com> am 3c3fc97e: am 46e63b34: Merge "Better file size estimate" into gingerbread

Merge commit '3c3fc97e104bd17af608727d82e965fc28f2c89d'

* commit '3c3fc97e104bd17af608727d82e965fc28f2c89d':
Better file size estimate
cb7e65c6cbe75c3fe55af95eba73431394669692 02-Sep-2010 James Dong <jdong@google.com> Better file size estimate

When the recorded file becomes large, the metadata size can
no longer be ignored. This makes it possible to save the
recorded file when the storage becomes almost full at the
end of the recording session.

Change-Id: Ief038080f825c9946ce550949c03e914aec1e31a
edia/stagefright/MPEG4Writer.h
9f20d3328f84d8979652917e860bcc235bf5fb75 03-Sep-2010 James Dong <jdong@google.com> am bb64e554: am 7ed7668b: Merge "Calculate audio media drift time from AudioSource" into gingerbread

Merge commit 'bb64e554d9a28fcf8eebf579e91ff71b8ffef1e3'

* commit 'bb64e554d9a28fcf8eebf579e91ff71b8ffef1e3':
Calculate audio media drift time from AudioSource
4c23815c3986e50f0cfad3976d748e600f1befa2 02-Sep-2010 James Dong <jdong@google.com> Calculate audio media drift time from AudioSource

The problem was that the time to receive an output buffer
from an audio encoder is different because the encoder does not
need to read from the source for all output buffers. This leads
to large fluctuation in terms of wall clock duration between two
neighboring audio sample outputs from the audio encoder. As a
result, the media time for the video track after adjustment using
the drifting changes wildly sometimes.

This patch addresses this issue by only updating the media drift
time when an audio source input buffer is read. the wall clock
for the audio track is also calculated at the same time when
the input audio buffer is read at AudioSource.

bug - 2959800

Change-Id: I3174aa182f744784b540f0a7198524d4eee8bd7b
edia/stagefright/AudioSource.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
2198d7517cf897039c416466aa010abaf89b5846 01-Sep-2010 Jamie Gennis <jgennis@google.com> Revert "Merge "Add the new Stagefright ANativeWindow OMX codec API.""

This reverts commit 8a643b411e1802977f742709113ce01b06a18e12, reversing
changes made to 73ea9beaf8eb3d0027e78cbc0ac5e626c3f8deb4.
edia/IOMX.h
edia/stagefright/HardwareAPI.h
8a643b411e1802977f742709113ce01b06a18e12 01-Sep-2010 Jamie Gennis <jgennis@google.com> Merge "Add the new Stagefright ANativeWindow OMX codec API."
dab357bfd0919e02a842b7edfaf2de6c85c313b3 31-Aug-2010 Jamie Gennis <jgennis@google.com> Add the new Stagefright ANativeWindow OMX codec API.

This change defines the two OMX_SetParameter calls that enable OMX codecs to
interact with ANativeWindows. It also adds the plumbing to the IOMX, OMX, and
OMXNodeInstance classes to use these new APIs.

Change-Id: Ibfbf893dc3513db0b3d3221bec5708c77287cddc
edia/IOMX.h
edia/stagefright/HardwareAPI.h
d074e30ce44b9e33da43b67a4515b8986ca72b26 29-Jul-2010 aimitakeshi <aimitakeshi@gmail.com> Initial contribution from Sony Corporation.

Add DRM Framework to support DRM content playback
together with StageFright.

- DRM Framework code is added
- include/drm
- drm
- api/current.xml is updated to include DRM Framework Java APIs
- cmds/servicemanager/service_manager.c is modified
to add drmManager and drmIOService.

Change-Id: I6d7bc9c7067362b500e530988a9ce241761866fb
rm/DrmConstraints.h
rm/DrmConvertedStatus.h
rm/DrmInfo.h
rm/DrmInfoEvent.h
rm/DrmInfoRequest.h
rm/DrmInfoStatus.h
rm/DrmManagerClient.h
rm/DrmRights.h
rm/DrmSupportInfo.h
rm/drm_framework_common.h
ee6d676c5b997a1214e96b6ba3755054382717c5 01-Sep-2010 Jeff Brown <jeffbrown@google.com> am df02df11: am 307ed31c: Merge "Remove incomplete input device enumeration NDK API." into gingerbread

Merge commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3'

* commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3':
Remove incomplete input device enumeration NDK API.
5fad2675e8deee60aa91d7a96c9ac4826357f2c5 01-Sep-2010 Jeff Brown <jeffbrown@google.com> Remove incomplete input device enumeration NDK API.

Change-Id: I32de74ff5fcf0e29179a2aee03ddabd22fa485bb
i/Input.h
1423f51ec5fe2c9bf5fa44866443b2c52db165be 01-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am ae087369: am 63070856: Merge "Don\'t propagate StrictMode over one-way Binder calls." into gingerbread

Merge commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80'

* commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80':
Don't propagate StrictMode over one-way Binder calls.
0234376503ce421c4b871d5d811c541f5094301a 31-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> Don't propagate StrictMode over one-way Binder calls.

This was causing stack stitching problems where a one-way call with
violations followed by a two-way call without violations was getting
the previous one-way call's violation stack stitched on to the second
caller's stack.

The solution is a little more indirect than I would've liked
(preserving the binder's onTransact flags until enforceInterface) but
was seemingly necessary to work without changing the AIDL compiler.
It should also be sufficiently cheap, since no new calls to
thread-local IPCThreadState lookups were required. The additional
work is just same-thread getter/setters on the existing
IPCThreadState.

Change-Id: I4b6db1d445c56e868e6d0d7be3ba6849f4ef23ae
inder/IPCThreadState.h
06a1d619aad17be48f6636b8dd68914da9e9ee53 30-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added VideoSourceDownSampler

VideoSourceDownSampler takes in a real video source. The MediaSource
interface is then implemented by shortcircuiting calls to this real source,
except for the read() function. For read we first call read of the real
source, then downsample the frame to the desired size and return that.

Change-Id: I6e1b377e043e136a70a7b03792eb9165bbe26398
edia/stagefright/VideoSourceDownSampler.h
b33a5aea130b025f30966828562fcba56f25b265 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added setAuxiliaryOutputFile to MediaRecorder and JNI

added setAuxiliaryOutputFile to allow setting of an auxiliary output file.
Also added the JNI support.

Change-Id: I8c3335192bd6f7fcbfdfc8552cfd0848f2ad2a5d
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
22f5ee93746f37823265b8cb9b1e94e572607514 31-Aug-2010 Jeff Brown <jeffbrown@google.com> am 36f0cb26: am 8d60866e: Input device calibration and capabilities.

Merge commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030'

* commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030':
Input device calibration and capabilities.
8d60866e2100db70ecf0502c14768a384514d7e9 30-Aug-2010 Jeff Brown <jeffbrown@google.com> Input device calibration and capabilities.

Finished the input device capability API.
Added a mechanism for calibrating touch devices to obtain more
accurate information about the touch contact area.
Improved pointer location to show new coordinates and capabilities.
Optimized pointer location display and formatting to avoid allocating large
numbers of temporary objects. The GC churn was causing the application to
stutter very badly when more than a couple of fingers were down).
Added more diagnostics.

Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
i/EventHub.h
i/Input.h
i/InputReader.h
b8f7f42f70790121f954c2ae3d2e7b915808510a 30-Aug-2010 Wu-cheng Li <wuchengli@google.com> am 6e46e6f7: am 7ec7b997: Remove camera metering mode API.

Merge commit '6e46e6f7488ad1f4e6ab762d141790798fe3f2d5'

* commit '6e46e6f7488ad1f4e6ab762d141790798fe3f2d5':
Remove camera metering mode API.
7ec7b9970cc3a6311bf043e228991adf24c43523 28-Aug-2010 Wu-cheng Li <wuchengli@google.com> Remove camera metering mode API.

Metering mode is not supported yet.

Change-Id: Id6906d6ab0cd1a9dcbc5c303d8d5081b2cda699e
amera/CameraParameters.h
631025eec0a7d14efb3569f1941a8f8ead5283c4 30-Aug-2010 Andreas Huber <andih@google.com> am 6df6d606: am df992ac9: Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread

Merge commit '6df6d60681be9d524ce7fc07f2511008de424d27'

* commit '6df6d60681be9d524ce7fc07f2511008de424d27':
ALoopers can now be named (useful to distinguish threads).
df992ac9cc54cedb3e384617ed683a2d1a24d38b 30-Aug-2010 Andreas Huber <andih@google.com> Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread
453f2ef14a9de3415f1da818d7c42a3b5e11a62a 28-Aug-2010 Nipun Kwatra <nkwatra@google.com> Merge "client_id->clientId, bugfix for signaling of read abort on stop."
ea434daf19c30f1a7806f1c7e01e6e2174a7ef5d 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> client_id->clientId, bugfix for signaling of read abort on stop.

- changed client_id->clientId, mClient_id->mClientId
- there was a bug in the condition for calling
signalReadComplete_lock() in stop. We should call it only when
!mLastReadCompleted and also if the current client has not already
completed its read (this second check was missing before).

Change-Id: I9a57cf6b5c6f3260883a6c74d0c7b22f675c422e
edia/stagefright/MediaSourceSplitter.h
206bf9df4839395e52a6834f9a0a452d355bad36 28-Aug-2010 James Dong <jdong@google.com> am a5fe77d0: am df8356ff: Merge "Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder is occasionally too small." into gingerbread

Merge commit 'a5fe77d004091bd9521d087c2572f587191afbfc'

* commit 'a5fe77d004091bd9521d087c2572f587191afbfc':
Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder
c6ff7a91890305877410c5ddf853bd961a7d11cc 28-Aug-2010 James Dong <jdong@google.com> am 7d3ff384: am b86365ad: Merge "Suppress the video recording start signal - bug 2950297" into gingerbread

Merge commit '7d3ff3849c830f0136c692b6074f1ba5da288fe7'

* commit '7d3ff3849c830f0136c692b6074f1ba5da288fe7':
Suppress the video recording start signal
54c4bf27437b8d7f8d2a494acd9de53d55696dea 28-Aug-2010 Mathias Agopian <mathias@google.com> am d322d163: am ae66946b: Merge "fix a race in SF buffer management" into gingerbread

Merge commit 'd322d16323176ddd5fef3383798176f64d0078c8'

* commit 'd322d16323176ddd5fef3383798176f64d0078c8':
fix a race in SF buffer management
c4e0b70a21fadb47d70955c71fc31ce1473da925 28-Aug-2010 Andreas Huber <andih@google.com> ALoopers can now be named (useful to distinguish threads).

Change-Id: Ieabaddb2e3a9e3a7a5bc36e55cd0721b60dbd50e
edia/stagefright/foundation/ALooper.h
90862e2a8b3ea522cf1dace5e93dcec109a1aa85 27-Aug-2010 James Dong <jdong@google.com> Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder
is occasionally too small.

bug - 2882917

Change-Id: Id59d8529084c5689a26f272e0cd3b1e955fd8a30
edia/stagefright/OMXCodec.h
cf66e47dddee9b1e634e63ab6ed66bccbef57884 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Merge "Added MediaSourceSplitter to split single source to multiple ones."
b86365ad74a197f2af6d70eedeb19083e31a9686 27-Aug-2010 James Dong <jdong@google.com> Merge "Suppress the video recording start signal - bug 2950297" into gingerbread
f83cba77b69b4db2d4db10fafb528196e5590110 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added MediaSourceSplitter to split single source to multiple ones.

MediaSourceSplitter provides a way to split a single mediaSource
into multiple sources. It takes in the real mediaSource and multiple
clients can then be created which serve from the same real mediaSource.

Change-Id: I7254ead24b4c26c784b033e6bc7ff5a0d083a0c3
edia/stagefright/MediaSourceSplitter.h
c9289fa1c4d3aeba5122863cdae7d0a9806d8833 27-Aug-2010 Mathias Agopian <mathias@google.com> fix a race in SF buffer management

also remove some unused code.

Change-Id: Iae2c3309b7a08055f3e13a5b866c5c084993e352
rivate/surfaceflinger/SharedBufferStack.h
d7f1c3d69274fef8772a663ce1c792fd0466fcc5 27-Aug-2010 James Dong <jdong@google.com> Suppress the video recording start signal
- bug 2950297

Change-Id: I0044d07178691feb904cf81e87c1b6d4b714dc1a
edia/stagefright/AudioSource.h
ec95d932546186ad7ad1d847a6e8f7529e7c7d83 26-Aug-2010 Eric Laurent <elaurent@google.com> am 8ca5df27: am c14f9ca6: Merge "Added preset reverb." into gingerbread

Merge commit '8ca5df27df8a2b6435486f9b5a163bf222f8fed1'

* commit '8ca5df27df8a2b6435486f9b5a163bf222f8fed1':
Added preset reverb.
c14f9ca6e5e795b641e7809786b4e51e13493907 26-Aug-2010 Eric Laurent <elaurent@google.com> Merge "Added preset reverb." into gingerbread
a1644109bb68f0c6d7b29d60a06172702d64a964 25-Aug-2010 Andreas Huber <andih@google.com> am 96dc4559: am b8814dce: Merge "Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now." into gingerbread

Merge commit '96dc45597e53742a2c8453f9ce03f7d501a75668'

* commit '96dc45597e53742a2c8453f9ce03f7d501a75668':
Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.
efdd088a71ddd0a96cf9ca2f58e8703fe8c5c494 25-Aug-2010 Andreas Huber <andih@google.com> Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.

Change-Id: Icb77ae3ee95a69c7da25b4d3b8696c0a2d33028a
related-to-bug: 2948754
edia/stagefright/DataSource.h
bce2e90ca9bc2277a4816b7996f84506df411cf9 25-Aug-2010 Mathias Agopian <mathias@google.com> am bc4389ed: am 8395b462: Merge "fix [2931513] Add support for setting the orientation of an ANativeWindow" into gingerbread

Merge commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64'

* commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64':
fix [2931513] Add support for setting the orientation of an ANativeWindow
a7e5648d611e6e8bdd4cafe051b5fadf3a20735c 24-Aug-2010 Eric Laurent <elaurent@google.com> Added preset reverb.

Modified lvm reverb wrapper code to expose a preset reverb interface.
Also removed debug log from bundle and reverb wrapper.

Change-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967
edia/EffectPresetReverbApi.h
e96aa3e859cb747e241dfa2999fcd142a688ed57 20-Aug-2010 Mathias Agopian <mathias@google.com> fix [2931513] Add support for setting the orientation of an ANativeWindow

Also implement support for cropping.

Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/Surface.h
i/egl/android_natives.h
7741ecc907d98b07c53b6ab1c0b5a20a51d18058 24-Aug-2010 James Dong <jdong@google.com> am 28a92120: am 3f51fa78: Runtime dump support for MediaWriter

Merge commit '28a92120a702289533a9c9d004bd60f83b2fd98b'

* commit '28a92120a702289533a9c9d004bd60f83b2fd98b':
Runtime dump support for MediaWriter
3f6855ba6c87a6f364daed6cb03aec5d735847ae 24-Aug-2010 Chia-chi Yeh <chiachi@android.com> am a102871c: am b80e610b: Merge "Visualizer: replace the FFT implementation with a faster one." into gingerbread

Merge commit 'a102871c7cbb74ebddc53231a871145de61351b0'

* commit 'a102871c7cbb74ebddc53231a871145de61351b0':
Visualizer: replace the FFT implementation with a faster one.
53e75ea847df20b29124966a4232dc0109c37e27 24-Aug-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 485de781 to master

Change-Id: I483cb81596f09b024b1aea7fc55960183f38b24f
eee09313c659b1c97ef6188b6ae4066c87615159 24-Aug-2010 Wu-cheng Li <wuchengli@google.com> am 346b6126: am 97a56269: Merge "Add camera fps range API." into gingerbread

Merge commit '346b6126d54bda4ddc705b27f49004b5cf3a2b3e'

* commit '346b6126d54bda4ddc705b27f49004b5cf3a2b3e':
Add camera fps range API.
85cfdd011241a5f2fb7fabc65b5943a39af7e1de 11-Aug-2010 Jamie Gennis <jgennis@google.com> Change the framework to use the new camera preview path.

This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated. The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface. The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.

Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
amera/Camera.h
amera/CameraHardwareInterface.h
amera/ICamera.h
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/PVMediaRecorder.h
urfaceflinger/Surface.h
d5350764c9cbb27b91ca0503d6e318dffabe969f 23-Aug-2010 Andreas Huber <andih@google.com> Merge "Squashed commit of the following:"
e3c01832fc741e9908f047d86cd40db1ea5d78c8 16-Aug-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 35cc68814a9537c31fde146e171e7b0bbdfe211e
Author: Andreas Huber <andih@google.com>
Date: Mon Aug 16 08:48:42 2010 -0700

Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else.

commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 13 13:56:44 2010 -0700

The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise.

commit 684972074b74318bdcb826ed9b5b0864d2d2e273
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 13 09:34:35 2010 -0700

A first shot at supporting the new rendering APIs.

Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/PVPlayer.h
urfaceflinger/Surface.h
6c32677db33565fc2798b96b03dd19be2f81084c 23-Aug-2010 Wu-cheng Li <wuchengli@google.com> am caaf7fe3: am 271c1bfd: Merge "Handle the camera open failure better." into gingerbread

Merge commit 'caaf7fe3a407c764f643585d050c16f5fb56503c'

* commit 'caaf7fe3a407c764f643585d050c16f5fb56503c':
Handle the camera open failure better.
3f51fa78ada0e064d23db5961337280c267cc2c0 18-Aug-2010 James Dong <jdong@google.com> Runtime dump support for MediaWriter

Change-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaWriter.h
b80e610b070c2cec98a228a8aec450dc24a5f90a 23-Aug-2010 Chia-chi Yeh <chiachi@android.com> Merge "Visualizer: replace the FFT implementation with a faster one." into gingerbread
349250f3b64421f59439355c80a4540fbb34dda5 21-Aug-2010 James Dong <jdong@google.com> am c8d2fa70: am cbd038fe: Merge "Make MediaWriter stop and pause return errors if necessary" into gingerbread

Merge commit 'c8d2fa704abebdbf0bd8aac185216dc068950217'

* commit 'c8d2fa704abebdbf0bd8aac185216dc068950217':
Make MediaWriter stop and pause return errors if necessary
fc5d0cf56401a56f58b12412617e4b84bea2771b 21-Aug-2010 Andreas Huber <andih@google.com> am b29ebd39: am f0ad5484: Merge "In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data." into gingerbread

Merge commit 'b29ebd397e25a7176bcc1c81980f17b0190ebe7f'

* commit 'b29ebd397e25a7176bcc1c81980f17b0190ebe7f':
In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.
e49564e0f710ba4a1405cfdfde068cb776ee474e 21-Aug-2010 Kenny Root <kroot@google.com> am 821afa9a: am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread

Merge commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973'

* commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973':
Add OBB flags to support overlays
feb02e7695c99d6eab0884f2424cff5bf48f4df4 21-Aug-2010 Jeff Brown <jeffbrown@google.com> am d25f0aea: am 99401b29: Merge "Add support for throttling motion events." into gingerbread

Merge commit 'd25f0aea1cebe93aff55a75374e172f87115f1b3'

* commit 'd25f0aea1cebe93aff55a75374e172f87115f1b3':
Add support for throttling motion events.
be857d42849eaaa554d4772dbba7755f8a0f3547 19-Aug-2010 Kenny Root <kroot@google.com> Reorganize MountService IPC

Remove auto-generated AIDL files and replace them with manually edited
.java and .cpp/.h files so that binder calls can be made from either
Java or C++.

Update the makefiles to not attempt to generate the AIDL files and also
remove the old auto-generated .java files.

Put all the storage-related C++ things in libstorage so that we don't
pollute other libraries.

Change-Id: I82d1631295452709f12ff1270f36c3100e652806
torage/IMountService.h
torage/IMountServiceListener.h
torage/IMountShutdownObserver.h
torage/IObbActionListener.h
727f658e81acadd082d2a658ece2b0b45e62c0fc 20-Aug-2010 Nipun Kwatra <nkwatra@google.com> Merge "Added downsample()"
97a56269d06770712f9da7a2a29385012ec9714e 20-Aug-2010 Wu-cheng Li <wuchengli@google.com> Merge "Add camera fps range API." into gingerbread
454630f23784afcf3dd6fc58becbb9fb6aa878a9 12-Aug-2010 Wu-cheng Li <wuchengli@google.com> Add camera fps range API.

Original preview frame rate API assumes the frame rate
is fixed. It does not not work with auto frame rate camera.

Change-Id: I38f7122ac8ec844ffd63558dc0763ffa17b0926a
amera/CameraParameters.h
96624731c31de41968539b7c95b124d0845929e4 20-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added downsample()

Added a downsample function which downsamples the source image
starting at an offset and skipping every few pixels. Currently
no low pass filtering is done, but it should be added later.

Change-Id: Iec34092c536bfc661a15521e6a1ef2ef3f815c61
edia/stagefright/YUVCanvas.h
437e6c49f1052184e01231e6f33ad21c91fc2d36 20-Aug-2010 Nipun Kwatra <nkwatra@google.com> Merge "const correctness, validPixel test."
0ca7aae911be0a9585cafce6eb614b3d69607e10 20-Aug-2010 Jeff Brown <jeffbrown@google.com> am 33992d41: am 72e0b2ab: Merge "Fix some input device mapping bugs with certain drivers." into gingerbread

Merge commit '33992d4195fe55f42ba6919f5a07707a51a12d5d'

* commit '33992d4195fe55f42ba6919f5a07707a51a12d5d':
Fix some input device mapping bugs with certain drivers.
271c1bfd60eaa20c3f37e685864d992e0770ac00 20-Aug-2010 Wu-cheng Li <wuchengli@google.com> Merge "Handle the camera open failure better." into gingerbread
e7044384b24051c9ac1ceef951beb97bbf8cf0f3 18-Aug-2010 Wu-cheng Li <wuchengli@google.com> Handle the camera open failure better.

Check if camera hardware is NULL to avoid mediaserver crash.

Change-Id: Ibde0251f30bdb6b36a5d5380222d7be25ec9449c
amera/CameraHardwareInterface.h
d1fbdf1a3f1e0609756f01e7eae5a8334777fa06 20-Aug-2010 Nipun Kwatra <nkwatra@google.com> const correctness, validPixel test.

- made width(), height() const member functions.
- added validPixel() which returns true if pixel is in the allowed range.
- now testing validPixel in get/setPixelValue

Change-Id: I1dee5060bd4f8dcbdcd542ec4647ea328f0185c3
edia/stagefright/YUVImage.h
cbd038fe207f183bc7e0a610973473f7c2e9d118 19-Aug-2010 James Dong <jdong@google.com> Merge "Make MediaWriter stop and pause return errors if necessary" into gingerbread
d036662470ceb6b20b0591b7d4123f2db911536d 19-Aug-2010 James Dong <jdong@google.com> Make MediaWriter stop and pause return errors if necessary

o Make the API consistent with SF framework, which the MediaSource
provides a return status for stop

o Also, helps to convey errors that occurred right when a
premature stop() is called, leading to a potentially
mal-formed output file.

Change-Id: I52a932345f38570fdf8ea04d67d73dd94ccd30ef
edia/stagefright/AMRWriter.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaWriter.h
eba1274978911ea188eead128645299669d02f60 19-Aug-2010 Wu-cheng Li <wuchengli@google.com> Merge "Adding getSupportedPreviewSizes to CameraParameters.DO NOT MERGE" into gingerbread
ccb915963e70c9b4e8fc47b5af97ab37b979195a 19-Aug-2010 Wu-cheng Li <wuchengli@google.com> Merge "Adding getSupportedPictureSizes to CameraParameters.DO NOT MERGE" into gingerbread
eef3c33e5604ae6304364b7aa6337616e2d4c61e 19-Aug-2010 Andreas Huber <andih@google.com> In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.

Change-Id: I98c4194593c7e6e24f6fc339c862245111800293
edia/stagefright/foundation/ABitReader.h
6c008b86409202b00fcfc2ca9db3a026c20ccaf7 04-Aug-2010 Nipun Kwatra <nkwatra@google.com> Adding getSupportedPreviewSizes to CameraParameters.DO NOT MERGE

Moved functionality to parse string of sizes from getSupportedPictureSizes
to parseSizesList.
Added getSupportedPreviewSizes which returns a list of supported preview sizes.

Change-Id: I41d4f62f9f1641e9e9258aa2ebaeda13ba846c02
amera/CameraParameters.h
0de0c4960da1ec2f6aeada9718755c37cfee45e0 30-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding getSupportedPictureSizes to CameraParameters.DO NOT MERGE

Also added a struct 'Size' containing a width and a height field.
Modified parse_size to optionally set an end pointer pointing to the
character after the found size.

Change-Id: I0c95ebf1ad4684721b32165f363db7d4d15a1b19
amera/CameraParameters.h
54d41379357d1d800d0a7bd7c5dc56111710482a 19-Aug-2010 Kenny Root <kroot@google.com> Merge "Add OBB flags to support overlays" into gingerbread
58d3bd08107f44cba79938dd8430e69c0fda4202 19-Aug-2010 Chia-chi Yeh <chiachi@android.com> Visualizer: replace the FFT implementation with a faster one.

This implementation uses fixed points instead of floating points. It
is slightly inaccurate compared to the old one but still perfect for
visualization purpose. It runs 40% faster on passion, 5 times faster
on sholes, and of course 14 times faster on sapphire.

Change-Id: I1e868417bcffda091becf106a7b941d02813faec
edia/Visualizer.h
ae9fc03bdccda709101291bbcd3beaa5b6daebfc 19-Aug-2010 Jeff Brown <jeffbrown@google.com> Add support for throttling motion events.

Change-Id: I24b3a17753e91ecda60a60fe5cd2e6b3260e033d
i/InputDispatcher.h
24844c9a30cf20467cd19d28f2e74de74c9c3622 18-Aug-2010 Wu-cheng Li <wuchengli@google.com> am a2527055: am c8696023: Merge "Document that autoFocus must be called in auto and macro mode." into gingerbread

Merge commit 'a2527055f8e3106fe70feeee10ae0c4ddc6596e9'

* commit 'a2527055f8e3106fe70feeee10ae0c4ddc6596e9':
Document that autoFocus must be called in auto and macro mode.
a9abfa54d32718fb778b006b1eb94c2e64542b5b 18-Aug-2010 Jeff Brown <jeffbrown@google.com> am 29eb491a: am 3922484d: Merge "Optimize EventHub reads." into gingerbread

Merge commit '29eb491a5addc78003299ecab6ab6c716201f9dc'

* commit '29eb491a5addc78003299ecab6ab6c716201f9dc':
Optimize EventHub reads.
671cc0ec30dfd73e17c3f3bd0170341c06ac945e 18-Aug-2010 Jeff Brown <jeffbrown@google.com> am 8fd80e92: am 72ce4235: Merge "Fix possible race conditions during channel unregistration." into gingerbread

Merge commit '8fd80e924a2f40f6a785f834914f8a6f18a3aa9d'

* commit '8fd80e924a2f40f6a785f834914f8a6f18a3aa9d':
Fix possible race conditions during channel unregistration.
a2527055f8e3106fe70feeee10ae0c4ddc6596e9 18-Aug-2010 Wu-cheng Li <wuchengli@google.com> am c8696023: Merge "Document that autoFocus must be called in auto and macro mode." into gingerbread

Merge commit 'c86960236d5b2095c87bf46de2400a905acabee2' into gingerbread-plus-aosp

* commit 'c86960236d5b2095c87bf46de2400a905acabee2':
Document that autoFocus must be called in auto and macro mode.
72e0b2ab08dc49857955a4560de296fdddada8dc 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Merge "Fix some input device mapping bugs with certain drivers." into gingerbread
2dfd7a7cbfa565e3aca584a9e5b6f681692b5781 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix some input device mapping bugs with certain drivers.

On single-touch devices, pointer up/down is signalled by a BTN_TOUCH
key event. Previously we handled BTN_TOUCH immediately but some drivers
may produce the sequence BTN_TOUCH, ABS_X, ABS_Y, SYN_REPORT on pointer down
which caused us to emit a bad initial pointer down location.
Now we wait for SYN_REPORT before reporting the up or down.

On multi-touch devices, pointer up can be signalled by as little as
the sequence SYN_MT_REPORT, SYN_REPORT. This change ensures that we
handle this case.

Added support for reading ABS_MT_PRESSURE when available.
Corrected mapping of touchMajor/touchMinor on single touch devices.
Minor code cleanup.

Change-Id: Ic7ec4811241ed85a06e59b8a839ca05180d491d4
i/InputReader.h
29eb491a5addc78003299ecab6ab6c716201f9dc 18-Aug-2010 Jeff Brown <jeffbrown@google.com> am 3922484d: Merge "Optimize EventHub reads." into gingerbread

Merge commit '3922484d7458a4ab72fc1ca8952a0776dd1c7d20' into gingerbread-plus-aosp

* commit '3922484d7458a4ab72fc1ca8952a0776dd1c7d20':
Optimize EventHub reads.
8fd80e924a2f40f6a785f834914f8a6f18a3aa9d 18-Aug-2010 Jeff Brown <jeffbrown@google.com> am 72ce4235: Merge "Fix possible race conditions during channel unregistration." into gingerbread

Merge commit '72ce42352c1c229e05d910b4176f3cddb608e814' into gingerbread-plus-aosp

* commit '72ce42352c1c229e05d910b4176f3cddb608e814':
Fix possible race conditions during channel unregistration.
c4554b9a0885ac3713575e91d8d33c5670b52322 22-Jun-2010 Jens Gulin <jens.gulin@sonyericsson.com> Keep track of remaining fd when devices are removed

Sometimes the wrong fd was accessed when the device was addressed
by device id.

The earlier implementation assumed that two arrays were in sync
but one of them was compacted when devices were removed. Instead
of that dependency the device now keeps track of it's file descriptor.

Change-Id: Ib0f320603aafb07ded354bc3687de9759c9068f2
i/EventHub.h
c86960236d5b2095c87bf46de2400a905acabee2 18-Aug-2010 Wu-cheng Li <wuchengli@google.com> Merge "Document that autoFocus must be called in auto and macro mode." into gingerbread
02ca31fbae9f35dd30f79de6927fae11b549391a 12-Aug-2010 Kenny Root <kroot@google.com> Add OBB flags to support overlays

* Add flags field in OBB footer to support overlays.

* Remove unused 'crypto' and 'filesystem' fields in obbtool (could
later be supported in the "flags" field of the OBB footer).

* Add notes to document OBB classes before shipping.

Change-Id: I386b43c32c5edef55210acb5d3322639c08010ba
tils/ObbFile.h
cc2e717f1d43a836d1abdee06bcb946416d06fd6 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Optimize EventHub reads.

Change-Id: Id7d09c0a6e5c741c1e29becd2b6560772c5ff372
i/EventHub.h
2cbecea4c9627d95377fc3e3b8a319116cee7feb 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix possible race conditions during channel unregistration.

Previously, the input dispatcher assumed that the input channel's
receive pipe file descriptor was a sufficiently unique identifier for
looking up input channels in its various tables. However, it can happen
that an input channel is disposed and then a new input channel is
immediately created that reuses the same file descriptor. Ordinarily
this is not a problem, however there is a small opportunity for a race
to arise in InputQueue.

When InputQueue receives an input event from the dispatcher, it
generates a finishedToken that encodes the channel's receive pipe fd,
and a sequence number. The finishedToken is used by the ViewRoot
as a handle for the event so that it can tell the InputQueue when
the event has finished being processed.

Here is the race:

1. InputQueue receives an input event, assigns a new finishedToken.
2. ViewRoot begins processing the input event.
3. During processing, ViewRoot unregisters the InputChannel.
4. A new InputChannel is created and is registered with the Input Queue.
This InputChannel happens to have the same receive pipe fd as
the one previously registered.
5. ViewRoot tells the InputQueue that it has finished processing the
input event, passing along the original finishedToken.
6. InputQueue throws an exception because the finishedToken's receive
pipe fd is registered but the sequence number is incorrect so it
assumes that the client has called finish spuriously.

The fix is to include a unique connection id within the finishedToken so
that the InputQueue can accurately confirm that the token belongs to
the currently registered InputChannel rather than to an old one that
happened to have the same receive pipe fd. When it notices this, it
ignores the spurious finish.

I've also made a couple of other small changes to avoid similar races
elsewhere.

This patch set also includes a fix to synthesize a finished signal
when the input channel is unregistered on the client side to
help keep the server and client in sync.

Bug: 2834068
Change-Id: I1de34a36249ab74c359c2c67a57e333543400f7b
i/InputDispatcher.h
f008f3ea82a0518375ee4ea41b32451badffbd95 17-Aug-2010 Wu-cheng Li <wuchengli@google.com> Document that autoFocus must be called in auto and macro mode.

Change-Id: Ia52f8bc8a75a7473edff50326a4a0467f4295e6a
amera/CameraParameters.h
0c316eeb437a0ac1d6840690be643d1a553f0b23 17-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am ddbcce3a: Merge "resolved conflicts for merge of be50507b to gingerbread-plus-aosp" into gingerbread-plus-aosp

Merge commit 'ddbcce3afbb38680fb84583f7bad5209307e6459'

* commit 'ddbcce3afbb38680fb84583f7bad5209307e6459':
Keep track of remaining fd when devices are removed
6525fca692c57f9746ab65535d3b2f7ec712113c 17-Aug-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of be50507b to gingerbread-plus-aosp

Change-Id: Iaa5fb62f7b82b488bca192e7f374c044c7e1e6a7
be50507bae350a8dea2a1a865513c31317d4cde9 17-Aug-2010 Jean-Baptiste Queru <jbq@google.com> Merge "Keep track of remaining fd when devices are removed"
4ad5c707fa1501f8aba1391cb79306d49ba66272 17-Aug-2010 James Dong <jdong@google.com> am 4fc2c928: am b7208196: Use audio clock as the reference media clock

Merge commit '4fc2c9280c5262c835a4eb78961241de105313c1'

* commit '4fc2c9280c5262c835a4eb78961241de105313c1':
Use audio clock as the reference media clock
b72081966da3842e27f88045cfa5a67cef3d4220 03-Aug-2010 James Dong <jdong@google.com> Use audio clock as the reference media clock

o Only do this for realtime applications
o Adjust other track clock based on audio clock
o Assume other track uses wall clock as the media clock
o Use some heuristics to reduce the size of stts box by 2/3.

- also
o Remove one unused key from MetaData.h

Change-Id: Ib9432842627b61795b533508158c25258a527332
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
fd83b2f92edf3d1f95161ad3cb2b45826bad6e35 12-Aug-2010 Wu-cheng Li <wuchengli@google.com> am 77a473fb: am ccaa0028: Merge "Improve camera documentation." into gingerbread

Merge commit '77a473fbcea0214832255af91e0a65d853757aae'

* commit '77a473fbcea0214832255af91e0a65d853757aae':
Improve camera documentation.
699fe9397974685e6b2c73f9a3a0eb9e5a5a2ccf 05-Aug-2010 Wu-cheng Li <wuchengli@google.com> Improve camera documentation.

Change-Id: I3c9e5e6de5ce64b8d7d892483930238fa9cc247c
amera/CameraParameters.h
e63cccf006166c03f542349908f1c0a7b4d2d9cc 12-Aug-2010 James Dong <jdong@google.com> am 8aa244ea: am 45cb3cfa: Merge "Handle large audio lost" into gingerbread

Merge commit '8aa244eab7ba834439cc919fd1f83d1e4ef49aff'

* commit '8aa244eab7ba834439cc919fd1f83d1e4ef49aff':
Handle large audio lost
45cb3cfacf3b07ae3c5f15eba9bbbcd060cee261 12-Aug-2010 James Dong <jdong@google.com> Merge "Handle large audio lost" into gingerbread
b219a83ff6278eeef981e6908abf871876a68699 12-Aug-2010 Jeff Brown <jeffbrown@google.com> am f66f8a58: am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread

Merge commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58'

* commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58':
Add support for the PointerLocation overlay.
95af0c14a64ef264d2b362ded4ca2b5a169d1066 12-Aug-2010 Jeff Brown <jeffbrown@google.com> Merge "Add support for the PointerLocation overlay." into gingerbread
a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0 11-Aug-2010 Jeff Brown <jeffbrown@google.com> Add support for the PointerLocation overlay.

This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications. The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).

Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
tils/String8.h
1f5a8d96da2f0d095196113a2bfa901c18592206 11-Aug-2010 Kenny Root <kroot@google.com> am 80328ba0: am 8ea71511: Merge "Initial tool for OBB manipulation" into gingerbread

Merge commit '80328ba09606bd0825d7d4c9a4f213d1de09e53a'

* commit '80328ba09606bd0825d7d4c9a4f213d1de09e53a':
Initial tool for OBB manipulation
6e7ac5f0bceddf51947fbf3b376e278df0735603 19-Jul-2010 Kenny Root <kroot@google.com> Initial tool for OBB manipulation

Add "obbtool" host command for adding, removing, and querying Opaque
Binary Blob (OBB) information from a file.

Change-Id: Id2ac41e687ad2a500c362616d6738a8ae7e8f5c3
tils/ObbFile.h
7b6d0d99b6904b511996267efae215fe9cb5e98f 11-Aug-2010 Dianne Hackborn <hackbod@google.com> am 679ac09a: am a5ae50cd: Merge "More native work." into gingerbread

Merge commit '679ac09a5c22175354f3a04b28456b323839530e'

* commit '679ac09a5c22175354f3a04b28456b323839530e':
More native work.
08d5b8fad8d46ccb64db2fdcb4d66972ec87bf48 04-Aug-2010 Dianne Hackborn <hackbod@google.com> More native work.

Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
ndroid_runtime/android_content_res_Configuration.h
tils/AssetManager.h
tils/ResourceTypes.h
afe5305855e2f3d830337f768028615a44d4aa16 11-Aug-2010 James Dong <jdong@google.com> Handle large audio lost

Change-Id: I2687ad855aac758946954d0b3fe7aff9f7b5ae7c
edia/stagefright/AudioSource.h
ea48ff4ba405923a88f5f0ef22be607be6310564 11-Aug-2010 Jeff Brown <jeffbrown@google.com> am 95105f3c: am c3fc2d03: Fix safe mode and KeyEvent.getMaxKeyCode().

Merge commit '95105f3c25110f28b236cfa71e9ad74533eef854'

* commit '95105f3c25110f28b236cfa71e9ad74533eef854':
Fix safe mode and KeyEvent.getMaxKeyCode().
c3fc2d03d58a258c53c9265a70143d4af076b764 11-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix safe mode and KeyEvent.getMaxKeyCode().

Bug: 2901731
Change-Id: I78617c1b9dee3790fc590e5af4b5083368873184
i/InputReader.h
030af3439fd3314b52ba998f89ea1c3acfb6c03e 10-Aug-2010 Andreas Huber <andih@google.com> am e14923b0: am 4edf85ab: Merge "Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder." into gingerbread

Merge commit 'e14923b0c80b2e73e69b7917c1f170b356592d29'

* commit 'e14923b0c80b2e73e69b7917c1f170b356592d29':
Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.
520b2a7039792f03da11a8d54344f10175cebfbc 09-Aug-2010 Andreas Huber <andih@google.com> Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.

Change-Id: I92685d09456c220b8c09842defb721bd55b0b9f6
related-to-bug: 2900021
edia/stagefright/MediaDefs.h
91fc6e8c89f176e157083c3fb06f05af01f61fc3 07-Aug-2010 Kenny Root <kroot@google.com> am d7ce227b: am 818490ab: Fix String8::operator+

Merge commit 'd7ce227bcb854f048124bbc487eba844c6599142'

* commit 'd7ce227bcb854f048124bbc487eba844c6599142':
Fix String8::operator+
818490ab2abe36dfc6c13d01fea5220bd64cca8c 06-Aug-2010 Kenny Root <kroot@google.com> Fix String8::operator+

The LHS was ignored when using:
String8 + String8
String8 + (const char*)

Add unit tests for above.

Bug: 2898473
Change-Id: Ic8fe7be668b665c36aaaa3fc3c3ffdfff0fbba25
tils/String8.h
84d65c725b07b3a67b35d71690627896508689b3 06-Aug-2010 James Dong <jdong@google.com> am 9c09a605: am 1441bdfc: Merge "Use the target color format from the camera source if possible" into gingerbread

Merge commit '9c09a60513faf39901bb8e4681d39812204b3f73'

* commit '9c09a60513faf39901bb8e4681d39812204b3f73':
Use the target color format from the camera source if possible
1441bdfc19d6998607adf1347ed8dafc102908c9 06-Aug-2010 James Dong <jdong@google.com> Merge "Use the target color format from the camera source if possible" into gingerbread
afd97e82cf28d72048c44f78c211a3e9ac6e11e5 04-Aug-2010 James Dong <jdong@google.com> Use the target color format from the camera source if possible

- If the target color format is unavailable, the default
platform-dependent color format will be used.

- Also add some logic to prevent looping forever if the
omx component is buggy supporting color format enumeration.

Change-Id: I119a78f0d6201b4c3621235cca2f523ec14e24e3
edia/stagefright/OMXCodec.h
0a3858b0de236e262aa9d3906086ea8bfe554a4f 05-Aug-2010 Andreas Huber <andih@google.com> am 1f513d88: am c17f35dd: Merge "Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation." into gingerbread

Merge commit '1f513d8821670a33d6361ea521b6756163a3f9bf'

* commit '1f513d8821670a33d6361ea521b6756163a3f9bf':
Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
3c7c351a6217ac48b741740167c201a679a0ca65 05-Aug-2010 Brian Carlstrom <bdc@google.com> Tracking merge of dalvik-dev to gingerbread

git cherry-pick --no-commit f77cf7f0
git cherry-pick --no-commit c8f503b5285e30c1a881d0ba860ba9021f57d113
git cherry-pick --no-commit 570bb561
git cherry-pick --no-commit e2417541
git cherry-pick --no-commit e4d81f25bd4dc1a5c909b56ab56a56406290da30
git cherry-pick --no-commit 5e8a587d

Change-Id: I101a385d43f3e0f4ce5352217f92ef67a3908c88
ndroid_runtime/AndroidRuntime.h
b70c1db70fc0481863ee57ab87e311ff11cc2c9d 04-Aug-2010 Nipun Kwatra <nkwatra@google.com> Adding parseSizesList, getSupportedPreviewSizes to CameraParameters.

Moved functionality to parse string of sizes from getSupportedPictureSizes
to parseSizesList.
Added getSupportedPreviewSizes which returns a list of supported preview sizes.

Change-Id: I435317427c1ee9623caef435f93e95d4476b7285
amera/CameraParameters.h
57648e4eec7dd2593af467877bc7cce4aa654759 04-Aug-2010 Andreas Huber <andih@google.com> Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.

Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
edia/mediarecorder.h
edia/stagefright/MetaData.h
5bac1cc0b8ddfeb1290d8324beaadd1e48f3fd14 04-Aug-2010 Chris Tate <ctate@android.com> am 9f6b16a2: am 5d46ce24: Merge "Enhanced VelocityTracker for > 5 pointers and fixed bugs." into gingerbread

Merge commit '9f6b16a29b62f29496bc652cfec7d6fe9f08c7f4'

* commit '9f6b16a29b62f29496bc652cfec7d6fe9f08c7f4':
Enhanced VelocityTracker for > 5 pointers and fixed bugs.
26d7a6df73d0c434a5a0afac20f49bdda0c48f43 04-Aug-2010 James Dong <jdong@google.com> am 246aad12: am 3d84280c: Merge "File writer has a designated writer thread now" into gingerbread

Merge commit '246aad12cf2becda5111d03fd1dd8f39712686f2'

* commit '246aad12cf2becda5111d03fd1dd8f39712686f2':
File writer has a designated writer thread now
6c8687cf1e52abede549908afe8d8820d24eaecd 04-Aug-2010 James Dong <jdong@google.com> am 51a260d8: am 23796e3b: Merge "Add lost frame handling in AudioSource" into gingerbread

Merge commit '51a260d8c6e9a5c6b6c2cf808554ae013c1a7bef'

* commit '51a260d8c6e9a5c6b6c2cf808554ae013c1a7bef':
Add lost frame handling in AudioSource
5d46ce24cc46dc57d31f809302af916999114ced 03-Aug-2010 Chris Tate <ctate@android.com> Merge "Enhanced VelocityTracker for > 5 pointers and fixed bugs." into gingerbread
3d84280ccc31d12765e2efe03e2dd3ade1acfc33 03-Aug-2010 James Dong <jdong@google.com> Merge "File writer has a designated writer thread now" into gingerbread
23796e3b622c6be4feb15d4d57e58645acfa431b 03-Aug-2010 James Dong <jdong@google.com> Merge "Add lost frame handling in AudioSource" into gingerbread
da8073c68e63179e1d4f5fb562e5625af686c984 31-Jul-2010 James Dong <jdong@google.com> File writer has a designated writer thread now

+ This reduces the file I/O block time for audio/video track processing
- Since the file writer is buffering some output samples, the memory
usage would go up, depending on how many output samples are buffered.

Change-Id: I780cc5b26f4b53a5efbd643fcf9505dfc19cd4cd
edia/stagefright/MPEG4Writer.h
b1fb6079ef7f005c4be8de76bef57ce10c1efe76 31-Jul-2010 Nipun Kwatra <nkwatra@google.com> Implementing getSupportedPictureSizes

Go through all the supported picture sizes and choose the smallest one with
both dimensions higher than the passed in video width and height.

Change-Id: I4e9fe7a6384a0feeb9e069239ec68c70fb5f3033
edia/stagefright/CameraSourceTimeLapse.h
9e2ad36be87f2703b3d737189944d82f93bd4f27 31-Jul-2010 Jeff Brown <jeffbrown@google.com> Enhanced VelocityTracker for > 5 pointers and fixed bugs.

Improved PointerLocation tool to use VelocityTracker more efficiently
and correctly when multiple pointers are down.

Fixed a bug in TouchInputMapper where it was not correctly copying
the id to index map in the last touch data. This could cause strange
behavior on secondary pointer up events.

Also added finished callback pooling in InputQueue.

Change-Id: Ia85e52ac2fb7350960ea1d7edfbe81a1b3e8267b
i/InputReader.h
51c2ec24116919d710e8770e253f14e15e295f2b 30-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding getSupportedPictureSizes which returns a Vector of supported Sizes.

Also added a struct 'Size' containing a width and a height field.
Modified parse_size to optionally set an end pointer pointing to the
character after the found size.

Change-Id: I51a56bbf2cb7c91d7b80a28e6bd6a559f40a1333
amera/CameraParameters.h
bc6ed6c9f651b140939e857b0fb60eff27a6b760 30-Jul-2010 Jeff Brown <jeffbrown@google.com> am 3b724c83: am 00e5c613: Merge "Improve thread safety of input mappers." into gingerbread

Merge commit '3b724c836b13b320b2b2c492c28660617e0d503e'

* commit '3b724c836b13b320b2b2c492c28660617e0d503e':
Improve thread safety of input mappers.
00e5c61366d3d3d62c259277823ea15a14f68ad4 30-Jul-2010 Jeff Brown <jeffbrown@google.com> Merge "Improve thread safety of input mappers." into gingerbread
6328cdc89e099806a1893b89e4c724d596272d9e 30-Jul-2010 Jeff Brown <jeffbrown@google.com> Improve thread safety of input mappers.

Also fixed bug where old touch screen size could be reported by
getMotionRange if an orientation change occurred but the user has not
yet touched the screen.

Bug: 2877345
Change-Id: I7878f47458f310ed6ebe6a5d1b2c9bec2c598ab9
i/InputReader.h
c3ae937a95cbaf4afbe8aa006dc3db4c27f0ad44 30-Jul-2010 James Dong <jdong@google.com> Add lost frame handling in AudioSource

- Also collect stats on lost audio frames instead of time spent on reading

Change-Id: I6380b143e4fbdcd894491aaae523331e90d0f04f
edia/stagefright/AudioSource.h
154a320069a316491c25b716f2aeea8c51a758e8 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 27eecb70 to gingerbread

Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
e4d81f25bd4dc1a5c909b56ab56a56406290da30 15-Jul-2010 Andy McFadden <fadden@android.com> Add support for dalvik.vm.extra-opts property.

The goal here is to avoid the dalvik.vm.* property explosion by
having a single property that takes an arbitrary collection of Dalvik
command-line options. This is intended for testing of various
configurations by the Dalvik team, not industrial use.

Options should be separated by spaces, e.g.

adb shell setprop dalvik.vm.extra-opts "-showversion -Xmx4m"

will print the version banner and set the heap max to 4MB, which won't
get you very far.

The extra-opts options will appear last, which allows them to override
values set earlier (like the heap max).

Bug 2838629.

(cherry-pick from dalvik-dev branch)

Change-Id: Ibcbb1b62367cf2152798583e8722ef7e461ad19a
ndroid_runtime/AndroidRuntime.h
ce49d03aa40123a086d6017052873bed83835298 30-Jul-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of 02513855 to master

Change-Id: Ie33d57798d3d5b800edde753dac86de062bc270c
02513855530b80dd554b13852db75f3adde2c9f4 30-Jul-2010 Mathias Agopian <mathias@google.com> am 050b5624: Added SensorManager.getMinDelay()

Merge commit '050b56244ff46d43e4886018d7cd20f0b1dc02b9' into gingerbread-plus-aosp

* commit '050b56244ff46d43e4886018d7cd20f0b1dc02b9':
Added SensorManager.getMinDelay()
050b56244ff46d43e4886018d7cd20f0b1dc02b9 30-Jul-2010 Mathias Agopian <mathias@google.com> Added SensorManager.getMinDelay()

Exposed the new "min delay" sensor property through native and
java sensor apis. This allows the caller to know what is the
maximum rate at which a sensor can return events, or, if a sensor
works in "update" mode (events returned only when the value changes).

Also augmented SensorManager.regusterSensorEvent() so that it can
accept a value in microsecond in addition to the 4 constants already
defined.

Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
ui/Sensor.h
ui/SensorEventQueue.h
8f5d160c92bb03a9156301e0577fa590f1ce0199 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> am 0c51c98f: am 4506c62a: fix inaccurate copyrights

Merge commit '0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf'

* commit '0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf':
fix inaccurate copyrights
0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> am 4506c62a: fix inaccurate copyrights

Merge commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625' into gingerbread-plus-aosp

* commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625':
fix inaccurate copyrights
27eecb704a27c1c73ed3449eba0307d8138b9c2e 30-Jul-2010 The Android Open Source Project <initial-contribution@android.com> Merge branch 'froyo' of git://android.git.kernel.org/platform/frameworks/base into HEAD
83407b993f79e06470100f605748aba41cbeb966 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> fix inaccurate copyrights

Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
amera/Camera.h
edia/IMediaRecorder.h
edia/PVMediaRecorder.h
4506c62abd5767d6d42a97e8e87793a1b3bcb625 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> fix inaccurate copyrights

Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
amera/Camera.h
edia/IMediaRecorder.h
edia/PVMediaRecorder.h
2571356e560bd44b3f0d4e466210b50d4511d24d 29-Jul-2010 Nipun Kwatra <nkwatra@google.com> Merge "Support for video size to be different from captured picture size."
c2aa115fe640655311f125904517c52e3740e53d 29-Jul-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding YUVImage and YUVCanvas."
6ec402b5ae33c8927694d8522b4cc6a5c8ba974e 29-Jul-2010 Jeff Brown <jeffbrown@google.com> DO NOT MERGE: Fix input event injection ANRs on UI thread.

Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6
i/InputDispatcher.h
i/InputManager.h
bbda99d2086d79ac70b403cad38a47c35af84adf 29-Jul-2010 Jeff Brown <jeffbrown@google.com> Fixed StatusBar ANRs due to input event injection on UI thread.

Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: I0464f70ff5cbd519dbb02686b2cb5d810fe7dbb2
i/InputDispatcher.h
i/InputManager.h
dce4beb17982faeb6308bd7ee86c684514a3bad3 28-Jul-2010 Nipun Kwatra <nkwatra@google.com> Support for video size to be different from captured picture size.

Adding support to allow video size to be different than the supported
picture sizes. A picture size larger than the demanded video size is
chosen. Captured pictures are then cropped to the size of the desired
video size. Cropping is done from the the center portion of the picture.

Change-Id: I6bcbe16f94b6ecbcf28b7f46826a81b4b6b8cbc3
edia/stagefright/CameraSourceTimeLapse.h
a435c1389a149996d14c8a1efefcfb1ae7c7ea70 28-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding YUVImage and YUVCanvas.

YUVImage is a container class to hold YUV data and provide
various utilities, e.g. to set/get pixel values for different
YUV formats, fast copying routines, etc.
Currently supported YUV420 Planar and YUV420 Semi Planar.

YUVCanvas holds a reference to a YUVImage on which it can do various
drawing operations.

Change-Id: I052a57b7fbc834efe1626914f76c04c091996cac
edia/stagefright/YUVCanvas.h
edia/stagefright/YUVImage.h
16263d9f8cc01392c2f3678b381ce897647c8c81 20-Jul-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 4abf16bb04dc9695fedf4007a84f903074312ccd
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 20 09:21:17 2010 -0700

Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.

Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
related-to-bug: 2826841

commit 09c74da63e6ad5cb5dafb70f62696d75d2978967
Author: James Dong <jdong@google.com>
Date: Sun Jul 18 17:57:01 2010 -0700

Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.

Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8

commit f672bf2a782dc7d5fb6325d611a7fe17045dfe9a
Author: James Dong <jdong@google.com>
Date: Thu Jul 8 20:56:13 2010 -0700

Enable the support for decoding audio with AAC+ and eAAC+ features

bug - 282684

Change-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b

Change-Id: I012f1179e933b6d1345d2368f357576c722485f7
edia/stagefright/AudioPlayer.h
fdbb58cb11ac459ca6ea83725a6314379002ec09 29-Jul-2010 Mathias Agopian <mathias@google.com> am 9362ea76: am 9f2a91bc: Merge "fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once." into gingerbread

Merge commit '9362ea760f565389f5accce7e17476d05510ed59'

* commit '9362ea760f565389f5accce7e17476d05510ed59':
fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.
9f2a91bc2b01c2cc60f73a0bae673225fdddec09 29-Jul-2010 Mathias Agopian <mathias@google.com> Merge "fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once." into gingerbread
9835d6127280a10ae2bfab31d9ad6b8b8c74762c 29-Jul-2010 Christopher Tate <ctate@google.com> am 1de9f490: am bae6fe24: Merge "Support streaming of compressed assets > 1 megabyte" into gingerbread

Merge commit '1de9f490b5c3f293b3748be3d4ccf3f78cdf460b'

* commit '1de9f490b5c3f293b3748be3d4ccf3f78cdf460b':
Support streaming of compressed assets > 1 megabyte
bae6fe242ff9a97840ff0c5d9d87c0575d261682 29-Jul-2010 Christopher Tate <ctate@google.com> Merge "Support streaming of compressed assets > 1 megabyte" into gingerbread
b100cbf178e91d6652ebbad3ed36684cacb9d10e 26-Jul-2010 Christopher Tate <ctate@google.com> Support streaming of compressed assets > 1 megabyte

Compressed assets larger than one megabyte are now decompressed on demand
rather than being decompressed in their entirety and held in memory. Reading
the data in order is relatively efficient, as is seeking forward in the stream.
Seeking backwards is supported, but requires reprocessing the compressed data
from the beginning, so is very inefficient.

In addition, the size limit on compressed assets has been eliminated.

Change-Id: I6e68247957e6c53e7e8ba70d12764695f1723bad
tils/Asset.h
tils/StreamingZipInflater.h
2279971b6f66d60240b8c72a9d52644a3bcdf01b 28-Jul-2010 Jeff Brown <jeffbrown@google.com> am 9795a25d: am 6d0fec2d: Refactor input reader to support new device types more easily.

Merge commit '9795a25da060f9a7df87da8ab43fb1086d4322a5'

* commit '9795a25da060f9a7df87da8ab43fb1086d4322a5':
Refactor input reader to support new device types more easily.
6d0fec2de3601821f4f44eeb7d7deedebb2b7117 24-Jul-2010 Jeff Brown <jeffbrown@google.com> Refactor input reader to support new device types more easily.

Refactored the input reader so that each raw input protocol is handled
by a separate subclass of the new InputMapper type. This way, behaviors
pertaining to keyboard, trackballs, touchscreens, switches and other
devices are clearly distinguished for improved maintainability.

Added partial support for describing capabilities of input devices
(incomplete and untested for now, will be fleshed out in later commits).

Simplified EventHub interface somewhat since InputReader is taking over
more of the work.

Cleaned up some of the interactions between InputManager and
WindowManagerService related to reading input state.

Fixed swiping finger from screen edge into display area.

Added logging of device information to 'dumpsys window'.

Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
i/EventHub.h
i/Input.h
i/InputDevice.h
i/InputManager.h
i/InputReader.h
ba2709583d9b759ca7b2aad05dcbeeb2a6c4083e 28-Jul-2010 Eric Laurent <elaurent@google.com> am 6fa88882: am 62d83a0c: Merge "Audio effects: modified command() parameter types." into gingerbread

Merge commit '6fa8888254deb4961dc64c6ac03dc103c9cd8bcf'

* commit '6fa8888254deb4961dc64c6ac03dc103c9cd8bcf':
Audio effects: modified command() parameter types.
a4c72acfbc6c06588dd26cf41e67a834fc0a54f9 28-Jul-2010 Eric Laurent <elaurent@google.com> Audio effects: modified command() parameter types.

The type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()
function have been modified from int to uint32_t. This is more consistent with their role.

Change-Id: I84d289fc262d6753747910f06f485597dfee6591
edia/AudioEffect.h
edia/EffectApi.h
edia/IEffect.h
edia/IEffectClient.h
51c70e3e41ee8bedc1d951a06a74202dafa13009 28-Jul-2010 Mathias Agopian <mathias@google.com> fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.

this situation happened when the last buffer needed to be resized
(or allocated, the first time). the assumption was that the buffer
was in use by SF itself as the current buffer (obviously, this
assumption made no sense when the buffer had never been allocated, btw).

the system would wait until some other buffer became the "front" buffer.

we fix this problem by entirely removing the requirement that the
buffer being resized cannot be the front buffer. instead, we just
allocate a new buffer and replace the front buffer by the new one.

the downside is that this uses more memory (an extra buffer) for a
brief amount of time while the old buffer is being reallocated and
before it has actually been replaced.

Change-Id: I022e4621209474ceb1c671b23deb4188eaaa7285
rivate/surfaceflinger/SharedBufferStack.h
84fabc0ce3d7c3da73903380d0d6141d60fa4448 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 245cb784: am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread

Merge commit '245cb7846c82f7c0840e13f0b994d356846b1678'

* commit '245cb7846c82f7c0840e13f0b994d356846b1678':
Replace several IPCThreadState::get() lookups with one.
84c924a6c53cb63ca018013c9fda0077413d0005 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread
7bcad8a315f12bd6251a998781efac7b11c2ca84 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Replace several IPCThreadState::get() lookups with one.

Also, make StrictMode's ThreadLocal final.

Change-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0
inder/Parcel.h
b008e9b1281da871e970e5b4817f78afb4f12d4a 27-Jul-2010 Eric Laurent <elaurent@google.com> resolved conflicts for merge of d306cc81 to master

Change-Id: Ib593b7719a837de12605e8c75904634843298ba1
ca57d1cc89d65dfbd59c749c5736574cd08c7bd3 23-Jul-2010 Eric Laurent <elaurent@google.com> Audio Effects: added methods to effects java classes to store and load current effect settings in
a single call.

Addional changes:
- Fixed simulator build
- Use effect interface UUIDs from OpenSL ES includes when available
- Added cleanspec rules to remove now obsolete test effect libraries
- Fixed bug in AudioEffect JNI setParameter function.

Change-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b
edia/EffectBassBoostApi.h
edia/EffectEnvironmentalReverbApi.h
edia/EffectEqualizerApi.h
edia/EffectPresetReverbApi.h
edia/EffectVirtualizerApi.h
edia/EffectVisualizerApi.h
d01371bf691ff04e4957e49805503dbf20b338df 21-Jul-2010 Nipun Kwatra <nkwatra@google.com> Allowing setting of time lapse parameters through MediaRecorder.java

added setTimeLapseParameters() to MediaRecorder.java and SetParameter support
in StagefrightRecorder to allow enabling time lapse and setting the corresponding
parameters.

Change-Id: I509040aa71f8d3fc37337b0894a81d9c0fd7a40a
edia/stagefright/CameraSourceTimeLapse.h
9c9d0684a0e8b8368e649e102063ef48179d58c7 23-Jul-2010 James Dong <jdong@google.com> am 9bc4dc11: am 53d4e0d5: Allows the authoring engine to skip frame.

Merge commit '9bc4dc114fce58606a81d65d4cb31348cc7c1bae'

* commit '9bc4dc114fce58606a81d65d4cb31348cc7c1bae':
Allows the authoring engine to skip frame.
53d4e0d58e2d5c18f6e026c705af833b9bdd7aba 21-Jul-2010 James Dong <jdong@google.com> Allows the authoring engine to skip frame.

This is 1st part of the work to allow audio and video resync if
we found out that audio and video are out of sync during authoring

- also fixed a problem in AACEncoder::read() where the buffer acquired
from the buffer group does not release when error out at
reading from source.

Change-Id: I8a2740097fcfdf85e6178869afeb9f3687a99118
edia/stagefright/MediaSource.h
edia/stagefright/OMXCodec.h
8dac3bf922de433bc7d08c9968dfc5087de34b86 22-Jul-2010 Andreas Huber <andih@google.com> am b72d3180: am 81046c8c: Merge "Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes." into gingerbread

Merge commit 'b72d3180dc8d41d6269664bea808b04410bbe40f'

* commit 'b72d3180dc8d41d6269664bea808b04410bbe40f':
Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes.
81046c8c42ff3b630c6496deafd44f2a07a25463 22-Jul-2010 Andreas Huber <andih@google.com> Merge "Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes." into gingerbread
4e4173b0af52bdf2b5730a5837476e400c5b2040 22-Jul-2010 Andreas Huber <andih@google.com> Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes.

Change-Id: I110e19d5ce33e597add3ffbd3e3ff3815862396d
edia/stagefright/foundation/ALooper.h
5c49ec30b57a18ac022601473c9524f40554c9cf 22-Jul-2010 Mathias Agopian <mathias@google.com> am 1f2ec407: am 23e8de26: propagate sensor event rate properly

Merge commit '1f2ec4070aa9c999d41dc50a892a896e894c5710'

* commit '1f2ec4070aa9c999d41dc50a892a896e894c5710':
propagate sensor event rate properly
50558b956157dad980441bf4fb44931ce834e36b 22-Jul-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of bc54e63c to master

Change-Id: I4245b15b4cda6963d735442c0c6a04a0477ff5e1
23e8de26b7b3d04daf08526f314c2fdd2f8fee65 22-Jul-2010 Mathias Agopian <mathias@google.com> propagate sensor event rate properly

Change-Id: I32e67d30e4295285a6827956cc8161b2025d70bc
ui/SensorEventQueue.h
e4764521353e898554931a557460fc49209fb0a9 22-Jul-2010 Mathias Agopian <mathias@google.com> Merge "new SensorService" into gingerbread
9511ab83d6a136a4140ddf78bd4be61b7c3a2bbe 21-Jul-2010 Andreas Huber <andih@google.com> am 8a9a931f: am 8138e841: Merge "Support finer seek control on MediaSources." into gingerbread

Merge commit '8a9a931fff2d184f7cf77fdd8a425f682f006cfd'

* commit '8a9a931fff2d184f7cf77fdd8a425f682f006cfd':
Support finer seek control on MediaSources.
8138e841a5adb3c5629e263f5a8cb2e936d234ce 21-Jul-2010 Andreas Huber <andih@google.com> Merge "Support finer seek control on MediaSources." into gingerbread
0119ba5bd3335fe026927eeb65de535a7bd8c838 21-Jul-2010 Eric Laurent <elaurent@google.com> am 34161132: am 7070b365: Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Merge commit '34161132030254bac7dd64c9713832e2f961a061'

* commit '34161132030254bac7dd64c9713832e2f961a061':
Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
6624c9fd0bc5e3858a22a04c05b5059445c1c367 21-Jul-2010 Andreas Huber <andih@google.com> Support finer seek control on MediaSources.

related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
edia/stagefright/MediaSource.h
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
7070b36549d511d6627538c73dfbab23fbae5b43 16-Jul-2010 Eric Laurent <elaurent@google.com> Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Added methods to AudioTrack and MediaPlayer java classes to enable use of
auxiliary audio effects. The effect can be attached and detached by specifying its
ID and the send level controlled.

Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
edia/AudioTrack.h
edia/IMediaPlayer.h
edia/mediaplayer.h
c5eeedc93d7b9633d59fae7bc21a22a0e78fa373 21-Jul-2010 James Dong <jdong@google.com> am 9049fe60: am d7514ec6: Merge "Progress status notification" into gingerbread

Merge commit '9049fe60c20640bd606741c8f45f3f781a1684f5'

* commit '9049fe60c20640bd606741c8f45f3f781a1684f5':
Progress status notification
d7514ec6eb17d262d6f9605a2c2f245b7ad7c0b9 20-Jul-2010 James Dong <jdong@google.com> Merge "Progress status notification" into gingerbread
87419a2b3d519b9667cbe7c83482939c7ff65414 20-Jul-2010 Nipun Kwatra <nkwatra@google.com> Merge "Restart preview after each takePicture is done."
240677ec68790b9af5fd16a604c0780eb2938bd6 20-Jul-2010 Eric Laurent <elaurent@google.com> resolved conflicts for merge of dd206093 to master

Change-Id: I21dd2321a4839d034d49092baccbf40986f17dae
4cd8672662b0e56f6b8b5c7e3cf6ced8c1b15638 19-Jul-2010 Nipun Kwatra <nkwatra@google.com> Restart preview after each takePicture is done.

Preview is called when CAMERA_MSG_COMPRESSED_IMAGE is recieved by
dataCallback(). It needs to be started as a new thread so that the
callback can return, and the camera can know that takePicture() is
done.

Change-Id: I4d0febbc993aac43b37f9f4a824e9c7b8785f19e
edia/stagefright/CameraSourceTimeLapse.h
22a2d7186d015efcd648dff99500f8467463be82 20-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Audio policy manager changes for audio effects" into gingerbread
f91f2971a8a03026664666c332abe73f70c5b437 20-Jul-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding support for timelapse capture using still camera's takepicture. Also moving entire implementation into a new class CameraSourceTimeLapse which inherits from CameraSource."
0ef7da159d2dcb469985291aaaedcd717c1c02b8 20-Jul-2010 Andreas Huber <andih@google.com> am ff45709f: am cc14a839: Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we\'ll still play it back correctly.

Merge commit 'ff45709fbd1f24de1cf75ce9ce9ac8694ff1abbe'

* commit 'ff45709fbd1f24de1cf75ce9ce9ac8694ff1abbe':
Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.
8ed6ed0b6216a9dfcbcd6a5ba6a62d28a901baec 13-Jul-2010 Eric Laurent <elaurent@google.com> Audio policy manager changes for audio effects

Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.

Modifications of audio effect framework in AudioFlinger to allow moving and reconfiguring
effect engines from one output mixer thread to another when audio tracks in the same session
are moved or when requested by audio policy manager.
Also fixed mutex deadlock problem with effect chains locks.

Change-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
cc14a8393b92cd1ed6cba74829396045605ab211 20-Jul-2010 Andreas Huber <andih@google.com> Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.

Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
related-to-bug: 2826841
edia/stagefright/AudioPlayer.h
85edea79583eb486c8c5c51595a95ddc4ad217f0 16-Jul-2010 James Dong <jdong@google.com> Progress status notification

- Keep track of per-track progress

Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
edia/stagefright/MPEG4Writer.h
f9b80182bcd32d563c23c12b4ac06517fd6da531 12-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding support for timelapse capture using still camera's takepicture.
Also moving entire implementation into a new class CameraSourceTimeLapse
which inherits from CameraSource.

For timelapse capture using still camera, we start a thread which runs a
loop in which it calls Camera::takePicture() and then sleeps until the next
frame should be captured.
The function dataCallback() handles the callback from the camera with the
raw image data. This function copies the data and creates an artificial
timestamp corresponding to one frame time ahead of the last encoded frame's
time stamp. It then calls dataCallbackTimestamp() of the base class which
will think that it recieved the frame from a video camera and proceed as usual.

For moving the implementation to the subclass CameraSourceTimeLapse, added a
few virtual functions to CameraSource, which do the current thing for the base
class, but specialized things for CameraSourceTimeLapse.
E.g. startCameraRecording() in the base class just calls mCamera->startRecording(),
while in CameraSourceTimeLapse it may start a thread for the still camera case.

Change-Id: Ib787f24bd2e1f41681513f0257e1c4ca10a2b4de
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
1bf797857e025e8a71db86fb9e79765a767ec1eb 15-Jul-2010 Mathias Agopian <mathias@google.com> new SensorService

remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.

Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
ui/ISensorServer.h
ui/Sensor.h
ui/SensorEventQueue.h
ui/SensorManager.h
691a9fcb2bc1b78f1f1048c3d7a39143be9dcdd7 17-Jul-2010 Jamie Gennis <jgennis@google.com> am 04b95313: am c8c79a65: Merge "Re-use existing Surface objects when reading them from parcels." into gingerbread

Merge commit '04b953132edb5482f0aa6d992f89e7016961528c'

* commit '04b953132edb5482f0aa6d992f89e7016961528c':
Re-use existing Surface objects when reading them from parcels.
5b45b1c274d448a304188d07cb54ac5d2668f203 17-Jul-2010 Jeff Brown <jeffbrown@google.com> am 7b8df313: am 00ba8844: Fix individual pointer id up/down reporting.

Merge commit '7b8df313f714d6e8d536e0f8bbe5496fe9a6c26d'

* commit '7b8df313f714d6e8d536e0f8bbe5496fe9a6c26d':
Fix individual pointer id up/down reporting.
c8c79a654d4ae8e3a883854e19cc2df757f72d82 17-Jul-2010 Jamie Gennis <jgennis@google.com> Merge "Re-use existing Surface objects when reading them from parcels." into gingerbread
00ba884436dc8b222ad850c73c936d87bf4e84de 17-Jul-2010 Jeff Brown <jeffbrown@google.com> Fix individual pointer id up/down reporting.

Fix a minor threading bug in InputManager dump.

Change-Id: Ic2eecf7df5a8dc9f40561fcb03ebe58a2c073778
i/InputReader.h
5ee65f0d441ca558bc95b60c1468f2aadfeeddbd 16-Jul-2010 Jamie Gennis <jgennis@google.com> Re-use existing Surface objects when reading them from parcels.

This change adds a process-global cache of previously deserialized Surface
objects so that if a Surface object wrapping the same ISurface gets received
again the same Surface can be used. This is important because the 'tail'
pointer in the SharedBufferClient is stored only on the client side, and needs
to be the same for all the Surface objects wrapping an ISurface instance. This
solves the problem by making there only be one Surface object wrapping an
ISurface per process.

Change-Id: I4bf0b8787885c56277622fca053022d2bb638902
urfaceflinger/Surface.h
eb857f12d605659b385d168ef1ea7d4ba5193585 16-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of f7adbe10 to master

Change-Id: I898a5e53b180adaee2337c0c0b9896c799d056e7
2469e40924050797f0a4c059b01eff65539d2445 16-Jul-2010 Eric Laurent <elaurent@google.com> am f16b3f10: am b0374a0e: Merge "Several improvements in audio effects volume control." into gingerbread

Merge commit 'f16b3f104f60738447db60bcf2c44c7610e17199'

* commit 'f16b3f104f60738447db60bcf2c44c7610e17199':
Several improvements in audio effects volume control.
781d34747941f3534b2a985ff57368ad89855d7d 16-Jul-2010 Dianne Hackborn <hackbod@google.com> am 9c37e5ad: am 75a91389: Merge "Implement native key pre-dispatching to IMEs." into gingerbread

Merge commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961'

* commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961':
Implement native key pre-dispatching to IMEs.
eec69d2923636b2aaa51df93bacc2b3bbb742736 16-Jul-2010 Jeff Brown <jeffbrown@google.com> Merge "Fix bug with phantom input windows." into gingerbread
b0374a0e22756d956f8ebf2b19b1139e9e5e3384 16-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Several improvements in audio effects volume control." into gingerbread
e33348ba54cd68d6936cffd4507037c14d4b10c2 16-Jul-2010 Jeff Brown <jeffbrown@google.com> Fix bug with phantom input windows.

Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.

Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
tils/String8.h
b75fa30aaf03d9e425d150b452501e5df0621351 16-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of aca672ba to master

Change-Id: I7ae11fca0acdbf513a4870226d0d3e3cafbe9a08
9555a1323e846aba16e6a7f2e5d9a9227523e595 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am cc52121c: am c4b204bd: Merge "More StrictMode work, keeping Binder & BlockGuard\'s thread-locals in-sync." into gingerbread

Merge commit 'cc52121c4f88e9feb8404937bcbfff6e73084666'

* commit 'cc52121c4f88e9feb8404937bcbfff6e73084666':
More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.
6ba776ad34a8029e4d0c784ce0092f1fcbc91bef 16-Jul-2010 Christopher Tate <ctate@google.com> am 078ccbdb: am 2c40582a: Merge "Add native C APIs for working with the Asset Manager" into gingerbread

Merge commit '078ccbdbb98c118aa87cab2fef61ff90dd128358'

* commit '078ccbdbb98c118aa87cab2fef61ff90dd128358':
Add native C APIs for working with the Asset Manager
2c6081ce3593712f30dacd990a97209c791d6ced 16-Jul-2010 Dianne Hackborn <hackbod@google.com> Implement native key pre-dispatching to IMEs.

This significantly re-works the native key dispatching code to
allow events to be pre-dispatched to the current IME before
being processed by native code. It introduces one new public
API, which must be called after retrieving an event if the app
wishes for it to be pre-dispatched.

Currently the native code will only do pre-dispatching of
system keys, to avoid significant overhead for gaming input.
This should be improved to be smarted, filtering for only
keys that the IME is interested in. Unfortunately IMEs don't
currently provide this information. :p

Change-Id: Ic1c7aeec8b348164957f2cd88119eb5bd85c2a9f
ndroid_runtime/android_app_NativeActivity.h
i/Input.h
c5ed5910c9ef066cec6a13bbb404ec57b1e92637 15-Jul-2010 Jeff Brown <jeffbrown@google.com> Add support for new input sources.

Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.

Renamed NDK input constants per convention.

Added InputDevice class in Java which will eventually provide
useful information about available input devices.

Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.

Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.

Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.

Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.

Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
i/EventHub.h
i/Input.h
i/InputDevice.h
i/InputDispatcher.h
i/InputTransport.h
c4b204bdc4ab974f1f96814c93d8eaa750c15122 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync." into gingerbread
6cce32b6adbb3a9725fc730ba0e0068a74657e60 13-Jul-2010 Christopher Tate <ctate@google.com> Add native C APIs for working with the Asset Manager

Change-Id: I493b142c4b35e5cc1a1e85283bb5dfb306a6d261
tils/AssetManager.h
727de40c6bc7c6521a0542ea9def5d5c7b1c5e06 08-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.

Change-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5
inder/Parcel.h
76c40f74ced0b034a534ebc31ab9616425d3e711 15-Jul-2010 Eric Laurent <elaurent@google.com> Several improvements in audio effects volume control.

- Fixed crash when deleting an effect chained before an effect having volume control
- Changed EFFECT_FLAG_VOLUME_CTRL to implicitely include EFFECT_FLAG_VOLUME_IND
(not need to set both in effect descriptor).
- Volume control changes from one effect to another if needed according to effect enable state
- EFFECT_CMD_SET_VOLUME is only sent when their is an actual change in volume

Change-Id: Ieebaf09157e2627366023569d95516646e03e26c
edia/EffectApi.h
892681e56ee6da6e8d4fb9ec41e75e814ae9e099 15-Jul-2010 James Dong <jdong@google.com> am b068b47c: am d6a85a21: Merge "Support user-supplied timescales for authoring" into gingerbread

Merge commit 'b068b47c6d0214256116a0c661740bddf7acc18c'

* commit 'b068b47c6d0214256116a0c661740bddf7acc18c':
Support user-supplied timescales for authoring
d6a85a21418338a7797bff731fa7a551f62a9e86 15-Jul-2010 James Dong <jdong@google.com> Merge "Support user-supplied timescales for authoring" into gingerbread
53459436ed17f46d695d061b08e952a00d679ae6 15-Jul-2010 Mathias Agopian <mathias@google.com> am c74034b6: am 24651682: added BinderService<> template to help creating native binder services

Merge commit 'c74034b6bf0940dc80c4d4efa1e677ad0d2dfd6c'

* commit 'c74034b6bf0940dc80c4d4efa1e677ad0d2dfd6c':
added BinderService<> template to help creating native binder services
24651682edaf71e8a826f23a7ea09bc97c8072c4 15-Jul-2010 Mathias Agopian <mathias@google.com> added BinderService<> template to help creating native binder services

Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
inder/BinderService.h
52d13f01a60f04d5a8a181ceb5400e32aee5637d 02-Jul-2010 James Dong <jdong@google.com> Support user-supplied timescales for authoring

- also, change all the real time unit to microseconds in MPEG4Writer

Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
764f436cb9e734afdc55a7b4ac65b27860383a09 15-Jul-2010 Mathias Agopian <mathias@google.com> am db386f2c: am c9a11088: Merge "first step at implementing the native sensor support" into gingerbread

Merge commit 'db386f2c263c6e9e4b825d4c9a320849f8f2c916'

* commit 'db386f2c263c6e9e4b825d4c9a320849f8f2c916':
first step at implementing the native sensor support
c9a11088e503b9e3ae52a3f671b2d21f5cd54f06 15-Jul-2010 Mathias Agopian <mathias@google.com> Merge "first step at implementing the native sensor support" into gingerbread
0224a004210d8096faa0964a1311c490398338d0 14-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 5473434f: am 97eb728a: Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ effect UUID instead of defining it locally.

Merge commit '5473434f060d8c036a30a1992b036a2f70da265d'

* commit '5473434f060d8c036a30a1992b036a2f70da265d':
Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ
97eb728aef51646b86925557a36732598e3fbaa1 09-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ
effect UUID instead of defining it locally.

Change-Id: Id6018fef20d286899cf7503fec3521dcd56db7e0
edia/EffectEqualizerApi.h
b957b9d63c88efd3a961759424987b99219adeed 14-Jul-2010 Mathias Agopian <mathias@google.com> first step at implementing the native sensor support

in this commit:
- implemented the C stub
- implemented the binder interfaces involved
- implemented most of the C++ client side

missing:
- SensorManager cannot connect to the SensorServer yet
(because there is no SensorServer yet)

Change-Id: I75010cbeef31c98d6fa62fd5d388dcef87c2636b
ui/ISensorEventConnection.h
ui/ISensorServer.h
ui/Sensor.h
ui/SensorChannel.h
ui/SensorEventQueue.h
ui/SensorManager.h
2388ad9eef109fa7f63c196c819c83f0376f0645 14-Jul-2010 Dianne Hackborn <hackbod@google.com> am f8d9379b: am d76b67c3: IME events are now dispatched to native applications.

Merge commit 'f8d9379bd834573feca085284970cf686993c330'

* commit 'f8d9379bd834573feca085284970cf686993c330':
IME events are now dispatched to native applications.
d76b67c340d1564abf8d14d976fdaf83bf2b3320 14-Jul-2010 Dianne Hackborn <hackbod@google.com> IME events are now dispatched to native applications.

And also:

- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).

There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.

Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
ndroid_runtime/android_app_NativeActivity.h
i/Input.h
i/InputTransport.h
6ac7674e143f9716312f048da3f25ca83b646315 14-Jul-2010 Jeff Brown <jeffbrown@google.com> am 89ee578b: am fd035829: Add initial gamepad support.

Merge commit '89ee578b7053d27a50922f82feb94bf6054b330c'

* commit '89ee578b7053d27a50922f82feb94bf6054b330c':
Add initial gamepad support.
fd03582995e0fce963dd0fa0669e3211b74c0dd7 01-Jul-2010 Jeff Brown <jeffbrown@google.com> Add initial gamepad support.

Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
i/InputDevice.h
i/InputReader.h
i/KeycodeLabels.h
f5574e0f8ca5624c822737eae497e27b60e33662 14-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 706623dd: am c0a7e690: Add Parcel::readExceptionCode() and Parcel::writeNoException()

Merge commit '706623ddb8314850c0551f0b66e24b5f0bd28620'

* commit '706623ddb8314850c0551f0b66e24b5f0bd28620':
Add Parcel::readExceptionCode() and Parcel::writeNoException()
c0a7e690bfd32dd897ceccd04dd0fa6bf6e9cee6 14-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Add Parcel::readExceptionCode() and Parcel::writeNoException()

Add native Parcel methods analogous to the Java versions.

Currently, these don't do much, but upcoming StrictMode work changes
the RPC calling conventions in some cases, so it's important that
everybody uses these consistently, rather than having a lot of code
trying to parse RPC responses out of Parcels themselves.

As a summary, the current convention that Java Binder services use is
to prepend the reply Parcel with an int32 signaling the exception
status:

0: no exception
-1: Security exception
-2: Bad Parcelable
-3: ...
-4: ...
-5: ...

... followed by Parceled String if the exception code is non-zero.

With an upcoming change, it'll be the case that a response Parcel can,
non-exceptionally return rich data in the header, and also return data
to the caller. The important thing to note in this new case is that
the first int32 in the reply parcel *will not be zero*, so anybody
manually checking for it with reply.readInt32() will get false
negative failures.

Short summary: If you're calling into a Java service and manually
checking the exception status with reply.readInt32(), change it to
reply.readExceptionCode().

Change-Id: I23f9a0e53a8cfbbd9759242cfde16723641afe04
inder/Parcel.h
405278954f3a328026e3037c6d9b4ba8d200da45 13-Jul-2010 Eric Laurent <elaurent@google.com> am 66fa2b44: am 8e886be4: Merge "Modifications in audio effect engine state management." into gingerbread

Merge commit '66fa2b44cadf8694cc1b7e2aae1f8abaff4fc547'

* commit '66fa2b44cadf8694cc1b7e2aae1f8abaff4fc547':
Modifications in audio effect engine state management.
7d850f23c857fe0c0deec9b9ea593d3029665a16 09-Jul-2010 Eric Laurent <elaurent@google.com> Modifications in audio effect engine state management.

- Separate the updating of effect engine state from the process call in EffectModule so that the state
of all effects in the same effect chain is updated simultaneusly before all process functions are called.
- Added a mechanism for the effect engine to continue being called for processing after receiving the disable
commands untils it considers that the framework can stop calling the process function without causing
a glitch or loosing some effect tail.
- Updated test reverb and equalizer to support this new feature

Change-Id: Icb56ae2c84c076d4dbad6cf733b1a62f823febe7
edia/EffectApi.h
8445ca6c3ba9b7cee6d20f5919e3b3ba8e6b8c96 10-Jul-2010 Dianne Hackborn <hackbod@google.com> am b14f325a: am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.

Merge commit 'b14f325a0118ffce286155caaabaae149653462c'

* commit 'b14f325a0118ffce286155caaabaae149653462c':
Add ANativeWindow API for directly drawing to the surface bits.
289b9b62372ef52a06113b83dfb870e2c2fb325a 09-Jul-2010 Dianne Hackborn <hackbod@google.com> Add ANativeWindow API for directly drawing to the surface bits.

Also other cleanup and fixes:

- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.

Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
ndroid_runtime/android_app_NativeActivity.h
ndroid_runtime/android_view_Surface.h
i/Rect.h
5fe0ae8c2033a8ce6dc2add1394ef77dafe7b1ad 09-Jul-2010 James Dong <jdong@google.com> am 4f440632: am 929642ee: Add runtime dumpsys support for media recorder client

Merge commit '4f4406322dafd6e128b437edbc541327f0b38d04'

* commit '4f4406322dafd6e128b437edbc541327f0b38d04':
Add runtime dumpsys support for media recorder client
929642ee003895b6e4e85ad7e43c7c6f01b29020 08-Jul-2010 James Dong <jdong@google.com> Add runtime dumpsys support for media recorder client

Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
edia/MediaRecorderBase.h
edia/PVMediaRecorder.h
0f399ec640f223dd372741832b1b98f2ee449379 09-Jul-2010 Eric Laurent <elaurent@google.com> am b4b0f67a: am fd84f97a: Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.

Merge commit 'b4b0f67a4743503a024b1dce758acf53d9fb86f7'

* commit 'b4b0f67a4743503a024b1dce758acf53d9fb86f7':
Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
d8a6271bb1da4ee2a8ae126b532f1b5f302decb8 09-Jul-2010 Dianne Hackborn <hackbod@google.com> am 49159f07: am 74bf59b4: Merge "Add new glue code for writing native apps." into gingerbread

Merge commit '49159f0748c704e53a7bd754f26113d9ab844a97'

* commit '49159f0748c704e53a7bd754f26113d9ab844a97':
Add new glue code for writing native apps.
28e230352b24b190d6750aa38a79b69e2fada067 09-Jul-2010 Kenny Root <kroot@google.com> am d481cdd4: am c9535de8: Merge "Add OBB file helper class" into gingerbread

Merge commit 'd481cdd4c0305f8afd857fe3ec3fbf189b744370'

* commit 'd481cdd4c0305f8afd857fe3ec3fbf189b744370':
Add OBB file helper class
1a33274d28a3174b9062ae0dcce77bf1d68cd463 09-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 167449e5 to master

Change-Id: Ib448e69a726eb45b5c9099d2574e40b8345eee67
fd84f97af4b44d54bba53bb85b31a6dbce07f6e2 09-Jul-2010 Eric Laurent <elaurent@google.com> Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.

Defined the following JAVA classes on top of AudioEffect class to facilitate control
off built-in audio effects with APIs aligned with interfaces defined in OpenSL ES
specification:
- BastBoot.java
- Equalizer.java
- PresetReverb.java
- EnvironmentalReverb.java
- Virtualizer.java

Split reverb API header file in two, one for preset reverb and one for environmental reverb.
Some changes in test reverb to support preset reverb.

Change-Id: Ie0a5ba06002e63dfd6da22cace5568c1e0b76ea1
edia/EffectBassBoostApi.h
edia/EffectEnvironmentalReverbApi.h
edia/EffectPresetReverbApi.h
edia/EffectReverbApi.h
edia/EffectVirtualizerApi.h
85448bbecd4e0909eecfab15b7c3605f114d0427 07-Jul-2010 Dianne Hackborn <hackbod@google.com> Add new glue code for writing native apps.

This factors out the boiler-plate code from the sample
app to a common glue code that can be used for everyone
writing this style of app: a dedicated app thread that
takes care of waiting for events and processing them.

As part of doing this, ALooper has a new facility to allow
registration of fds that cause ALooper_pollOnce() to return
the fd that has data, allowing the app to drive the loop
without callbacks. Hopefully this makes some people feel better. :)

Also do some other cleanup of the ALooper API, plus some
actual documentation.

Change-Id: Ic53bd56bdf627e3ba28a3c093faa06a92be522b8
tils/PollLoop.h
98449546fa33f420e2aef7d0d1c1afb538af4069 08-Jul-2010 Eric Laurent <elaurent@google.com> am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbread

Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9'

* commit 'b91881fdd1608cc922f105ec552b5505da1fecb9':
Added Visualizer effect.
c9535de8e398d766c95144f9a831f34b2cecfd91 08-Jul-2010 Kenny Root <kroot@google.com> Merge "Add OBB file helper class" into gingerbread
b17f4dcfb3edba25bd8c30e60449b9bbcd600a57 08-Jul-2010 Chris Tate <ctate@android.com> Merge "More native input dispatch work." into gingerbread
dacabf97c609a040ada857a7da6c560097448ae3 08-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Added Visualizer effect." into gingerbread
0920b1cd7d75f4708f6224b0d956d5ec8897db7a 08-Jul-2010 James Dong <jdong@google.com> am b3598832: am c4243342: Merge "Allow application to set two more encoding paramters: video profile and level" into gingerbread

Merge commit 'b35988329ac1a574898db9226039e37e352c57a8'

* commit 'b35988329ac1a574898db9226039e37e352c57a8':
Allow application to set two more encoding paramters: video profile and level
81c929a684aefd7e18e04bcfd54407235b89a37d 02-Jul-2010 James Dong <jdong@google.com> Allow application to set two more encoding paramters: video profile and level

Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
df9b81ced437b11f8a3fcf4ba3ea6af703d121e2 02-Jul-2010 Eric Laurent <elaurent@google.com> Added Visualizer effect.

The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
- the enable()/disable() methods have been replaced bya more standard setEnabled() method.
- some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
edia/AudioEffect.h
edia/EffectVisualizerApi.h
edia/IMediaPlayerService.h
edia/Visualizer.h
edia/mediaplayer.h
7cee34a051eb0087322c8b965e498f88b1aa52d3 01-Jun-2010 Kenny Root <kroot@google.com> Add OBB file helper class

ObbFile is a binary blob that will be used in packaging large files
with smaller APKs.

Change-Id: Ib1594346cfa2f49113de6565af77c24efbd89d63
tils/ObbFile.h
c832baa107f36740e462c83e7525ba2e9f01f086 07-Jul-2010 Andreas Huber <andih@google.com> am f5b4e342: am 2e6aff8e: Merge "ALooperRoster no longer holds strong references to handlers and loopers." into gingerbread

Merge commit 'f5b4e342b581a6e219b49141861b353fb139d00b'

* commit 'f5b4e342b581a6e219b49141861b353fb139d00b':
ALooperRoster no longer holds strong references to handlers and loopers.
57576c1cae63bebfa7ed880ab510e06f312586ee 07-Jul-2010 Andreas Huber <andih@google.com> ALooperRoster no longer holds strong references to handlers and loopers.

Change-Id: I038d69b0a34eda1bfc5216d92c837a5ddf4fb802
edia/stagefright/foundation/ALooperRoster.h
bce1f2ae9f558f907a2bf15cd31825a031882f86 07-Jul-2010 Andreas Huber <andih@google.com> am 877045aa: am 9406f626: Merge "An AHandler can now find its associated ALooper." into gingerbread

Merge commit '877045aa853aaf6e58ca3ac7bfa2bde9165b55ae'

* commit '877045aa853aaf6e58ca3ac7bfa2bde9165b55ae':
An AHandler can now find its associated ALooper.
97250d5c4ab5c36dc4f7cf1d9d48157ed934615d 07-Jul-2010 Dianne Hackborn <hackbod@google.com> am e24901d3: am 68267415: Add new native Looper API.

Merge commit 'e24901d3adb28fff72821d4e8e2ccc25b2184550'

* commit 'e24901d3adb28fff72821d4e8e2ccc25b2184550':
Add new native Looper API.
9406f626b2d8f64a084d41f6ea379e539b162a55 07-Jul-2010 Andreas Huber <andih@google.com> Merge "An AHandler can now find its associated ALooper." into gingerbread
00fa7bdd69f0868fd17ea7c881c771d785b2fbbd 03-Jul-2010 Jeff Brown <jeffbrown@google.com> More native input dispatch work.

Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
i/InputReader.h
682674154e3fe88f6061245145f934f25f1a2eb8 03-Jul-2010 Dianne Hackborn <hackbod@google.com> Add new native Looper API.

This allows us to avoid exposing the file descriptor of
the event queue; instead, you attach an event queue to
a looper. This will also should allow native apps to be
written without the need for a separate thread, by attaching
the event queue to the main thread's looper and scheduling
their own messages there.

Change-Id: I38489282635895ae2cbfacb88599c1b1cad9b239
i/InputTransport.h
tils/PollLoop.h
058319eb73aa1d5c3b3b4b79316198e7a49484f1 03-Jul-2010 Andreas Huber <andih@google.com> An AHandler can now find its associated ALooper.

Change-Id: Ic7087b8dcbc0d9abda272df0cb01b04b006f82ad
edia/stagefright/foundation/AHandler.h
edia/stagefright/foundation/ALooperRoster.h
5d1724767354c5f203aa815d85c64898d92e03a3 02-Jul-2010 Andreas Huber <andih@google.com> am c4be155a: am 2cfd8198: Merge "Add an option to ALooper::start that allows it to call back into java or not." into gingerbread

Merge commit 'c4be155a540695c42bcd6589604f86d300f4548f'

* commit 'c4be155a540695c42bcd6589604f86d300f4548f':
Add an option to ALooper::start that allows it to call back into java or not.
2cfd8198cc4e1dcdcae52ae8a0c86b871c87a27e 02-Jul-2010 Andreas Huber <andih@google.com> Merge "Add an option to ALooper::start that allows it to call back into java or not." into gingerbread
763c962278fb2fb6c1f4218af221b31180fa053c 02-Jul-2010 Andreas Huber <andih@google.com> am 9f8c490e: am 5460d126: Merge "Added AMessage::debugString() for debugging purposes." into gingerbread

Merge commit '9f8c490e05f86cca1d60d6b6f383a1a98d7985fb'

* commit '9f8c490e05f86cca1d60d6b6f383a1a98d7985fb':
Added AMessage::debugString() for debugging purposes.
4f104d99d8657fd3fef675eb2a3e84ba9f5870e4 02-Jul-2010 Andreas Huber <andih@google.com> Add an option to ALooper::start that allows it to call back into java or not.

Change-Id: Iec172901a04a575d8d350bd162565f04677c3f26
edia/stagefright/foundation/ALooper.h
5460d126f024a8d6597ce4eb127b51c101724960 02-Jul-2010 Andreas Huber <andih@google.com> Merge "Added AMessage::debugString() for debugging purposes." into gingerbread
03431d2fa6ee51c122a987322cf1dbd4f89a077b 01-Jul-2010 Andreas Huber <andih@google.com> Added AMessage::debugString() for debugging purposes.

Change-Id: Id43ffd2c56d659dc29f37e277f8c7b38f11c1591
edia/stagefright/foundation/AMessage.h
d26920ada05843e736d78709812e03797eedee55 01-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding timelapse capture from videocamera.

Current implementation looks at the timestamps of all incoming frames in
CameraSource::dataCallbackTimestamp().
It drops all frames until enough time has elapsed to get the next time lapse frame.
When enough time has passed to capture the next time lapse frame, the frame is no longer dropped
and the timestamp of this frame is modified to be one frame time (1/framerate) ahead of the
last encoded frame's time stamp.

Change-Id: I82b9d5e96113dffa6901aac3b8a8ef999ffc1d0b
edia/stagefright/CameraSource.h
2d3dcac183da7601664a8f7245b1348de9658b00 01-Jul-2010 Andreas Huber <andih@google.com> am d51c2cac: am 45bac57a: Support for writing the extracted data to an .mp4 file in the stagefright commandline tool.

Merge commit 'd51c2cacce4ad945bea4c00cea4326cf76b49cd2'

* commit 'd51c2cacce4ad945bea4c00cea4326cf76b49cd2':
Support for writing the extracted data to an .mp4 file in the stagefright commandline tool.
4024ddcf66912128e1f2b6b17e63f6f9f1e3a00a 01-Jul-2010 Chih-Chung Chang <chihchung@google.com> am bda93c4c: am 09b90057: Add multiple camera support for in MediaProfiles.

Merge commit 'bda93c4cb94b47c86251d22df16e46a514c191ef'

* commit 'bda93c4cb94b47c86251d22df16e46a514c191ef':
Add multiple camera support for in MediaProfiles.
45bac57aa00281e6b45756c691c588bdaf762521 01-Jul-2010 Andreas Huber <andih@google.com> Support for writing the extracted data to an .mp4 file in the stagefright commandline tool.

Change-Id: I972324a8fc9757e6e8116b0270ec0882106f8733
edia/stagefright/MediaWriter.h
09b9005769f2b717f637131578ce6cfa6bd62bd9 22-Jun-2010 Chih-Chung Chang <chihchung@google.com> Add multiple camera support for in MediaProfiles.

Change-Id: Ie89568a0f5f5fd08ede77e33f9a559215d6bed9a
edia/MediaProfiles.h
efcd77407b321498a43ca380c8f67b84eb5a2d6e 01-Jul-2010 Dianne Hackborn <hackbod@google.com> am 177c405a: am c6e1d880: Merge "Introduce official public NativeWindow type." into gingerbread

Merge commit '177c405a242e811b1010bd8382b5807ab8df31a8'

* commit '177c405a242e811b1010bd8382b5807ab8df31a8':
Introduce official public NativeWindow type.
c6e1d88022db800773401c16803e1ab27fd01a7e 01-Jul-2010 Dianne Hackborn <hackbod@google.com> Merge "Introduce official public NativeWindow type." into gingerbread
5840b7c1193e0deb28dd4e2f622eaa62cb0483a2 01-Jul-2010 Jeff Brown <jeffbrown@google.com> am 0c2df984: am d8ae2885: Merge "Fix injection of specially intercepted keys like HOME." into gingerbread

Merge commit '0c2df98425c8fa4ce092eebea80ae197547f6a86'

* commit '0c2df98425c8fa4ce092eebea80ae197547f6a86':
Fix injection of specially intercepted keys like HOME.
7f35403a7ac5cf637e10cceb5ca100fb532f2880 01-Jul-2010 Andreas Huber <andih@google.com> am 86405cbd: am caad0a5c: Merge "Support for vanilla YUV420sp => RGB565 color conversion." into gingerbread

Merge commit '86405cbd53f43529898000112bc9346c21569d26'

* commit '86405cbd53f43529898000112bc9346c21569d26':
Support for vanilla YUV420sp => RGB565 color conversion.
25a98b8e21f7840ae582ce0a4cde21694c4c94ec 01-Jul-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 7f6c6e8f to master

Change-Id: Id9dddb78c51f16ff8c4b60339421c94fde506db2
8b49bd1a2f8117e1c22884f0150e72cbcf838f32 30-Jun-2010 Dianne Hackborn <hackbod@google.com> Introduce official public NativeWindow type.

Not yet hooked up to anything in the NDK, but requires renaming
the existing android_native_window_t type everywhere.

Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
urfaceflinger/Surface.h
i/FramebufferNativeWindow.h
i/egl/android_natives.h
81ea83d10883886013bc95eac2fe032acf1e7aa9 30-Jun-2010 Mike Lockwood <lockwood@android.com> Move MTP JNI code from libandroid_runtime to libmedia_jni

Signed-off-by: Mike Lockwood <lockwood@android.com>

Change-Id: I0c54bbe4e6146beba7d22e782e02ded420f50dbd
ndroid_runtime/AndroidRuntime.h
d0097871828bb7d5d6eec06cadd92c2e3358849b 30-Jun-2010 Jeff Brown <jeffbrown@google.com> Fix injection of specially intercepted keys like HOME.

This change mainly unwinds a premature optimization in the
dispatch pipeline.
To test HOME injection, run 'adb shell input keyevent 3'.

Change-Id: I1c4b7377c205da7c898014b8b07fc6dc1d46e4dd
i/Input.h
i/InputReader.h
caad0a5c6318678902402362df1791d286636344 30-Jun-2010 Andreas Huber <andih@google.com> Merge "Support for vanilla YUV420sp => RGB565 color conversion." into gingerbread
3c80a4a044865bdf1289c7896baffa1c082d835c 30-Jun-2010 Dianne Hackborn <hackbod@google.com> Implement default key handling for native code.

The native code now maintains a list of all keys that may use
default handling. If the app finishes one of these keys
without handling it, the key will be passed back off to Java
for default treatment.

Change-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18
i/Input.h
i/InputTransport.h
c543a21a4021bf0e2f3817852d75184d01b76d62 30-Jun-2010 Andreas Huber <andih@google.com> Support for vanilla YUV420sp => RGB565 color conversion.

Change-Id: I22e5b554909e169eaf153d1f25b636f6f04a1871
edia/stagefright/ColorConverter.h
bd800f40ace12e2a218e93255411dc1d4c3f5266 30-Jun-2010 James Dong <jdong@google.com> am 42dd9908: am f7679a04: Merge "Added encoding parameters set up for H263 video encoder" into gingerbread

Merge commit '42dd99084d0069ccd90f0305ce374fd943a09de7'

* commit '42dd99084d0069ccd90f0305ce374fd943a09de7':
Added encoding parameters set up for H263 video encoder
f7679a0493d59da8c759a6be639be5110c50fb98 30-Jun-2010 James Dong <jdong@google.com> Merge "Added encoding parameters set up for H263 video encoder" into gingerbread
41254a8ddd4dd737969524eaca4afdda2392c023 30-Jun-2010 Chris Tate <ctate@android.com> am af4a2d1f: am ddcb543a: Merge "Fix native input dispatch in the emulator." into gingerbread

Merge commit 'af4a2d1f52c7d54408db341781399d2886de72c1'

* commit 'af4a2d1f52c7d54408db341781399d2886de72c1':
Fix native input dispatch in the emulator.
0b72e82c5f5d4ab709539c3490d6c7023f680dff 30-Jun-2010 Jeff Brown <jeffbrown@google.com> Fix native input dispatch in the emulator.

Set a default orientation of ROTATION_0.
Added some more careful checks based on whether we have valid
absolute axis information from the driver.
Reset key repeating during configuration changes since the keyboard
device may have been removed.

Change-Id: I685960828acffcb17595fc5683309e8064a76714
i/InputReader.h
c0ab2a64589b4cd49734a122b6ef976c7ef530e5 30-Jun-2010 James Dong <jdong@google.com> Added encoding parameters set up for H263 video encoder

Also:
- Allowed start() call when encoder already starts and stop() call when encoder has not started yet
- Handled default value for audio/video sources/encoders and file output format

Change-Id: I03b2f7d3cf570baa0fd011a8c0ad200f2f2a5da1
edia/stagefright/OMXCodec.h
639061d9c29fb97646c083f719a26992a7d24d85 29-Jun-2010 Dianne Hackborn <hackbod@google.com> am b5f05d00: am 0934fbb6: Merge "Update native activity & event APIs to follow correct conventions." into gingerbread

Merge commit 'b5f05d0018d72531e40c2afadfee90e9bc0c8893'

* commit 'b5f05d0018d72531e40c2afadfee90e9bc0c8893':
Update native activity & event APIs to follow correct conventions.
2e9f93e8db509d5236229dc8540e0904c5dbb9f5 29-Jun-2010 Dianne Hackborn <hackbod@google.com> Update native activity & event APIs to follow correct conventions.

Change-Id: Ie64fb3a9c68bc9c117fa5621b75d1f609e304e0e
i/Input.h
i/InputTransport.h
f40e4928b9d8e1da4166c76dbd3f86a6bd2d3f72 29-Jun-2010 Chris Tate <ctate@android.com> am 96725326: am 31e0ffe8: Merge "Native input event dispatching." into gingerbread

Merge commit '96725326149687168937cf62f75364cf9cc3e96b'

* commit '96725326149687168937cf62f75364cf9cc3e96b':
Native input event dispatching.
31e0ffe8444b70500cac319da084c4c45e62aca2 29-Jun-2010 Chris Tate <ctate@android.com> Merge "Native input event dispatching." into gingerbread
349703effce5acc53ed96f7ed8556131f0c65e18 22-Jun-2010 Jeff Brown <jeffbrown@google.com> Native input event dispatching.

Target identification is now fully native.
Fixed a couple of minor issues related to input injection.
Native input enabled by default, can be disabled by setting
WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.

Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
i/Input.h
i/InputDispatcher.h
i/InputManager.h
i/InputReader.h
68d42e3887fc0ccd02c74a7abe9697f1dc94fad6 29-Jun-2010 James Dong <jdong@google.com> am c2c59f69: am 2a76b316: Merge "Separate MediaRecorderClient with MediaPlayerClient" into gingerbread

Merge commit 'c2c59f690deafe34c7701b01b612fd777cee8d4b'

* commit 'c2c59f690deafe34c7701b01b612fd777cee8d4b':
Separate MediaRecorderClient with MediaPlayerClient
fe1bafecdecd49533c46521057c7c9eeb788d0fa 26-Jun-2010 James Dong <jdong@google.com> Separate MediaRecorderClient with MediaPlayerClient

- An alternative would be to define a common base class that
both MediaRecorderClient and MediaPlayerClient can derive.
But since the common code, onTransact() and notify() uses
some Binder code, having a common base class may not gain
us too much in terms of code reuse.

Change-Id: Ibc06720278ad173fceacff3d267b7060856c6316
edia/IMediaRecorder.h
edia/IMediaRecorderClient.h
edia/MediaRecorderBase.h
edia/PVMediaRecorder.h
edia/mediarecorder.h
edia/stagefright/MediaWriter.h
6d85ea9c556be7b49302d2f35f4ebc99b4827366 22-Jun-2010 Jens Gulin <jens.gulin@sonyericsson.com> Keep track of remaining fd when devices are removed

Sometimes the wrong fd was accessed when the device was addressed
by device id.

The earlier implementation assumed that two arrays were in sync
but one of them was compacted when devices were removed. Instead
of that dependency the device now keeps track of it's file descriptor.

Change-Id: I2b8a793d76b89ab464ae830482b309fe86031671
i/EventHub.h
a2312efff1446150518b85b53feaa6850b349769 26-Jun-2010 James Dong <jdong@google.com> am fd45c1e6: am 41debbc6: Merge "Provide progress status report during authoring" into gingerbread

Merge commit 'fd45c1e68dbc0c821c2b6d7e0b7e2a3493400798'

* commit 'fd45c1e68dbc0c821c2b6d7e0b7e2a3493400798':
Provide progress status report during authoring
09936ed19263854e937198af03d9805a8b669ca1 25-Jun-2010 James Dong <jdong@google.com> Provide progress status report during authoring

- Track either the number of A/V frames authored, or the time elapsed
- Track the completion of the authoring
- Add multiple camera support for authoring by accepting a camera id parameter
- Set file type based on the OUTPUT_FORMAT requested

Change-Id: I0f9d31b3b7a8fa43eb53f572410fb0ebd4fa0bb7
edia/mediarecorder.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
391a3e0237600eb3801684dadd1629067016ed78 25-Jun-2010 Mathias Agopian <mathias@google.com> am 687f8a2e: am 1cb3fdc9: Merge "Fix a bug in sp<> and wp<> which could cause memory corruptions" into gingerbread

Merge commit '687f8a2eb78c95bb9974951dbe38124f8543bacb'

* commit '687f8a2eb78c95bb9974951dbe38124f8543bacb':
Fix a bug in sp<> and wp<> which could cause memory corruptions
cf3a2b79f3f1bbd249a147c1626a6da4a419c270 25-Jun-2010 Eric Laurent <elaurent@google.com> am cdf1357b: am 8e103da1: Merge "Various fixes and improvements in audio effects implementation" into gingerbread

Merge commit 'cdf1357b6e0152280dcd611b5f096db4887d8126'

* commit 'cdf1357b6e0152280dcd611b5f096db4887d8126':
Various fixes and improvements in audio effects implementation
b472798045c7dc0cd0cb5c365612ff4ac68e5fdf 25-Jun-2010 James Dong <jdong@google.com> am bc704ddd: am 6feaa464: Enable passing parameters to the MediaWriter at runtime (at start() call).

Merge commit 'bc704dddb6d1239c55f6cd0f93d349f7cc3d1219'

* commit 'bc704dddb6d1239c55f6cd0f93d349f7cc3d1219':
Enable passing parameters to the MediaWriter at runtime (at start() call).
8f855611ccd0bda1441333ac1a8294760173044b 25-Jun-2010 James Dong <jdong@google.com> am d115304c: am 5a905ceb: Merge "Track maximum amplitude and fix getMaxAmplitude()" into gingerbread

Merge commit 'd115304c0900713d6f8d4033722d9c647f40ceae'

* commit 'd115304c0900713d6f8d4033722d9c647f40ceae':
Track maximum amplitude and fix getMaxAmplitude()
1cb3fdc91e1b82a5afe064714a1b530cc05577a7 25-Jun-2010 Mathias Agopian <mathias@google.com> Merge "Fix a bug in sp<> and wp<> which could cause memory corruptions" into gingerbread
8e103da1f1b0656e3427b34b75f02d7ddf6073d5 25-Jun-2010 Eric Laurent <elaurent@google.com> Merge "Various fixes and improvements in audio effects implementation" into gingerbread
53334cdb81bab4a4dfd0a41d2ef50709015a36c8 24-Jun-2010 Eric Laurent <elaurent@google.com> Various fixes and improvements in audio effects implementation

Effect API:
- Use different definitions for audio device, channels, formats... in AudioSystem and EffectApi:
Removed media/AudioCommon.h file created for initial version of EffectApi
- Indicate audio session and output ID to effect library when calling EffectCreate(). Session ID can be useful to optimize
the implementation of effect chains in the same audio session. Output ID can be used for effects implemented in audio hardware.
- Renamed EffectQueryNext() function to EffectQueryEffect() and changed operating mode:
now an index is passed for the queried effect instead of implicitly querying the next one.
- Added CPU load and memory usage indication in effects descriptor
- Added flags and commands to indicate changes in audio mode (ring tone, in call...) to effect engine
- Added flag to indicate hardware accelerated effect implementation.
- Renamed EffectFactoryApi.h to EffectsFactoryApi.h for consistency with EffectsFactory.c/h

Effect libraries:
- Reflected changes in Effect API
- Several fixes in reverb implementation
- Added build option TEST_EFFECT_LIBRARIES in makefile to prepare integration of actual effect library.
- Replaced pointer by integer identifier for library handle returned by effects factory

Audio effect framework:
- Added support for audio session -1 in preparation of output stage effects configuration.
- Reflected changes in Effect API
- Removed volume ramp up/down when effect is inserted/removed: this has to be taken care of by effect engines.
- Added some overflow verification on indexes used for deferred parameter updates via shared memory
- Added hardcoded CPU and memory limit check when creating a new effect instance

Change-Id: I43fee5182ee201384ea3479af6d0acb95092901d
edia/AudioCommon.h
edia/AudioEffect.h
edia/AudioSystem.h
edia/EffectApi.h
edia/EffectFactoryApi.h
edia/EffectsFactoryApi.h
edia/IAudioFlinger.h
6feaa46496bae85adbe10e84611592612f898081 20-Jun-2010 James Dong <jdong@google.com> Enable passing parameters to the MediaWriter at runtime (at start() call).

- estimate the moov box size for mp4 file writer based on the file
size/duration limit and target bit rate.
- can switch to use 64 bit file offset at runtime

rebased

Change-Id: Ibbe1f57e91ab2605820d5d96e8048d11e5559c53
edia/stagefright/AMRWriter.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaWriter.h
edia/stagefright/MetaData.h
57e7f83c0336db3f03666f077bce4c2692a88cf6 25-Jun-2010 James Dong <jdong@google.com> Track maximum amplitude and fix getMaxAmplitude()

- only start to track the max amplitude after the first call to getMaxAmplitude()

Change-Id: I64d3d9ca0542202a8535a211425e8bccceca50fc
edia/stagefright/AudioSource.h
51a6aef53c2421fe9ad157e7d4b0158f496abf26 25-Jun-2010 Mathias Agopian <mathias@google.com> Fix a bug in sp<> and wp<> which could cause memory corruptions

when assigning a smart pointer to another one, we need to make
sure to read all the data we need from the right-hand-side
reference (the assignee) before we decRef the assigned.

This bug would cause linked-list of smart-pointers to fail
miserably.

Change-Id: Ibb554c15fddf909f7737c632b7c80322e80ea93f
tils/RefBase.h
15149f2ef8609899f187b691054194ec50b9a0ee 24-Jun-2010 Andreas Huber <andih@google.com> am 0d964c94: am a2549bb6: Merge "Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright." into gingerbread

Merge commit '0d964c94459e25b9b2221a7c7c789b29f77f15dd'

* commit '0d964c94459e25b9b2221a7c7c789b29f77f15dd':
Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.
a2549bb644d8ca4b0209d6d2f0c4160521789aa9 24-Jun-2010 Andreas Huber <andih@google.com> Merge "Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright." into gingerbread
8d65dd26530c7559082bd738cf930e2806158ab2 24-Jun-2010 Andreas Huber <andih@google.com> Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.

Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce
related-to-bug: 2370115
edia/MediaPlayerInterface.h
7d77a0ac899b16fa71af6acf612a664de8813235 24-Jun-2010 James Dong <jdong@google.com> am 90ade3f2: am 9afc1b3e: Merge "Fixed some meta data issues in the recorded mp4 file" into gingerbread

Merge commit '90ade3f25d16afe8fd64ec1fcc5fede466256719'

* commit '90ade3f25d16afe8fd64ec1fcc5fede466256719':
Fixed some meta data issues in the recorded mp4 file
39a0b21c65c3bbadc9a3c6b5346b45fac842d0f7 23-Jun-2010 James Dong <jdong@google.com> Fixed some meta data issues in the recorded mp4 file

- Mainly correcting the location of stbl box which should be a child of minf box.
This resolved the issue where the mis-muxed encoded file could not be played by QT/VLC.

- Enabled the the recorded tracks by setting the flags to 0x07 by default

- Allows for encoding either 32-bit or 64-bit offsets. By default encoding
32-bit offsets to reduce the metadata overhead

- Fixed a edts box issue where an empty elst box was used at the end

Change-Id: I570621a26714a81dc9400271aa5d3a07b483172f
edia/stagefright/MPEG4Writer.h
c6a2cb0b5a4997a71ddc94969a799f2def184fbf 23-Jun-2010 Eric Laurent <elaurent@google.com> am 845f5414: am 2c2ce8e5: Merge "Added support for audio sessions in MediaPlayer and AudioTrack." into gingerbread

Merge commit '845f541454d1fa9f328c0b0bf79acf2fba363177'

* commit '845f541454d1fa9f328c0b0bf79acf2fba363177':
Added support for audio sessions in MediaPlayer and AudioTrack.
c19d494d48dfa1e2b5a6af348f4adb741b8901c1 23-Jun-2010 Chia-chi Yeh <chiachi@android.com> am da9269af: am 3238302b: Merge "media: add AudioRecord::getMinFrameCount()." into gingerbread

Merge commit 'da9269af5e94e25c142c519429aa77eb40f68e58'

* commit 'da9269af5e94e25c142c519429aa77eb40f68e58':
media: add AudioRecord::getMinFrameCount().
84d000e3c4d8883afec1e47662f719c6119cfefc 23-Jun-2010 James Dong <jdong@google.com> am 9666d3c0: am 750600a1: Merge "Single track optimization" into gingerbread

Merge commit '9666d3c0e7fc8ca98b4f5744d8427d008a79e698'

* commit '9666d3c0e7fc8ca98b4f5744d8427d008a79e698':
Single track optimization
320742b15a710ede57862eee170945da26ef0172 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am e3e2883f: am e24a60aa: Merge "First stab at attaching native event dispatching." into gingerbread

Merge commit 'e3e2883f2232007174ead562610eb01201890d9b'

* commit 'e3e2883f2232007174ead562610eb01201890d9b':
First stab at attaching native event dispatching.
fc667dabcfec3d1903b0058aff158bd7b687ab4d 23-Jun-2010 James Dong <jdong@google.com> am 06967683: am e5671bfe: Merge "Audio/video sync during recording (second part)" into gingerbread

Merge commit '0696768374567afa4fe58c2ef0af948b72e83e5d'

* commit '0696768374567afa4fe58c2ef0af948b72e83e5d':
Audio/video sync during recording (second part)
b09448e0a84a57bd15ea556f8bef27964128032a 23-Jun-2010 Mike Lockwood <lockwood@android.com> am dae19d7c: am aaf39f84: Merge "GPS: remove GpsEventThread from GpsLocationProvider" into gingerbread

Merge commit 'dae19d7c00455e500cc9731071557ea91f162a7d'

* commit 'dae19d7c00455e500cc9731071557ea91f162a7d':
GPS: remove GpsEventThread from GpsLocationProvider
fc94e89a7f7aadf101ac1144073be964d9bfcf6b 23-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am efcf68aa: am ef8f96a7: Merge "Start of work on passing around StrictMode policy over Binder calls." into gingerbread

Merge commit 'efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b'

* commit 'efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b':
Start of work on passing around StrictMode policy over Binder calls.
e981c883d5ca99ccb97c317d824b9c288b613f67 23-Jun-2010 Jeff Brown <jeffbrown@google.com> am b1efc3f6: am 7fbdc84e: More native input event dispatching.

Merge commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe'

* commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe':
More native input event dispatching.
2c2ce8e53f5eb94916a5d0f40b2877cc7551870d 23-Jun-2010 Eric Laurent <elaurent@google.com> Merge "Added support for audio sessions in MediaPlayer and AudioTrack." into gingerbread
3238302b1819bb384b79402c0106a2bdfc3f35d0 23-Jun-2010 Chia-chi Yeh <chiachi@android.com> Merge "media: add AudioRecord::getMinFrameCount()." into gingerbread
619346f902241736d933657a4fe10f10c50a1ba8 21-Jun-2010 Eric Laurent <elaurent@google.com> Added support for audio sessions in MediaPlayer and AudioTrack.

Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks.

Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
edia/IMediaPlayerService.h
edia/mediaplayer.h
97d61f751899d3d68f53fb14d0025766bf1be3f7 22-Jun-2010 Chia-chi Yeh <chiachi@android.com> media: add AudioRecord::getMinFrameCount().

Change-Id: I952071ab10aa49aa96b727d157b68470d69fff3d
edia/AudioRecord.h
750600a187f699ead85ef026ab33dc2bdd1d2c29 22-Jun-2010 James Dong <jdong@google.com> Merge "Single track optimization" into gingerbread
b54a91784291bf14b1f486f7d4349774073593c5 22-Jun-2010 James Dong <jdong@google.com> Single track optimization

We don't need to do interleave when the total number of tracks to be recorded is one.
Metadata-wise, we only need to have one chunk in chunk offset table, and a
single entry in the stsc table.

Change-Id: I46f0e4b3860620311e7a91b68a9067acaa137bb2
edia/stagefright/MPEG4Writer.h
a95e4cb62f3642cb190d032dbf7dc40d9ecc6973 19-Jun-2010 Dianne Hackborn <hackbod@google.com> First stab at attaching native event dispatching.

Provides the basic infrastructure for a
NativeActivity's native code to get an object representing
its event stream that can be used to read input events.

Still work to do, probably some API changes, and reasonable
default key handling (so that for example back will still
work).

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
i/Input.h
i/InputTransport.h
e5671bfe51aeaac823cd94f8e04f01e37b4c2cd6 22-Jun-2010 James Dong <jdong@google.com> Merge "Audio/video sync during recording (second part)" into gingerbread
f602d362ba4bb3adbf1eb4e38a794fb14274293a 20-Jun-2010 Mike Lockwood <lockwood@android.com> GPS: remove GpsEventThread from GpsLocationProvider

Rather than polling for events from the native code in an event thread,
we now require the GPS HAL libraries to call our callbacks from a thread
that is registered with the JVM to call directly into Java.
This eliminates a thread from our code and removes one step in the chain
of message passing from the GPS to the Location Manager client.

Change-Id: I2745a157690310ba9a699a8369f54a7366c6b1ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
ndroid_runtime/AndroidRuntime.h
36e573bf7db5888f92c52eda26e0771aaa2406e4 19-Jun-2010 James Dong <jdong@google.com> Audio/video sync during recording (second part)

Change-Id: Iba0b35f57fdeac7ee1da16899406bf4b957a2c8c
edia/stagefright/AudioSource.h
edia/stagefright/CameraSource.h
edia/stagefright/MPEG4Writer.h
ef8f96a717554a85aa63a60f8c61be2afbd12a5c 22-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Start of work on passing around StrictMode policy over Binder calls." into gingerbread
7fbdc84e87dd3a0e196b9803bb04495d11e9cb8a 18-Jun-2010 Jeff Brown <jeffbrown@google.com> More native input event dispatching.

Added ANRs handling.
Added event injection.
Fixed a NPE ActivityManagerServer writing ANRs to the drop box.
Fixed HOME key interception.
Fixed trackball reporting.
Fixed pointer rotation in landscape mode.

Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
i/Input.h
i/InputDispatcher.h
i/InputManager.h
27b3a7a75960d026655f3acd1de8a672e80a5776 18-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Start of work on passing around StrictMode policy over Binder calls.

This is (intendend to be) a no-op change.

At this stage, Binder RPCs just have an additional uint32 passed around
in the header, right before the interface name. But nothing is actually
done with them yet. That value should right now always be 0.

This now boots and seems to work.

Change-Id: I135b7c84f07575e6b9717fef2424d301a450df7b
inder/IPCThreadState.h
inder/Parcel.h
f23729a0e3be6aeb19b3b8a2daddaa845f865e9b 21-Jun-2010 Chia-chi Yeh <chiachi@android.com> am d9e9132e: am 2ce999fc: am bd240c27: media: add AudioTrack::getMinFrameCount().

Merge commit 'd9e9132eeb2c02feb812f21a5cecb844b5b39d9d'

* commit 'd9e9132eeb2c02feb812f21a5cecb844b5b39d9d':
media: add AudioTrack::getMinFrameCount().
2ce999fce785eb34b3a157db5ab5e17d31e2ea33 21-Jun-2010 Chia-chi Yeh <chiachi@android.com> am bd240c27: media: add AudioTrack::getMinFrameCount().

Merge commit 'bd240c2737913d6ed1982788699f93bbc52330c0' into gingerbread

* commit 'bd240c2737913d6ed1982788699f93bbc52330c0':
media: add AudioTrack::getMinFrameCount().
bd240c2737913d6ed1982788699f93bbc52330c0 16-Jun-2010 Chia-chi Yeh <chiachi@android.com> media: add AudioTrack::getMinFrameCount().

Change-Id: If15162583d1d16d89f59be0793106afe77417f35
edia/AudioTrack.h
4e74ae3d5b27d917ea26d0929015f9fdc64af412 17-Jun-2010 Jeff Brown <jeffbrown@google.com> am 42bb545a: am 5c225b16: Even more native input dispatch work in progress.

Merge commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00'

* commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00':
Even more native input dispatch work in progress.
5c225b1680e696ae8bbf505a1997d6f720672f74 16-Jun-2010 Jeff Brown <jeffbrown@google.com> Even more native input dispatch work in progress.

Added more tests.
Fixed a regression in Vector.
Fixed bugs in pointer tracking.
Fixed a starvation issue in PollLoop when setting or removing callbacks.
Fixed a couple of policy nits.

Modified the internal representation of MotionEvent to be more
efficient and more consistent.

Added code to skip/cancel virtual key processing when there are multiple
pointers down. This helps to better disambiguate virtual key presses
from stray touches (such as cheek presses).

Change-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c
i/Input.h
i/InputTransport.h
tils/PollLoop.h
tils/Vector.h
tils/VectorImpl.h
8959f1c71b99a712abf732f9814aa66054d75943 16-Jun-2010 Jeff Brown <jeffbrown@google.com> am 2dfd2aa4: am 92266a78: Merge "More work in progress on native events." into gingerbread

Merge commit '2dfd2aa413a91965c1a247980598c795db9b4c38'

* commit '2dfd2aa413a91965c1a247980598c795db9b4c38':
More work in progress on native events.
9c3cda04d969912bc46184f2b326d1db95e0aba5 15-Jun-2010 Jeff Brown <jeffbrown@google.com> More work in progress on native events.

Refactored the code to eliminate potential deadlocks due to re-entrant
calls from the policy into the dispatcher. Also added some plumbing
that will be used to notify the framework about ANRs.

Change-Id: Iba7a10de0cb3c56cd7520d6ce716db52fdcc94ff
i/Input.h
i/InputDispatchPolicy.h
i/InputDispatcher.h
i/InputManager.h
i/InputReader.h
7f5ee3b58d3dc07b88b313aae83ae424d131b355 14-Jun-2010 Eric Laurent <elaurent@google.com> am 184a3ff6: am e0219539: am 01f7ac64: Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI." into kraken

Merge commit '184a3ff64ba71e7e860b70b9a836c0132b447138'

* commit '184a3ff64ba71e7e860b70b9a836c0132b447138':
Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.
01f7ac64488027492b2909b99d70491e7a391015 14-Jun-2010 Eric Laurent <elaurent@google.com> Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI." into kraken
0d6be5800a6dc639271f221cf5743bc6331499c9 14-Jun-2010 Jeff Brown <jeffbrown@google.com> am 34b418cd: am 5e95930b: am 43a9527c: Fix include paths.

Merge commit '34b418cddbd2f05d5c0a98c550c65e457015134e'

* commit '34b418cddbd2f05d5c0a98c550c65e457015134e':
Fix include paths.
43a9527c54b71cb17515591af37eeeef6c22e3ff 14-Jun-2010 Jeff Brown <jeffbrown@google.com> Fix include paths.

Change-Id: Ifda45688f9f02710a74d5d7a7d902bacf1441e2e
tils/PollLoop.h
8e03b7566c42621fda01186b66b019142eb84fbf 14-Jun-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 9e660c82 to master

Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
46b9ac0ae2162309774a7478cd9d4e578747bfc2 23-Apr-2010 Jeff Brown <jeffbrown@google.com> Native input dispatch rewrite work in progress.

The old dispatch mechanism has been left in place and continues to
be used by default for now. To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API. Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument. The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points. The ViewRoot then
provides the InputChannel to the InputQueue. Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue. This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event. Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets). Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
rivate/README
i/EventHub.h
i/Input.h
i/InputDispatchPolicy.h
i/InputDispatcher.h
i/InputManager.h
i/InputReader.h
i/InputTransport.h
tils/BitSet.h
tils/Buffer.h
tils/PollLoop.h
tils/Pool.h
tils/StopWatch.h
tils/Vector.h
tils/VectorImpl.h
188c432c700b2ada707a8e2b9fd3c075cef1fd06 11-Jun-2010 James Dong <jdong@google.com> am ae2c4774: am f62c57d6: Merge "Initial checkin for pause and resume control" into kraken

Merge commit 'ae2c47746b5fda636a157c4fdb0365a67d4604c3'

* commit 'ae2c47746b5fda636a157c4fdb0365a67d4604c3':
Initial checkin for pause and resume control
08c7473ce9b601e170fd79c530f106bf74277a0f 10-Jun-2010 James Dong <jdong@google.com> Initial checkin for pause and resume control

Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
edia/stagefright/AMRWriter.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaWriter.h
948235c06ed0d49190b2f49d9299b473c4dd61a9 09-Jun-2010 Eric Laurent <elaurent@google.com> Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.

Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations,
OpenSL ES effect interfaces and audio effect JNI.

Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class
to implement more specific JAVA classes to control audio effects from JAVA applications.

Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
edia/AudioEffect.h
4b983d9f301648d27b6585a69ca5a61f172fa110 11-Jun-2010 Chih-Chung Chang <chihchung@google.com> am dac5e001: am b8bb78f5: Change camera interface to support multiple cameras.

Merge commit 'dac5e0013d1ea396f0b3a3f07654f2ecbfb79ac9'

* commit 'dac5e0013d1ea396f0b3a3f07654f2ecbfb79ac9':
Change camera interface to support multiple cameras.
b8bb78f54b48868465a9d69d65fda08524ab5ae1 10-Jun-2010 Chih-Chung Chang <chihchung@google.com> Change camera interface to support multiple cameras.

Change-Id: Ie88fe706d2278acf762eca87780de349434778a4
amera/Camera.h
amera/CameraHardwareInterface.h
amera/ICameraService.h
2dabef2f4e945c30372425cfe4f93744ac56c76c 11-Jun-2010 Andreas Huber <andih@google.com> am 627a0019: am 4d61f602: Switch stagefright\'s approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.
6ee780de7f72e124f7244ad8534fefa07d0bee0a 11-Jun-2010 Andreas Huber <andih@google.com> am 960a0ff1: am c81d2c12: Merge "Initial check-in of new caching/prefetching data source implementation." into kraken
4d61f602bf67fe61256c23f090d6119992ad5160 10-Jun-2010 Andreas Huber <andih@google.com> Switch stagefright's approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.

Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
edia/mediaplayer.h
edia/stagefright/CachingDataSource.h
edia/stagefright/HTTPDataSource.h
c81d2c12de7e5c7097f5332f8ece295b9a699e28 11-Jun-2010 Andreas Huber <andih@google.com> Merge "Initial check-in of new caching/prefetching data source implementation." into kraken
a9aaf8ffcecf294c8da9785b5c5e1f055ee4d245 10-Jun-2010 Andreas Huber <andih@google.com> am c90e35c1: am 8d300280: Merge "Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek." into kraken
1f24b30fe4b5d8e4050d30c92cf81cfa599cf991 10-Jun-2010 Andreas Huber <andih@google.com> Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek.

Change-Id: Ie4153a10ab36c1135f5fcfb572958129d886bcc3
edia/stagefright/MediaSource.h
edia/stagefright/OMXCodec.h
b206319122c73c487ad2798b8090c9edcd41f4e5 10-Jun-2010 Andreas Huber <andih@google.com> Initial check-in of new caching/prefetching data source implementation.

Change-Id: I97a6e3f03c69c9b1219f1f06bd109c0102f2c504
edia/stagefright/foundation/AHandlerReflector.h
70eeab74120f1f4a335412bb849812cbc998c285 09-Jun-2010 Mathias Agopian <mathias@google.com> am 34e5d967: am 55f8209d: Merge "allow re-targetting of surfaces" into kraken
5e14010b1fc066dfcbc0a577d59492687c99667d 09-Jun-2010 Mathias Agopian <mathias@google.com> allow re-targetting of surfaces

Surfaces can now be parcelized and sent to remote
processes. When a surface crosses a process
boundary, it looses its connection with the
current process and gets attached to the new one.

Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/Surface.h
30bb8f89ada3f4484fc5e3bb977667282f3b8a9d 08-Jun-2010 James Dong <jdong@google.com> am d49c9818: am c44c4742: Merge "Remove some hard-coded encoding parameters" into kraken
1244eab2cea41df1db4eeb930fddbb9e67ff7691 08-Jun-2010 James Dong <jdong@google.com> Remove some hard-coded encoding parameters

Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
7cbc12b9ce23f71be2d98a57840fc2786c22b976 08-Jun-2010 James Dong <jdong@google.com> am 15c0c098: am dae9fd31: Initial check-in for collecting stats from authoring engine at runtime
dae9fd31907c62712f7a96bb2a8e288b0cca57c2 04-Jun-2010 James Dong <jdong@google.com> Initial check-in for collecting stats from authoring engine at runtime

Change-Id: I93a9d8bd260efc5e7fc135b726e3f1307c6df794
edia/stagefright/AudioSource.h
edia/stagefright/CameraSource.h
cda2af1080c6823b764be49f18e5ada1f92a3d89 08-Jun-2010 James Dong <jdong@google.com> am ef2ad683: am 31b19758: Merge "Second part of speeding up video recording frame rate" into kraken
4f501f0f2b71b69cadbdb96c71e83a06751e7f0e 07-Jun-2010 James Dong <jdong@google.com> Second part of speeding up video recording frame rate

1. Avoid copying the input recording frames to the encoder via OMX interface
for TI video encoder
This is a missing change for part one which help reduces the CPU load.

2. Release output buffers as early as possible. This is a little bit helpful, but not critical.

TODO:
We should save the underlying pointers allocated by the OMX component before we replace them
and restore them before we call OMX_FreeBuffer()!

Change-Id: Ib3a88978f4c3b1153808872eaa7ac4c265a811ff
edia/stagefright/OMXCodec.h
2ccb2eba46a4773066940e597270705de871921b 07-Jun-2010 Andreas Huber <andih@google.com> am f7d1c542: am a557b24a: Initial checkin of mpeg2 transport stream parser for stagefright.
a557b24ac4dd568d86b08753f7c0361d04f80d46 07-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of mpeg2 transport stream parser for stagefright.

Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
edia/stagefright/MediaDefs.h
1e1df1c8a942c711ba5c650aeb914a6c0d01a7ca 07-Jun-2010 Andreas Huber <andih@google.com> am cd4961d9: am 455d4100: Merge "Initial checkin of "foundation" library for future stagefright development." into kraken
455d41002e17de93b1486b2b2a97a71a0d62903b 07-Jun-2010 Andreas Huber <andih@google.com> Merge "Initial checkin of "foundation" library for future stagefright development." into kraken
b4912f9b2d722ea69f68076ccf10747544415d28 07-Jun-2010 James Dong <jdong@google.com> am f520c763: am 7a68d368: Merge "Remove hard-coded pixel format for recording frames in CameraSource. Retrieve the pixel format from Camera HAL at runtime." into kraken
7d2f703649e270b635018f8b7219bb0e1d62a2e5 07-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of "foundation" library for future stagefright development.

Change-Id: I11714dcaa647d0437a13e4c5b953b35e712da8f3
edia/stagefright/foundation/AAtomizer.h
edia/stagefright/foundation/ABase.h
edia/stagefright/foundation/ABuffer.h
edia/stagefright/foundation/ADebug.h
edia/stagefright/foundation/AHandler.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
7a68d3686aace4781ee6c25d8ab8704bebee34af 07-Jun-2010 James Dong <jdong@google.com> Merge "Remove hard-coded pixel format for recording frames in CameraSource. Retrieve the pixel format from Camera HAL at runtime." into kraken
58006194f87c2278990091e7014a60f442a21baa 05-Jun-2010 Mathias Agopian <mathias@google.com> am f5f7d389: am fae5cb2b: optimize Surface.readFromParcel()
5f98310f9a9f5630628f93a2d1b0f8c73a36e43c 05-Jun-2010 Mathias Agopian <mathias@google.com> am fd89b1c8: am 7623da43: split surface management from surface\'s buffers management
fae5cb2b356a1fef172b43066180a7ab4c32dbac 05-Jun-2010 Mathias Agopian <mathias@google.com> optimize Surface.readFromParcel()

this is called for each relayout() and used to create a full Surface (cpp)
which in turn did some heavy work (including an IPC with surfaceflinger),
most of the time to destroy it immediatelly when the returned surface
(the one in the parcel) was the same.

we now more intelligentely read from the parcel and construct the new
object only if needed.

Change-Id: Idfd40d9ac96ffc6d4ae5fd99bcc0773e131e2267
urfaceflinger/Surface.h
7623da435e45c7c03ef6a00a43675deb6645f070 02-Jun-2010 Mathias Agopian <mathias@google.com> split surface management from surface's buffers management

Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
i/GraphicBuffer.h
baff93de27b71b690eb9bdcb39a1bb044d9eade2 04-Jun-2010 Wu-cheng Li <wuchengli@google.com> am ab5e67c6: am cefb01ab: Merge "Add KEY_SUPPORTED_METERING_MODES and fix some typos." into kraken
cefb01abbfdb175e0c4b298126bcb4a98bf6371f 04-Jun-2010 Wu-cheng Li <wuchengli@google.com> Merge "Add KEY_SUPPORTED_METERING_MODES and fix some typos." into kraken
8aba232dbce3d7a1e3efd5fa41c37810de79d0ea 04-Jun-2010 Wu-cheng Li <wuchengli@google.com> Add KEY_SUPPORTED_METERING_MODES and fix some typos.

bug:2737111
Change-Id: I108ae7057786921bf99385ad66dbc1f02d6a1448
amera/CameraParameters.h
4b18200b9cc97d22ac4b77634195ec5f48004568 04-Jun-2010 Eric Laurent <elaurent@google.com> am 030a1553: am 2ea200c5: Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken
2ea200c5a7c13e6a7e8bfdb04e96066a38b19240 04-Jun-2010 Eric Laurent <elaurent@google.com> Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken
3c358eb7bd20af41d921c67fc461dbf9f85db118 04-Jun-2010 Wu-cheng Li <wuchengli@google.com> am 2f98f99c: am 5f5df382: Merge "Add camera metering mode API." into kraken
c2f328d0d2821e402823d6e17589da2849b67d0d 03-Jun-2010 James Dong <jdong@google.com> Remove hard-coded pixel format for recording frames in CameraSource.
Retrieve the pixel format from Camera HAL at runtime.

Change-Id: I63f820f54c59c2019dfd195320b9928da3362536
edia/stagefright/CameraSource.h
65b65459e6ac59f8a257009df8014467ae0838ee 02-Jun-2010 Eric Laurent <elaurent@google.com> Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.

First drop of audio framework modifications for audio effects support.

- AudioTrack/AudioRecord:
Added support for auxiliary effects in AudioTrack
Added support for audio sessions
Fixed left right channel inversion in setVolume()

- IAudioFlinger:
Added interface methods for effect enumeraiton and instantiation
Added support for audio sessions.

- IAudioTrack:
Added method to attach auxiliary effect.

- AudioFlinger
Created new classes to control effect engines in effect library and manage effect connections to tracks or
output mix:
EffectModule: wrapper object controlling the effect engine implementation in the effect library. There
is one EffectModule per instance of an effect in a given audio session
EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.
EffectChain for session 0 is for output mix effects, other chains are attached to audio tracks
with same session ID. Each chain contains a variable number of EffectModules
EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application
controlling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.

Added support for effect modules and effect chains creation in PlaybackThread.
modified mixer thread loop to allow track volume control by effect modules and call effect processing.

-AudioMixer
Each track now specifies its output buffer used by mixer for accumulation
Modified mixer process functions to process tracks by groups of tracks with same buffer
Modified track process functions to support accumulation to auxiliary channel

Change-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/EffectApi.h
edia/EffectFactoryApi.h
edia/IAudioFlinger.h
edia/IAudioTrack.h
rivate/media/AudioEffectShared.h
rivate/media/AudioTrackShared.h
f7f6333831e7b991d92abeddfbd46c2884afa405 03-Jun-2010 Wu-cheng Li <wuchengli@google.com> Add camera metering mode API.

bug:2737111
Change-Id: Ie986fee56ebeaaed2d2efb757701dfe3ffdec8d8
amera/CameraParameters.h
8b0dd7da360d70920a37802eb455ba41500d3b45 18-May-2010 Vasu Nori <vnori@google.com> add API to Cursor to get column value type

Change-Id: I3ef1bcdb2eb1c45f68e829ccb6e3ecde28076591
inder/CursorWindow.h
bd69e1b8518ccae73719c1a185a4312a910a6206 02-Jun-2010 Mathias Agopian <mathias@google.com> am 5220af87: am 770492cb: more clean-up in preparation of bigger changes
6c2faea435d2f001cec0eaeeeccf7e6273d4f245 02-Jun-2010 Mathias Agopian <mathias@google.com> am 4f0a9114: am cdfd5fe2: Fix a typo in Singleton<>
770492cb2b19f6a36ad748cd05fbedfbb9a67dfa 28-May-2010 Mathias Agopian <mathias@google.com> more clean-up in preparation of bigger changes

the most important change here is the renaming of
ISurfaceFlingerClient to ISurfaceComposerClient

Change-Id: I94e18b0417f50e06f21377446639c61f65f959b3
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/ISurface.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/ISurfaceFlingerClient.h
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
cdfd5fe2c89a30a31f9de5a5481e8997f014a89b 29-May-2010 Mathias Agopian <mathias@google.com> Fix a typo in Singleton<>

it could cause the sLock field to be emitted several times
in different compilation unit. it also prevented to
have 2 Singleton<> in the same file.
tils/Singleton.h
5f95da7a1786e06bf9ec2931ed151868582ad37c 28-May-2010 James Dong <jdong@google.com> am 46e70361: am 46441198: Merge "Avoid copying for input recording frames in CameraSource" into kraken
464411983a4dcafd19853d188a958fdc4f120d7c 28-May-2010 James Dong <jdong@google.com> Merge "Avoid copying for input recording frames in CameraSource" into kraken
dfb1dd6a8c0c0b0ecde302fae266d9a37617dfda 28-May-2010 James Dong <jdong@google.com> Avoid copying for input recording frames in CameraSource

This is the part one.

- Let CameraSource be a MediaBufferObserver. It releases the recording frame when the ref count of a MediaBuffer containing
the recording frame drops to 0.

This reduces the CPU load from 90+% down to 50-60%.

Part two is related to the avoidance of copying the input video frames to the video encoder.
However, we are not able to use OMX_UseBuffer directly. Still work on the second part.

Change-Id: I906f1d054ae8bdcf82e1617f1fc120152f2eb2eb
edia/stagefright/CameraSource.h
8eb25c28c01beed326f1612b0381f421f75516fc 28-May-2010 Mike Lockwood <lockwood@android.com> Merge "Move CursorWindow class from core/jni to libbinder"
2807df89af680e46cb35ee0035bb10b42d3136a2 27-May-2010 Mike Lockwood <lockwood@android.com> Move CursorWindow class from core/jni to libbinder

To allow use of the native CursorWindow class outside of the core framework jni

Change-Id: I72e8dcb91a2c691130c33cdfd9a25d343da1c592
Signed-off-by: Mike Lockwood <lockwood@android.com>
inder/CursorWindow.h
198975bb010531e6e21f35582fb7040960364473 28-May-2010 Wu-cheng Li <wuchengli@google.com> Merge "Add video frame parameter." into kraken
d2c2929c94bec68741b85f4174e11307fb65157f 28-May-2010 Wu-cheng Li <wuchengli@google.com> Add video frame parameter.

The image format of preview frames and video frames may be different.
We need another parameter for video frame format.

bug:2720893
Change-Id: I966a31b0ce8cab25cdde65db65a18c8cbe9c7bd6
amera/CameraParameters.h
c7b388c2b3a9558c85e3730a7c6b261392ce493e 28-May-2010 Mathias Agopian <mathias@google.com> more clean-up of Surfaceflinger's client management

SurfaceComposerClient now only exist on the WindowManager side,
the client side uses the new SurfaceClient class, which only
exposes what a client needs.

also instead of keeping mappings from IBinder to SurfaceComposerClients
we have a SurfaceClient per Surface (referring to the same IBinder), this
is made possible by the fact that SurfaceClient is very light.

Change-Id: I6a1f7015424f07871632a25ed6a502c55abfcfa6
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
1090a29d4e2d81f88f3ab51fbe5cf8d8264148af 27-May-2010 James Dong <jdong@google.com> Merge "Avoid repeatedly allocating and freeing memory in CameraSource" into kraken
aed15e785607b90b4819773650cdb164fa9a7f59 20-May-2010 James Dong <jdong@google.com> Avoid repeatedly allocating and freeing memory in CameraSource

Change-Id: Ia3760820da0559e4e908dedae1f1df05f9a6a242
edia/stagefright/CameraSource.h
27a308d309efb0fe6beacbdc92fb12cfecec9b37 26-May-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2667797: [Audio Effect Framework] new base class and binder interfaces for effect control." into kraken
64f7549b0e0e2b77e698ae88389465342d3f28d7 26-May-2010 Mathias Agopian <mathias@google.com> Merge "fix [2712278] The preview buffer left some black borders in left and bottom edges" into kraken
2ce19af45bf4c5e311a73df474ffe88d96d118c5 26-May-2010 Mathias Agopian <mathias@google.com> fix [2712278] The preview buffer left some black borders in left and bottom edges

we were incorrectly flagging push_buffer surfaces as invalid

Change-Id: I4dfd4ffbbe8a71f7e23e835db8d71966416c29bb
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
c0f34386d6ab075aced829996ea357c31abdddac 21-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2667797: [Audio Effect Framework] new base class and binder interfaces for effect control.

Added IEffect and IEffectClient binder interfaces to exchange effect module control
and status information between application and media server processes.

Change-Id: I10e8e894898e52ed9956a765d0ef7075eb2593af
edia/IEffect.h
edia/IEffectClient.h
cf3fa85cdb6881827a379632c905f86fab2edc34 25-May-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2667796: [Audio Effect Framework] Effect factory and libraries." into kraken
2be352adab7f11646fda7c0240e496bbb37f7bd1 22-May-2010 Mathias Agopian <mathias@google.com> added the notion of fixed-size buffers

the new native_window_set_buffers_geometry allows
to specify a size and format for all buffers to be
dequeued. the buffer will be scalled to the window's
size.

Change-Id: I2c378b85c88d29cdd827a5f319d5c704d79ba381
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/ISurface.h
urfaceflinger/Surface.h
i/egl/android_natives.h
57d89899c9fb978a1c097f298aa94c5db1f61bb6 21-May-2010 Mathias Agopian <mathias@google.com> fix a bug when reallocating a window's buffers is needed

we need to mark the buffers that need to be reallocated,
NOT the buffer's indices.

Change-Id: I809e2e1b03b56c4d2ab983c25523dae99aa1da74
rivate/surfaceflinger/SharedBufferStack.h
bd329ddbea1860a2a859f065d7c405717c7d8133 21-May-2010 Wu-cheng Li <wuchengli@google.com> Improve GPS EXIF parameters comments.

Change-Id: I33f7487821b283fe746baa09a71a703ae763d66d
amera/CameraParameters.h
25f0bdaea6d1a34aae3faf6688cad4fbebcca969 21-May-2010 Mathias Agopian <mathias@google.com> added native_window_set_buffer_count()

this method can be used to change the number of buffers
associated to a native window. the default is two.

Change-Id: I608b959e6b29d77f95edb23c31dc9b099a758f2f
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/Surface.h
i/egl/android_natives.h
4f5f2786b2c850ad0d772c7707ddbe55c3b7adf6 21-May-2010 Mathias Agopian <mathias@google.com> Merge "fix the threading issue for setBuffercount()" into kraken
5fe37c6838de9fbd959ad19ba44aa3d00d1b4e6f 21-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2667796: [Audio Effect Framework] Effect factory and libraries.

First effect factory and effect library API implementation.
Also added default effect libraries for reverb and equalizer effects.
These libraries are for functional test only and are not fine tuned with
regard to audio quality. They will probably be replaced by other implementations
before the release.

Change-Id: I6868f8612146ae282c64052765c61a52ec789ec8
edia/AudioCommon.h
edia/AudioSystem.h
edia/EffectApi.h
edia/EffectEqualizerApi.h
edia/EffectFactoryApi.h
edia/EffectReverbApi.h
898c4c91be8e11b6d5388c623ae80f12ac25fd27 19-May-2010 Mathias Agopian <mathias@google.com> fix the threading issue for setBuffercount()

this change introduces R/W locks in the right places.
on the server-side, it guarantees that setBufferCount()
is synchronized with "retire" and "resize".
on the client-side, it guarantees that setBufferCount()
is synchronized with "dequeue", "lockbuffer" and "queue"
rivate/surfaceflinger/SharedBufferStack.h
072f5247ef893e683728263a540bb93daafda376 20-May-2010 Andreas Huber <andih@google.com> Support for media extraction from .mkv/.mka Matroska files in stagefright.

Change-Id: I4c26579828ad575523ccf58b0b5cb144046c04ca
related-to-bug: 2483739
edia/stagefright/MediaDefs.h
66c46a6bd15422fe898d533d1350d6df748dd95b 20-May-2010 Mathias Agopian <mathias@google.com> added RWLock C++ wrapper

Change-Id: Ia736bf7f6e2c49915a9ab5669551cf89dafa7961
tils/threads.h
17299ab50ceb70d904e610e3b2d7fb2361a11e03 15-May-2010 James Dong <jdong@google.com> Initial software encoder checkins

Change-Id: I27f387db23594e46384c4eb3a0093ce220bb6b60
edia/stagefright/AudioSource.h
edia/stagefright/OMXCodec.h
cd30f4f849bb215509bd2645726048271b5db01e 18-May-2010 Mathias Agopian <mathias@google.com> fix some bugs in SharedBufferStack::resize

added buffers should now be labeled properly.

Change-Id: I28aa753fbe89ab89134e7753575319478934c7fa
rivate/surfaceflinger/SharedBufferStack.h
eb8f850d0b7e53956e917fd9645f808c1a09bc88 14-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2553359: Pandora does not work well with Passion deskdock / Cardock.

The problem is due to a too big difference between the buffer size used at the hardware interface and at the A2DP interface.
When no resampling occurs we don't notice problems but the timing is very tight. As soon as resampling is activated, the AudioTrack underruns.
This is because the AudioTrack buffers are not resized when moving the AudioTrack from hardware to A2DP output.
The AudioTrack buffers are calculated based on a hardware output buffer size of 3072 bytes. Which is much less than the A2DP output buffer size (10240).

The solution consists in creating new tracks with new buffers in AudioFlinger when the A2DP output is opened
instead of just transfering active tracks from hardware output mixer thread to the new A2DP output mixer thread.
To avoid synchronization issues between mixer threads and client processes, this is done by invalidating tracks
by setting a flag in their control block and having AudioTrack release the handle on this track (IAudioTrack)
and create a new IAudioTrack when this flag is detected next time obtainBuffer() or start() is executed.

AudioFlinger modifications:
- invalidate the tracks when setStreamOutput() is called
- make sure that notifications of output opening/closing and change of stream type to output mapping are sent synchronously to client process.
This is necessary so that AudioSystem has the new stream to output mapping when the AudioTrack detects the invalidate flag in the client process.
Previously their were sent when the corresponding thread loop was executed.

AudioTrack modifications:
- move frame count calculation and verification from set() to createTrack() so that is is updated every time a new IAudioTrack is created.
- detect track invalidate flag in obtainBuffer() and start() and create a new IAudioTrack.

AudioTrackShared modifications
- group all flags (out, flowControlFlag, forceReady...) into a single bit filed to save space.

Change-Id: I9ac26b6192230627d35084e1449640caaf7d56ee
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
ae7ca4c32cb37ea82e77ad1462fbfcd4d6dfabd3 15-May-2010 Wu-cheng Li <wuchengli@google.com> Fix build error.

Original name INFINITY conflicts with the macro in math.h.

Change-Id: I9845ed84fca17813dd971239a902cc1e0bad1e3e
amera/CameraParameters.h
e339c5edbebedf446581f18ad70214007309bf4b 13-May-2010 Wu-cheng Li <wuchengli@google.com> Add camera focus distances API.

Applications can use this API to estimate the distance
between the subject and the camera.

bug:1955650
Change-Id: Ie6c8ea4971759cab6c9bcdda2c5ceb5925791c27
amera/CameraParameters.h
68510e60f9671ee08f3cc18bd93400cafb7703bb 14-May-2010 James Dong <jdong@google.com> Detect and handle premature termination of a recording session

Change-Id: Ifb83b19f3e68580345b23efed5d5956fb81baeb8
edia/mediarecorder.h
9db798d0f07213071a65237e9ece758c9e8c7b99 13-May-2010 James Dong <jdong@google.com> Audio/video initial recording time synchronization

Change-Id: Iac58b63d474fe09c1d36ba6ecde91dafbb7fef9a
edia/stagefright/MPEG4Writer.h
1824486e044f4f09640fbd7bef74a20e4efb35ae 11-May-2010 James Dong <jdong@google.com> Handle recording file size and/or duration limit

Change-Id: Ib9ed1f3ebd8fef550cc130a7ef11f2905fa9aedc
edia/stagefright/AMRWriter.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaWriter.h
b0a0147f344a2d26d86be2b1bdf5bfde50ef86c2 14-May-2010 Eric Laurent <elaurent@google.com> AudioFlinger: rename variables to clarify reference to track channel count or channel mask

Some variables and structure members should be renamed to reflect the fact that they contain the
number of channels in a track (channel count) or the actual channels used by a track (channel mask).
Especially member "channels" of track control block (struct audio_track_cblk_t) is actually the
number of channels (channels count).

Change-Id: I220c8dede9fc00c8a5693389e790073b6ed307b8
rivate/media/AudioTrackShared.h
e292b3bc9c28e47bb8411728ad40efb84d0471e8 13-May-2010 James Dong <jdong@google.com> Remove dummy surface in CameraSource

bug - 2680919

Change-Id: Ia0308cf57fd67058b4dd0e042b3ce97f13df475f
edia/stagefright/CameraSource.h
2f0e6753d6c0d67e0e133105bf3fdc8596749412 13-May-2010 Mathias Agopian <mathias@google.com> Merge "SharedBufferStack now can grow up to 16 buffers." into kraken
59751dbf7d8f12aeb5c4c07719b7dbbf1f9b5d4b 08-May-2010 Mathias Agopian <mathias@google.com> SharedBufferStack now can grow up to 16 buffers.

there is a new resize() api, which currently only allows growing.

Change-Id: Ia37b81b73be466d2491ffed7f3a23cd8e113c6fe
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/ISurface.h
urfaceflinger/Surface.h
e8621534db97070cc40f729d1eb8074f2e69df9d 12-May-2010 Kenny Root <kroot@google.com> Merge "ZipUtilsRO rewrite based on Dalvik Zip rewrite" into kraken
11777d6fa27b368eee75c46aeb0da2c609943c9d 12-May-2010 Andreas Huber <andih@google.com> am b003ad17: am e0dc80f8: Merge "Support for customizable socket-read timeouts through the HTTP response." into froyo

Merge commit 'b003ad17bffeba7875b9708ffeef2300ef28c916' into kraken

* commit 'b003ad17bffeba7875b9708ffeef2300ef28c916':
Support for customizable socket-read timeouts through the HTTP response.
b3390135890800b9c5f0ab58ae3af80ab200dd8e 12-May-2010 Wu-cheng Li <wuchengli@google.com> am d8c33747: am 78624e41: Add remove method in CameraParameters class.

Merge commit 'd8c33747afbe98e893e0569f3bf45b67a9e8e728' into kraken

* commit 'd8c33747afbe98e893e0569f3bf45b67a9e8e728':
Add remove method in CameraParameters class.
b003ad17bffeba7875b9708ffeef2300ef28c916 12-May-2010 Andreas Huber <andih@google.com> am e0dc80f8: Merge "Support for customizable socket-read timeouts through the HTTP response." into froyo

Merge commit 'e0dc80f878b56ed744bd06d341716fcfff4e3acc' into froyo-plus-aosp

* commit 'e0dc80f878b56ed744bd06d341716fcfff4e3acc':
Support for customizable socket-read timeouts through the HTTP response.
d8c33747afbe98e893e0569f3bf45b67a9e8e728 12-May-2010 Wu-cheng Li <wuchengli@google.com> am 78624e41: Add remove method in CameraParameters class.

Merge commit '78624e41da166712aaa5ae47e4d3467337ac810a' into froyo-plus-aosp

* commit '78624e41da166712aaa5ae47e4d3467337ac810a':
Add remove method in CameraParameters class.
68246dcec17c245a434dad70b778960dc5c84af1 23-Apr-2010 Kenny Root <kroot@google.com> ZipUtilsRO rewrite based on Dalvik Zip rewrite

Change the way zip archives are handled. This is necessary to deal with
very large (~1GB) APK files, for which our current approach of mapping
the entire file falls over.

We now do the classic scavenger hunt for the End Of Central Directory
magic on a buffer of data read from the file, instead of a memory-mapped
section. We use what we find to create a map that covers the Central
Directory only.

If the caller is interested in unpacking the file contents, we have to
do an additional file read to discover the size of the Local File Header
section so we can skip past it.

This is based on Change I745fb15abb in the dalvik tree. Both
implementations share a common ancestry, but the cost of unifying them
outweighs the benefits of wrapping C calls.

Change-Id: Iddacb50fe913917c2845708a530872d65fdbe620
tils/ZipFileCRO.h
tils/ZipFileRO.h
25c2af99bfedf95f0c372cbfbad33984ce983896 11-May-2010 Jamie Gennis <jgennis@google.com> Merge "Add incStrong and decStrong methods to android_native_{window,buffer}_t." into kraken
e67c1607ccab2702ea745f962b5354be8f45c733 11-May-2010 Andreas Huber <andih@google.com> Support for customizable socket-read timeouts through the HTTP response.

Specify a response header of "X-SocketTimeout: 15" to override the default timeout
of 5 secs with a timeout of 15 seconds. Specify a negative value to disable the
timeout altogether.

Change-Id: I545adf3d8b3f7efe5f8d081a641c6404440a77db
related-to-bug: 2675721
edia/stagefright/HTTPDataSource.h
b5e742397d4129e191d65d51da55302b504f3c99 07-May-2010 James Dong <jdong@google.com> Output streamable MP4 file during MP4 file recording

When the reserved moov box space is not big enough,
fall back to non-streamable MP4 file.

Change-Id: I93382d037d657a3f3fe2af31e4ea26e1898b4d95
edia/stagefright/MPEG4Writer.h
78624e41da166712aaa5ae47e4d3467337ac810a 10-May-2010 Wu-cheng Li <wuchengli@google.com> Add remove method in CameraParameters class.

bug:2672651
Change-Id: I537c817b5ca6a3d925f22febe9a5769156354d00
amera/CameraParameters.h
e1b2b3b0d23c964470badb7faa2569b0fa0f182e 11-May-2010 Wu-cheng Li <wuchengli@google.com> Merge "Add continuous focus mode constant." into kraken
505cef3330c422c52564011f31a795a6c6135b3f 11-May-2010 Jamie Gennis <jgennis@google.com> Add incStrong and decStrong methods to android_native_{window,buffer}_t.

This change adds the methods necessary to use sp<> to handle refcounting
android_native_window_t and android_native_buffer_t. The new methods forward
the refcounting operations to the corresponding android_native_base_t
functions.

Change-Id: I7de8e262728e439bc1efdf69374a2a9f6f432ced
i/android_native_buffer.h
i/egl/android_natives.h
248597ae6493ff68fc52db26b095de620a26924a 10-May-2010 Andreas Huber <andih@google.com> am 17078510: am d13efb20: Merge "A new OggExtractor/VorbisDecoder combo to support approximate seeking." into froyo

Merge commit '1707851090e6512a77247b0c260dd673ef687589' into kraken

* commit '1707851090e6512a77247b0c260dd673ef687589':
A new OggExtractor/VorbisDecoder combo to support approximate seeking.
1707851090e6512a77247b0c260dd673ef687589 10-May-2010 Andreas Huber <andih@google.com> am d13efb20: Merge "A new OggExtractor/VorbisDecoder combo to support approximate seeking." into froyo

Merge commit 'd13efb20089e44e6958cb9704864c03821f19e1c' into froyo-plus-aosp

* commit 'd13efb20089e44e6958cb9704864c03821f19e1c':
A new OggExtractor/VorbisDecoder combo to support approximate seeking.
ca099614841bc619f217dfa088da630a7eb1ab65 06-May-2010 Wu-cheng Li <wuchengli@google.com> Add continuous focus mode constant.

bug:2612447
Change-Id: I9bc3f5a47ad50722a265d50b1d28fb82a2253dc9
amera/CameraParameters.h
e25cc656392d8866e163f78b60c7791455d0fb44 06-May-2010 Chih-Chung Chang <chihchung@google.com> Support multiple cameras in framework.

Change-Id: I081f0fbdca4b633715ea7c3b3d42f8662d27598a
amera/Camera.h
amera/ICameraService.h
388379f8b4cabe7bccf280d450a6db2c3149796b 07-May-2010 Andreas Huber <andih@google.com> A new OggExtractor/VorbisDecoder combo to support approximate seeking.

Change-Id: Id5d0c1c8b1adc62896bb5ed951f7b5cfda811e95
related-to-bug: 2654400
edia/stagefright/MediaDefs.h
edia/stagefright/MetaData.h
edia/stagefright/Utils.h
a269d195d41ced934d2153fd81fa69ffe7854740 07-May-2010 Dan Egnor <egnor@google.com> am ca48c88c: am 8a8658a5: Merge "Make static versions of libutils and libbinder." into froyo

Merge commit 'ca48c88c3d5733c4405a2fc4f7d9bb7fbba3d43f' into kraken

* commit 'ca48c88c3d5733c4405a2fc4f7d9bb7fbba3d43f':
Make static versions of libutils and libbinder.
ca48c88c3d5733c4405a2fc4f7d9bb7fbba3d43f 07-May-2010 Dan Egnor <egnor@google.com> am 8a8658a5: Merge "Make static versions of libutils and libbinder." into froyo

Merge commit '8a8658a5de261c2da72d431940877bd054bc9837' into froyo-plus-aosp

* commit '8a8658a5de261c2da72d431940877bd054bc9837':
Make static versions of libutils and libbinder.
8a8658a5de261c2da72d431940877bd054bc9837 07-May-2010 Dan Egnor <egnor@google.com> Merge "Make static versions of libutils and libbinder." into froyo
8a1c0934b0622be6f7c451aa8773567e797ab397 06-May-2010 Andreas Huber <andih@google.com> am 71bd9fc8: am 100ef9be: Merge "Disable vorbis seek when streaming from localhost." into froyo

Merge commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c' into kraken

* commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c':
Disable vorbis seek when streaming from localhost.
71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c 06-May-2010 Andreas Huber <andih@google.com> am 100ef9be: Merge "Disable vorbis seek when streaming from localhost." into froyo

Merge commit '100ef9bee48c9beb83d885d233de6a42c64f55af' into froyo-plus-aosp

* commit '100ef9bee48c9beb83d885d233de6a42c64f55af':
Disable vorbis seek when streaming from localhost.
62f7ffe106a7126ef31b199552c5cfc6599bc3d1 06-May-2010 Andreas Huber <andih@google.com> Disable vorbis seek when streaming from localhost.

Change-Id: Icda523ae1c89e26482f1c1767fe3a8b9222bb30f
related-to-bug: 2654400
edia/stagefright/DataSource.h
edia/stagefright/HTTPDataSource.h
edia/stagefright/MediaExtractor.h
08b3d2e5ef01a5114424a871934dd9fc153352c0 06-May-2010 Dan Egnor <egnor@google.com> Make static versions of libutils and libbinder.

Fix some small static-initialization-order issues (and a static-
initializers-missing issue) that result from doing so. The static
libraries don't actually get used for anything real at the moment --
they're used for perf tests of bug 2660235.

Bug: 2660235
Change-Id: Iee2f38f79cc93b395e8d0a5a144ed92461f5ada0
inder/Binder.h
579e08e657a8dc9274b297b5dda95a4383cc3642 06-May-2010 The Android Open Source Project <initial-contribution@android.com> am f7896449: merge from open-source master

Merge commit 'f78964490d8098387d51444c87bf520ad3f674e2' into kraken

* commit 'f78964490d8098387d51444c87bf520ad3f674e2':
Add new keycodes for the convenience of Japanese IMEs
Call register_localized_collators() with the current locale.
Fixed deserialization problem in DatePicker.
Fix for bug 2467152 files with spaces fail to open.
Set alpha value for newly created dim surface.
telephony: Fix CID when CID is unknown
f78964490d8098387d51444c87bf520ad3f674e2 06-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Ia9e1f4e049f5870386ea29ddb6e3ef028ea918da
b032bc037399110f41cfdb838a792b3c65756323 02-Oct-2009 mogimo <mogimogio@gmail.com> Add new keycodes for the convenience of Japanese IMEs

Change-Id: Ibd308cef11261147856258595f6ca0137e03e05c
i/KeycodeLabels.h
3300e9667e3daa374659b4a8b97dd92c4d34e501 22-Apr-2010 James Dong <jdong@google.com> Support audio and video track interleaving in the recorded mp4 file

Change-Id: Ifa27eb23ee265f84fe06773b29b0eb2b0b075b60
edia/stagefright/CameraSource.h
edia/stagefright/MPEG4Writer.h
ce0bd71735532f53014cc299f684302f357c471a 04-May-2010 Andreas Huber <andih@google.com> am 8ea45aad: am e083d0a2: Merge "Support for Ogg Vorbis decoding in stagefright." into froyo

Merge commit '8ea45aad100ee25067b2e83703454c71a968ba4f' into kraken

* commit '8ea45aad100ee25067b2e83703454c71a968ba4f':
Support for Ogg Vorbis decoding in stagefright.
8ea45aad100ee25067b2e83703454c71a968ba4f 04-May-2010 Andreas Huber <andih@google.com> am e083d0a2: Merge "Support for Ogg Vorbis decoding in stagefright." into froyo

Merge commit 'e083d0a2f50906423ab548047d436c74648fc488' into froyo-plus-aosp

* commit 'e083d0a2f50906423ab548047d436c74648fc488':
Support for Ogg Vorbis decoding in stagefright.
eb5eef38198b38d97b573be550657ba64ccba299 04-May-2010 Andreas Huber <andih@google.com> Support for Ogg Vorbis decoding in stagefright.

Set the magic property media.stagefright.enable-vorbis to true to use the new implementation instead of the standalon vorbis player for file-based playback. HTTP streaming of vorbis content will always go through stagefright.

Change-Id: Ie3843a99fadb22372f89540d0f8d65196e0c2af8
related-to-bug: 2654400
edia/stagefright/MediaDefs.h
1bb8b670f99c1029def72ec408142077abd66cc4 30-Apr-2010 Mathias Agopian <mathias@google.com> Merge "Add support for enqueuing buffers in arbitrary order" into kraken
daedd81f089c296ac7355e9be47f1e4c6d645b04 29-Apr-2010 Mathias Agopian <mathias@google.com> Merge "cleanup. waitForCondition() now uses polymorphsim instead of templtes" into kraken
1d0fa397ce6c7f654fc3086e6267e1c611dd19ea 29-Apr-2010 Mathias Agopian <mathias@google.com> Merge "fix a race condition in undoDequeue(), where 'tail' could be computed incorrectly." into kraken
14cee9f688c32d63d8521188e7422811629bb7c2 24-Apr-2010 Dianne Hackborn <hackbod@google.com> New xlarge screen size.

Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
tils/ResourceTypes.h
bfe7f0b12165a1ad4a73b6d8f013cb9e115a3c60 28-Apr-2010 Mathias Agopian <mathias@google.com> Add support for enqueuing buffers in arbitrary order

Also added a very simple SharedBufferStack unit test.

Change-Id: I253dbbe98a53c966b78d22d4d6dd59f8aefc8c40
rivate/surfaceflinger/SharedBufferStack.h
f590f702c8142fa5225a6d2ea6649515c1a2961f 28-Apr-2010 Mathias Agopian <mathias@google.com> cleanup. waitForCondition() now uses polymorphsim instead of templtes

the reason for the above change is that waitForCondition() had become
large over time, mainly to handle error cases, using inlines to
evaluate the condition doesn't buys us much anymore while it increases
code size.

Change-Id: I2595d850832628954b900ab8bb1796c863447bc7
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/Surface.h
c54c12713b98f308f848d2eb9ed7ef28ecc62c55 28-Apr-2010 Mathias Agopian <mathias@google.com> fix a race condition in undoDequeue(), where 'tail' could be computed incorrectly.

in the undoDequeue() case, 'tail' was recalculated from 'available' and 'head'
however there was a race between this and retireAndLock(), which could cause
'tail' to be recalculated wrongly.

the interesting thing though is that retireAndLock() shouldn't have any impact
on the value of 'tail', which is client-side only attribute.
we fix the race by saving the value of 'tail' before dequeue() and restore it
in the case of undoDequeue(), since we know it doesn't depend on retireAndLock().

Change-Id: I4bcc4d16b6bc4dd93717ee739c603040b18295a0
rivate/surfaceflinger/SharedBufferStack.h
b00e246669a1da84b1dd7e3f014eedc21747562f 27-Apr-2010 James Dong <jdong@google.com> Use timestamp from camera driver for CameraSource

Change-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf
edia/stagefright/CameraSource.h
a8a0aa8b922c45fb4633f51610f264a19f9bd825 22-Apr-2010 Mathias Agopian <mathias@google.com> better fix for [2420565] Surface.lockCanvas() updates the dirty region too often

Change-Id: I83438b40effd21538f1c74396dc665254b9d5ab6
urfaceflinger/Surface.h
d29eafdba5ca887631648a470dbec30b82cfd9dc 21-Apr-2010 The Android Open Source Project <initial-contribution@android.com> am f021d12f: merge from open-source master

Merge commit 'f021d12f6f7116e9275cd3553a349ce5cb8aab14' into kraken

* commit 'f021d12f6f7116e9275cd3553a349ce5cb8aab14':
Allow META* macros outside of the framework
Fix printing order of phone objects creation
f021d12f6f7116e9275cd3553a349ce5cb8aab14 21-Apr-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I08f1feae65b1dfc3f740d78654c267f2e3ae5e85
5a870fee53ca94c7575503c72574ca0f068d52c7 03-Nov-2009 Michael Richardson <mcr@credil.org> Allow META* macros outside of the framework

The META* macros are useful outside of the framework
for other systems implementing Binder interfaces, but
they depend upon the android namespace. This includes
the appropriate namespace operations, which should be
sane even in that android namespace.

Change-Id: If600156c65191f51f487d0ee301d9f9f532b263d
inder/IInterface.h
16a86ee30b70aea8c254b836c708f54a608d25f3 16-Apr-2010 Mathias Agopian <mathias@google.com> added setCrop() to android_native_window_t

hooked up the new method up to Surface.cpp
the actual crop is not implemented in SF yet

Change-Id: Ic6e313c98fd880f127a051a0ccc71808bd689751
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/ISurfaceFlingerClient.h
urfaceflinger/Surface.h
i/egl/android_natives.h
6bb5ebaa0305a30b5037f6533b3b989e0437d26c 06-Apr-2010 Mathias Agopian <pixelflinger@google.com> add support for up to 16 buffers per surface

also increase the dirtyregion size from 1 to 6 rectangles.
Overall we now need 27KiB process instead of 4KiB

Change-Id: Iebda5565015158f49d9ca8dbcf55e6ad04855be3
rivate/surfaceflinger/SharedBufferStack.h
732c73e1e76fef4f3857a1649b03021305639c3c 20-Apr-2010 Mathias Agopian <mathias@google.com> am 26f61635: am 0a4ab1b9: Merge "fix [2599939] "cannot play video" after open/close a video player a dozen of times" into froyo

Merge commit '26f6163557980062dbb203388b3d0794ee0d06f7' into kraken

* commit '26f6163557980062dbb203388b3d0794ee0d06f7':
fix [2599939] "cannot play video" after open/close a video player a dozen of times
26f6163557980062dbb203388b3d0794ee0d06f7 20-Apr-2010 Mathias Agopian <mathias@google.com> am 0a4ab1b9: Merge "fix [2599939] "cannot play video" after open/close a video player a dozen of times" into froyo

Merge commit '0a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa' into froyo-plus-aosp

* commit '0a4ab1b9b4c7b891c1ecb67eed99e9c9b30c93aa':
fix [2599939] "cannot play video" after open/close a video player a dozen of times
92c3b393275e967f37162b40b3438c5616328372 20-Apr-2010 Mathias Agopian <mathias@google.com> fix [2599939] "cannot play video" after open/close a video player a dozen of times

get rid off the MAP_ONCE flag is MemoryHeapBase (as well as it's functionality),
this feature should not be used anymore.

the software renderer was incorrectly using the default ctor which set MAP_ONCE,
causing the leak. the software renderer itself is incorrectly used while coming
back from sleep.

Change-Id: I123621f8d140550b864f352bbcd8a5729db12b57
inder/IMemory.h
inder/MemoryHeapBase.h
inder/MemoryHeapPmem.h
67bbac844d3fda5c693464deddf349b80c5190a0 15-Apr-2010 Mathias Agopian <mathias@google.com> when a zero dimension buffer is allocated, turn the allocation into
a 1x1 buffer instead of Nx1 (or 1xN)

Change-Id: I27eeb15e83e13002dd9405f4e52b54f7dffc0fe7
i/GraphicBufferAllocator.h
445a97855480acecaa53c648be47337d19b4297d 13-Apr-2010 Mathias Agopian <mathias@google.com> Merge "don't hardcode "mSurface" throughout our source code" into kraken
7853c8988fe30d1a150dcf62887506f36ea75242 13-Apr-2010 Andreas Huber <andih@google.com> am 248ea4a9: am 5baa5e19: Merge "Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don\'t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks." into froyo

Merge commit '248ea4a9f773210a7b7dbd7892e6b865a0f7add3' into kraken

* commit '248ea4a9f773210a7b7dbd7892e6b865a0f7add3':
Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.
248ea4a9f773210a7b7dbd7892e6b865a0f7add3 13-Apr-2010 Andreas Huber <andih@google.com> am 5baa5e19: Merge "Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don\'t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks." into froyo

Merge commit '5baa5e1917ba4a212fa280b8b6cc3bbbf9382194' into froyo-plus-aosp

* commit '5baa5e1917ba4a212fa280b8b6cc3bbbf9382194':
Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.
8b138323d54e36fd66b22a634494648e20c53373 13-Apr-2010 Mathias Agopian <mathias@google.com> don't hardcode "mSurface" throughout our source code

this is used in a few places to get access to the android.view.Surface
native surface. use a macro instead. Also rename the field to mNativeSurface.

Change-Id: I1c6dea14abd6b8b1392c7f97b304115999355094
urfaceflinger/Surface.h
d0332ad8d212d87fbf909fc780e6378b4d2c20c1 13-Apr-2010 Andreas Huber <andih@google.com> Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.

Change-Id: Ic9a9198413431db4ea40bb63b9de91aa8a7183af
related-to-bug: 2587341
edia/stagefright/MediaDefs.h
4501f62d7acb2fc754b89e77e4cec2e6c5b46037 12-Apr-2010 Andreas Huber <andih@google.com> Merge "Remove unnecessary lock from AMRWriter." into kraken
08caa704ae6c1dd8434186fa2dc22b1d7f8a5f9c 10-Apr-2010 Wu-cheng Li <wuchengli@google.com> am c58b4232: Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.

Merge commit 'c58b42327df5fbc826e2fcc2674ab6db0edfcd92' into froyo-plus-aosp

* commit 'c58b42327df5fbc826e2fcc2674ab6db0edfcd92':
Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.
c58b42327df5fbc826e2fcc2674ab6db0edfcd92 29-Mar-2010 Wu-cheng Li <wuchengli@google.com> Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.

bug:2544367
Change-Id: If122a7745e080f9e4bffb15dc4930d71f0421867
amera/CameraParameters.h
e2018ca9ff9234876bb5ba63d2f51b72396c5fca 23-Mar-2010 Andreas Huber <andih@google.com> Remove unnecessary lock from AMRWriter.

Change-Id: Ia02966d936dd8cbb31e92051578a3fa816885710
edia/stagefright/AMRWriter.h
b52e9f748cefaad01fc66a73ddfa707f2446895c 08-Apr-2010 Andreas Huber <andih@google.com> am eb12e45f: Merge "Refactor connection/redirection code, support redirects on reconnection." into froyo

Merge commit 'eb12e45f7a92fd424988451256c82605d086245d' into froyo-plus-aosp

* commit 'eb12e45f7a92fd424988451256c82605d086245d':
Refactor connection/redirection code, support redirects on reconnection.
65369424cbfbf165b4324bdcb6f138435462a196 08-Apr-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I975030d9572463bc69245bcffa25c47d7acb2b51
aba965fdd86dfe4c817f4d272deb24fd1fcc1446 08-Apr-2010 Andreas Huber <andih@google.com> Refactor connection/redirection code, support redirects on reconnection.

Change-Id: Id2517568000e028b01553c06a4893813a6883168
related-to-bug: 2580785
edia/stagefright/HTTPDataSource.h
a51250bdc753c02b0cae1dd83750ae6e2c1036c7 08-Apr-2010 Andreas Huber <andih@google.com> Increase the size of the pages used in CachingDataSource (total amount of memory used remains the same) to compensate for reduced locality of audio/video data requests. Also fixes a mistaken trailing "\r\n" in the range header and better error handling on http connection.

Change-Id: Ic9a6ef204362bc9afdc61e081c76bc62e5ef92ad
related-to-bug: 2580785
edia/stagefright/HTTPDataSource.h
4fedd80c1d3997d62073518973b1fe09862ebaa5 27-May-2009 Chih-Wei Huang <cwhuang@linux.org.tw> Add keycodes PageUp and PageDown

This is useful for applications like web browser.

Change-Id: Ie9262d5b75de87ecd0971407a7c3ce9aa6e4998e
i/KeycodeLabels.h
a4357addf609c4a88867c93db135d531b2c40352 02-Apr-2010 Andreas Huber <andih@google.com> Coalesce multiple encoded AAC frames into a single input buffer on this particular OMX codec to increase throughput significantly.

Change-Id: I90c7db6656a53339c5d454336548c4f00d0d9064
related-to-bug: 2548426
edia/stagefright/OMXCodec.h
e64d9a236e4704abf53d3b7eea2eb066f23cf402 31-Mar-2010 James Dong <jdong@google.com> Public API changes for CameraProfile and CamcorderProfile classes

1. CamcorderProfile: “@see” links are broken; Remove m prefix from fields; remove “final”
2. CamcorderProfile.Quality: use an int rather than an enum
3. Add API on MediaRecorder to pass in a CamcorderProfile
4. CameraProfile.getImageEncodingQualityLevels @hide or make it consistent with CamcorderProfile
5. Remove a convenient method and instead let the (mms) app do that task

bug - 2553862

Change-Id: I759215c7892f772aeddf3651d17038489c6fbc50
edia/MediaProfiles.h
dc5ce9c548533e0c149e7a5b2a0597f321905bef 25-Mar-2010 Mathias Agopian <mathias@google.com> fix [2545826] calling into gralloc with external lock held

Change-Id: I2d0e017382404c684c768a0dd0423d574213f10a
i/GraphicBufferAllocator.h
a729f97e8bfba67a94b1cde26d0d78d84528de85 20-Mar-2010 Mathias Agopian <mathias@google.com> libutils Condition are now PRIVATE by default

Condition must be initialized with SHARED for the old behavior, where
they can be used accross processes.

Updated the two places android that require SHARED conditions.

PRIVATE conditions (and mutexes) use more efficient syscalls.

Change-Id: I9a281a4b88206e92ac559c66554e886b9c62db3a
tils/threads.h
900e0d095442d7111e77a2f2e9467a39b164bb73 18-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Update TTS plugin interface to receive engine configuration data
coming from the plugin helper code (handling config and preferences).

Change-Id: Ibc1d229463f11f8977552d74d1fd2aa6a6cab88e
ts/TtsEngine.h
878342993276a1a98f35f3ccda24c675ed09b7eb 18-Mar-2010 Andreas Huber <andih@google.com> While streaming media data, upon a socket-read error, try reconnecting to the server and attempt to re-read for at most 3 times.

Change-Id: I7534905e07a6456d18b26d5d60fa8915f25ae99e
related-to-bug: 2492187
edia/stagefright/HTTPDataSource.h
2a09c7e042d6a3ae600b25f606d584368a6e3f3a 16-Mar-2010 Andreas Huber <andih@google.com> Properly handle errors during the codec configuration phase, attempt to revert to next available (likely software-) codec if configuration fails.

Change-Id: Id1c699711e30139c9cc29df972254b5ba026e6fb
related-to-bug: 2517098
edia/stagefright/OMXCodec.h
e3452d3fe1da014a6db9a326df08230e0d5339ec 13-Mar-2010 Andreas Huber <andih@google.com> Fix the media metadata retriever (tests). The native constants must match those published at the java layer.

Change-Id: Ic1efed709e4d93c61913b231a8cd3ef1074f8ca0
edia/MediaMetadataRetrieverInterface.h
edia/mediametadataretriever.h
34ec95de2f96a5f85d5e4e0f99252b99c0aca14f 12-Mar-2010 Andreas Huber <andih@google.com> Merge "HTTPStream and HTTPDataSource now support cancellation of the connection process, AwesomePlayer takes advantage of this in cases where ::reset() or ::suspend() is called while in the preparation phase to bail out early. Also fixes in issue where the audio codec was not properly stopped if no audio player object ever took ownership."
edbb4d8f398dfbce7b766d4bd207685dab582847 12-Mar-2010 Andreas Huber <andih@google.com> HTTPStream and HTTPDataSource now support cancellation of the connection process, AwesomePlayer takes advantage of this in cases where ::reset() or ::suspend() is called while in the preparation phase to bail out early. Also fixes in issue where the audio codec was not properly stopped if no audio player object ever took ownership.

Change-Id: I6d73defe6d276693853a469db267bb2668d07af5
related-to-bugs: 2475845,2414536
edia/stagefright/HTTPDataSource.h
2f7540e78f2a0952ddbbd9b953e186b90f401734 12-Mar-2010 Mathias Agopian <mathias@google.com> implement connect/disconnect in our native_window_t implementations

the framebuffer implementation doesn't do anything special with this
but the surfaceflinger implementation makes sure the surface is not used
by two APIs simultaneously.

Change-Id: Id4ca8ef7093d68846abc2ac814327cc40a64b66b
urfaceflinger/Surface.h
f6331a497455fdb6618bf4c634c9326695304c24 12-Mar-2010 Mathias Agopian <mathias@google.com> Add a new connect/disconnect API to android_native_window_t

it's used to keep track of which API owns the surface.

Change-Id: I1021c5905c020efc3c428e561b38189377168b22
i/egl/android_natives.h
fb1eb6fbc90f130365a978fa883209b25928870a 11-Mar-2010 Andreas Huber <andih@google.com> Reduce buffer sizes related to HTTP media data transfer in order to reduce the probability of a connection timeout/reset due to long periods of time between socket activity.

Change-Id: I799ce1d58d56a31088a89603d8a18d24780f5b57
related-to-bug: 2492187
edia/stagefright/HTTPDataSource.h
b94b52b94e63a77a20a7ea907bea49485091bbf7 10-Mar-2010 Andreas Huber <andih@google.com> Merge "Instead of instantiating StagefrightMetadataRetriever directly, instantiate a MediaMetadataRetriever which will do-the-right-thing(tm) even for .wma/.wmv/.asf files."
1ce986767ae5998ece6810c2933d0b274c529744 10-Mar-2010 Andreas Huber <andih@google.com> Instead of instantiating StagefrightMetadataRetriever directly, instantiate a MediaMetadataRetriever which will do-the-right-thing(tm) even for .wma/.wmv/.asf files.

Change-Id: Ibda4b5268514934f14a3d49a564902bc670f4384
related-to-bug: 2074137
edia/stagefright/StagefrightMediaScanner.h
cf244ada58539ce857ec041d7288d0271204fbb6 10-Mar-2010 Dianne Hackborn <hackbod@google.com> Add ability for some manifest attributes to reference resources.

This loosens our restriction on many manifest attributes requiring
literal string values, to allow various ones to use values from
resources. This is only allowed if the resource value does not change
from configuration changes, and the restriction is still in place
for attributes that are core to security (requesting permissions) or
market operation (used libraries and features etc).

Change-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8
tils/ResourceTypes.h
27dd40bc27815a2929a7791d17bd945f3c9a868c 09-Mar-2010 Wu-cheng Li <wuchengli@google.com> Merge "Add camera parameter string constant for "true"."
dc9927d4641066fc966c9c69856167b8410abf90 09-Mar-2010 Andreas Huber <andih@google.com> The audio track was accidentally not participating in the prefetch since it wasn't started at the time prepare() was called. Also, properly report the cached duration even near the end when the source has no more data to fetch.

Change-Id: I66a92fec24c9bfb25f1c186f1c877127bae2b4f9
related-to-bug: 2444425
edia/stagefright/AudioPlayer.h
d9ef5d7f13be0e5e0f9cf0ea768742fd91636c8d 09-Mar-2010 Wu-cheng Li <wuchengli@google.com> Add camera parameter string constant for "true".

bug:2458926
Change-Id: I11eaae8ff031765e23f2627ded5873eabc09cead
amera/CameraParameters.h
7299c41630935a2b106e73e5603579a7747f7535 05-Mar-2010 Dianne Hackborn <hackbod@google.com> Refactor car mode.

Extract all UI behavior from dock observer and ACTION_DOCK_EVENT.

Also introduce a desk type to go along with the car type all through
the resource system, since we now need to have corresponding high-level
broadcasts for desk dock mode. As part of that I also reworked some
of the logic for switching modes to all funnel through a single
update() call that looks all of the current state to decide what to
do next, and fixed various locking issues.

In addition I found there were bugs in the configuration change
handling causing us to only switch into the car mode config and
then never get out of it. Unfortunately now that we are actually
changing the configuration for each mode change, the transitions
between them are really crummy as we restart all kinds of
activities. :(
tils/ResourceTypes.h
055c986ab841f8f758398841730f1e90313b132a 23-Feb-2010 Ray Chen <raychen@google.com> Add location provider name to gps-processing-method in EXIF header.
amera/CameraParameters.h
47d0a9264fa5297db6333697ad750e6bc06822aa 26-Feb-2010 Eric Laurent <elaurent@google.com> Issue 2071329: audio track is shorter than video track for video capture on sholes

Add API to retrieve number of frames dropped by audio input kernel driver.

Submitted on behalf of Masaki Sato <masaki.sato@motorola.com>
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioFlinger.h
ef05e076ced1a32c5c0aaee28403779834adb2ba 02-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2448075: aapt doesn't fix up activity-alias android:targetActivity links

And related:

- The aapt tool now sets a resource configurations sdk level to match any configs
that have been set (for example if you specify density your sdk level will be
at least 4).
- New option to modify the targetPackage attribute of instrumentation.
- Clean up of aapt options help.
- Fix of UI type values to leave 0 for "unspecified".
- Make the UI mode config APIs public.
tils/ResourceTypes.h
5d26c1e38dabb3ad8b4b6e1000375f3b1a6b7693 02-Mar-2010 Mathias Agopian <mathias@google.com> Added a name to Surface created by SurfaceFlinger

Updated the window manager to use this new facility.
Surfaces name are now printed by "dumpsys".
urfaceflinger/ISurfaceFlingerClient.h
urfaceflinger/SurfaceComposerClient.h
8cbb8f5e1f939b03515cb4d5942c3fcb226efb9e 01-Mar-2010 Wu-cheng Li <wuchengli@google.com> Unhide zoom API.

bug:2458926
amera/CameraParameters.h
24b326a8978bf78e3e560723dde221792784325b 20-Feb-2010 Wu-cheng Li <wuchengli@google.com> Unhide exposure compensation API.

bug:2375993
amera/CameraParameters.h
b93003649d0d58e6824b54d6e9e1386912c34448 26-Feb-2010 James Dong <jdong@google.com> Merge "Image encoding settings java API through xml configuration file"
9b433f0b654d32530b0b48a7a653216ae0bb94d8 24-Feb-2010 James Dong <jdong@google.com> Image encoding settings java API through xml configuration file

- I decided to completely remove jpeg decoding related stuff from this change
I think that setting is better off if it is specified by the system properties.
We don't have to include MediaProfiles.h header in skia files
edia/MediaProfiles.h
9ff1f96fdf1c88c55c45e0876b10a3a9686dc28a 24-Feb-2010 Kenny Root <kroot@google.com> Merge "Use UTF-8 strings to avoid duplicate caching, part 1"
d7d22eba3c1bb7212ccc566fedb16dbee44f51a2 23-Feb-2010 Andreas Huber <andih@google.com> Propagate errors all the way through the MediaSources and send either MEDIA_PLAYBACK_COMPLETE or MEDIA_ERROR depending on the final reason for running out of buffers to play back.

related-to-bug: 2463749
edia/stagefright/AudioPlayer.h
edia/stagefright/OMXCodec.h
780d2a1b714724d85227141c76b3c64f543f00b4 23-Feb-2010 Kenny Root <kroot@google.com> Use UTF-8 strings to avoid duplicate caching, part 1

StringBlock instances containing UTF-8 strings use a cache to convert
into UTF-16, but using that cache and then using a JNI call to NewString
causes the UTF-8 string as well as two copies of the UTF-16 string to
be held in memory. Getting the UTF-8 string directly from the StringPool
eliminates one copy of the UTF-16 string being held in memory.

This is part 1. Part 2 will include ResXMLParser optimizations.

Change-Id: Ibd4509a485db746d59cd4b9501f544877139276c
tils/ResourceTypes.h
ab9985ed4c02ef70d4a48bf3bbeedc12d14928f3 23-Feb-2010 Andreas Huber <andih@google.com> Merge "This hardware video decoder lies about its required input buffer sizes allocating 2.7 MB of memory instead of the required 176 KB... Added another quirk."
b8de9578dcb672d92b407d7a24c77af13f85c353 22-Feb-2010 Andreas Huber <andih@google.com> This hardware video decoder lies about its required input buffer sizes allocating 2.7 MB of memory instead of the required 176 KB... Added another quirk.

related-to-bug: 2281327
edia/stagefright/OMXCodec.h
c86727f5805f28fbd25da141c50fb6843f364f3a 12-Feb-2010 Mathias Agopian <mathias@google.com> remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).

Add a Flattenable interface to libutils which can be used to flatten
an object into bytestream + filedescriptor stream.
Parcel is modified to handle Flattenable. And GraphicBuffer implements
Flattenable.

Except for the overlay classes libui is now independent of libbinder.
inder/Parcel.h
i/GraphicBuffer.h
tils/Flattenable.h
e59a54c0edc65f6092a62a137226ddf540361022 18-Feb-2010 Mathias Agopian <mathias@google.com> Remove a dependency of Region (libui) on Parcel (libbinder).
i/Region.h
102f49f361b9d8d780b0f683f417f8c02a4e25f3 17-Feb-2010 Mathias Agopian <mathias@google.com> fix a bug I introduced recently where YUV formats would crash the system
i/PixelFormat.h
8f2423e8f394ae0666f1b61f83df4c0c7a4782d9 17-Feb-2010 Mathias Agopian <mathias@google.com> get rid off the YUV formats at the libui layer
i/PixelFormat.h
a9886c580b299984e62303a995bf7b13276b5bc8 12-Feb-2010 Kenny Root <kroot@google.com> Totally remove Unicode.cpp and rely on ICU

Unicode.cpp used a packed data table for character data that essentially
duplicated ICU's functionality.

Change-Id: Ia68fe4ac94e89dc68d9a3f45f33f6e648a5500b7
tils/AndroidUnicode.h
a16e4ee840db3dc6ecdfe60d11a8036ed4b40e7a 12-Feb-2010 Kenny Root <kroot@google.com> Merge "Excise code from Unicode.cpp that was dead"
564bfc27f253694183f5972cdda6357c66bd7bbd 12-Feb-2010 Kenny Root <kroot@google.com> Excise code from Unicode.cpp that was dead

Remove some utility functions for discovering character data
that ICU probably took over a while ago.

Change-Id: I97abe4de2f51eb2bf48679941258bc501184c3dc
tils/AndroidUnicode.h
fbb3885024ac9c90f322b6259d7e519c8927e6ff 12-Feb-2010 Andreas Huber <andih@google.com> New API on java's MediaPlayer to suspend/resume a session.

related-to-bug: 2231576
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
8b799a323cfc2dfb1c7da18467e21cc4e19504f6 11-Feb-2010 Marco Nelissen <marcone@google.com> Merge "Add support for "album artist" tag."
c5d5ee34d7c1026ca8d5cd8b186e5a73c5230247 11-Feb-2010 Marco Nelissen <marcone@google.com> Add support for "album artist" tag.
edia/mediametadataretriever.h
edia/stagefright/MetaData.h
000479f9e325b4e426a67033abd92d47da412725 10-Feb-2010 Mathias Agopian <mathias@google.com> split libsurfaceflinger_client and libcamera_client out of libui
amera/Camera.h
amera/CameraHardwareInterface.h
amera/CameraParameters.h
amera/ICamera.h
amera/ICameraClient.h
amera/ICameraService.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
edia/stagefright/HardwareAPI.h
rivate/surfaceflinger/LayerState.h
rivate/surfaceflinger/SharedBufferStack.h
rivate/ui/LayerState.h
rivate/ui/SharedBufferStack.h
urfaceflinger/ISurface.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceFlingerClient.h
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
i/Camera.h
i/CameraHardwareInterface.h
i/CameraParameters.h
i/ICamera.h
i/ICameraClient.h
i/ICameraService.h
i/ISurface.h
i/ISurfaceComposer.h
i/ISurfaceFlingerClient.h
i/Surface.h
i/SurfaceComposerClient.h
27b28b3f62bd3b54fa13acd5d035940b9be464f3 09-Feb-2010 Tobias Haamel <haamel@google.com> Introduce special UI modes for night and car usage.

The device mode is now called ui mode. Furthermore is the order of
precedence for the resources now in such a way that the ui mode needs
to be specified after the orientation and before the density.

The ui mode can be set, like it is done for the locale, as follows:

IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.uiMode = Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;
am.updateConfiguration(config);

To allow users to disable the car mode and set the night mode the IUiModeManager
interface is used.

The automatic night mode switching will be added in a separate change.
tils/ResourceTypes.h
6ed937ebe99088b5671a645060340a558b02fefb 10-Feb-2010 Andreas Huber <andih@google.com> Implementation of stagefright-enabled MediaPlayerService::decode functionality

related-to-bug: 2359268
edia/MediaPlayerInterface.h
edia/stagefright/AudioPlayer.h
be14332227f1265fb5196ed3f38fb6a2a1e0a39d 10-Feb-2010 Wu-cheng Li <wuchengli@google.com> Merge "Add exposure compensation parameter."
ff723b6c43d5a8fd0ae0e0732f5d47012d74e01d 09-Feb-2010 Wu-cheng Li <wuchengli@google.com> Add exposure compensation parameter.

bug:2375993
i/CameraParameters.h
655306f8a80b3e9fc52daf458ef319a8ed8c564c 08-Feb-2010 Marco Nelissen <marcone@google.com> Add support for the TPOS/TPA (disc number) id3 tag.
edia/mediametadataretriever.h
edia/stagefright/MetaData.h
e7038ace44ed6e6cd27be35b003e6dd0412e936f 04-Feb-2010 James Dong <jdong@google.com> Camcorder profile Java API support
- Use Enum for Quality instead of int
- Use static values() method from Enum, rather than if-else

bug - 2417312
edia/MediaProfiles.h
70d10c0156f5d2d1c639d0ebe62de8ec950d4306 03-Feb-2010 Andreas Huber <andih@google.com> Fix a deadlock caused by the AudioPlayer notifying the observer that the stream had ended at the same time the observer was shutting down the AudioPlayer.

related-to-bug: 2414536
edia/stagefright/AudioPlayer.h
e304bdd5ee5ed0b0d37fe388021c9cd138feda7f 03-Feb-2010 Mathias Agopian <mathias@google.com> fix [2133133] Software OpenGL ES Lighting is buggy (GL Gears washed out bug)

A typo caused GL_AMBIENT_AND_DIFFUSE to only set the the ambient color.

Fix another typo which caused the viewer position to be wrong for
specular highlights.

Switch back to eye-space lighting, since there are still some issues
with some demos (San Angeles in particular).
rivate/opengles/gl_context.h
b0f324d4a95907f8e9332bcd2733e8287a1922eb 03-Feb-2010 Mathias Agopian <mathias@google.com> Merge "implement [2396050] Add ETC1 texture support to AGL"
d1f73a2fcae6481edf07763ca06c4f381ebe13c2 02-Feb-2010 Mathias Agopian <mathias@google.com> implement [2396050] Add ETC1 texture support to AGL
rivate/opengles/gl_context.h
b777bf3100ca752d5f2d0533f053dfda397bda84 02-Feb-2010 Andreas Huber <andih@google.com> Don't use a HEAD request to determine redirects, instead do a regular GET (since that's always supported), also limit the number of redirects to avoid infinite redirects. Finally, properly handle the end of stream.

related-to-bug: 2403674
edia/stagefright/HTTPDataSource.h
8cc1b2a32c434b237fa95dc9f81261887fdb1cf4 02-Feb-2010 Andreas Huber <andih@google.com> Properly advertise the content length of the HTTP stream if available.

related-to-bug: 2312941
edia/stagefright/CachingDataSource.h
edia/stagefright/HTTPDataSource.h
705300b8429b7ee468e79dd3aa98e904b29f4ceb 02-Feb-2010 James Dong <jdong@google.com> Merge "Initial check-in for xml-based encoder capabilities retrieval - Changed the Java API as suggested - Treat /etc/media_profiles.xml as the default xml configurtion file"
c371194e4e0651c328f1870a90bbfd4e217c747b 20-Jan-2010 James Dong <jdong@google.com> Initial check-in for xml-based encoder capabilities retrieval
- Changed the Java API as suggested
- Treat /etc/media_profiles.xml as the default xml configurtion file
edia/MediaProfiles.h
e331c7b2c4d9449c23e70067edeb0deadb95aa6e 01-Feb-2010 Andreas Huber <andih@google.com> The TI MP3 decoder lies about the number of channels it outputs, add a quirk for that.
edia/stagefright/OMXCodec.h
7eae31cab43a36b6feccf523f212968619abe599 31-Jan-2010 Wu-cheng Li <wuchengli@google.com> Add float support for set and get in CameraParameters.

bug:2375989
bug:2375987
i/CameraParameters.h
6c8d2760736a0753dad96b4bb8f98c7d075e6d54 27-Jan-2010 Wu-cheng Li <wuchengli@google.com> Add focal length and view angle API.

bug:2375989,2375987
i/CameraParameters.h
6faf7893b6307a3295993380d61af49f2cda965c 26-Jan-2010 Mathias Agopian <mathias@google.com> Simplify the MemoryDealer implementation

At some point the implementation became complicated because of
SurfaceFlinger's special needs, since we are now relying on gralloc
we can go back to much simpler MemoryDealer.

Removed HeapInterface and AllocatorInterface, since those don't need
to be paramterized anymore. Merged SimpleMemory and Allocation.
Made SimplisticAllocator non virtual.

Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)

Removed a lot of unneeded code.
inder/MemoryDealer.h
inder/MemoryHeapPmem.h
62eac008504fefd05fa53bc74f7e001bf0a51975 29-Jan-2010 Andreas Huber <andih@google.com> Properly forward errors returned by AudioTrack up to the player.

related-to-bug: 2300197
edia/stagefright/AudioPlayer.h
433c9acaf7715eec080426af03cf1bf288076fe8 28-Jan-2010 Andreas Huber <andih@google.com> Support the specification of additional HTTP headers in the creation of a DataSource.

related-to-bug: 2393577
edia/stagefright/DataSource.h
edia/stagefright/HTTPDataSource.h
edia/stagefright/MediaExtractor.h
256430093679e1d62b54fb0c852126e54d162f6f 28-Jan-2010 Andreas Huber <andih@google.com> API Extension: Support for optionally specifying a map of extra request headers when specifying the uri of media data to be played.

related-to-bug: 2393577

Original change by Andrei Popescu <andreip@google.com>
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/PVPlayer.h
edia/mediaplayer.h
46ce847a62412b4253efb1430bcb558875bdc275 28-Jan-2010 Andreas Huber <andih@google.com> Fix http streaming for shoutcast servers that do not support http ranges.

related-to-bug: 2295438
edia/stagefright/HTTPDataSource.h
0ebff76e95aab7f6827ce1a8c25f1b4ad87a9029 27-Jan-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync"
8258879fe85b8f1e0304f023c2c6465f85bedd26 27-Jan-2010 Andreas Huber <andih@google.com> Merge "Better support for HTTP streaming media content, fixes to the way HTTPDataSource streams the data, prefetcher implementation."
0986e7907ffc8387b04fb201e285784bcd11b9b7 20-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync

Added getRenderPosition() API to IAudioFlinger to retreive number of audio frames
written by AudioFlinger to audio HAL and by DSP to DAC.

Added getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames
written by DSP to DAC.

Exposed AudioTrack::getPosition() to AudioSink() to make it available to media player.

Removed excessive log in AudioHardwareGeneric.
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/MediaPlayerInterface.h
b9e63830c69231c53dc23a5e29f5b58a1d9d3668 27-Jan-2010 Andreas Huber <andih@google.com> Better support for HTTP streaming media content, fixes to the way HTTPDataSource streams the data, prefetcher implementation.

related-to-bug: 2295438
edia/stagefright/CachingDataSource.h
edia/stagefright/DataSource.h
edia/stagefright/HTTPDataSource.h
d1d7706fce19a9a0cf71ff9b65f3aba9b89eeb3b 23-Jan-2010 Chih-Chung Chang <chihchung@google.com> Add support for setting camera display orientation.
i/Camera.h
i/CameraParameters.h
996dddff64f90d8469e24107c44bfd618cf0c2dd 26-Jan-2010 Andreas Huber <andih@google.com> Support for audio recording into AMR NB/WB files as well as audio tracks in MPEG4 files.

related-to-bug: 2295449
edia/stagefright/AMRWriter.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaWriter.h
473bd7767593cdd16669a220cf6f1a7c885e4e85 26-Jan-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active."
07bf09da4a365282fc35f800b62a83e0fa5533e2 25-Jan-2010 Andreas Huber <andih@google.com> Initial checkin of AudioSource and AMRWriter, a pair of classes supporting pure-audio recording in stagefright.

related-to-bug: 2295449
edia/stagefright/AMRWriter.h
edia/stagefright/AudioSource.h
23f25cda0c73f8eb878844dea32fb0bd419edca2 25-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.

Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.

Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
edia/AudioSystem.h
edia/IAudioFlinger.h
52733b83a736b500f72f72733b06258601c966f8 25-Jan-2010 Andreas Huber <andih@google.com> The qcom OMX video decoders do not allocate output buffer memory at the time OMX_AllocateBuffer is called, wait until we received the first FILL_BUFFER_DONE notification until we rely on the buffer data ptr.
edia/IOMX.h
edia/stagefright/OMXCodec.h
acf77033bbd4682566bcd3c535f4f1e94d23f962 25-Jan-2010 Wu-cheng Li <wuchengli@google.com> Change key to KEY_SUPPORTED_JPEG_THUMBNAIL_SIZES for consistency.

bug:2375986
i/CameraParameters.h
ac127dc31bd071ed522f5cd48a910065756c8ded 23-Jan-2010 Chih-Chung Chang <chihchung@google.com> Add support for 180/270 degrees rotation.
i/ISurface.h
e1ceec234c618729cc7bd35fecb11744b52c1cc8 22-Jan-2010 Chih-Chung Chang <chihchung@google.com> Add an orientation parameter for overlay, so we can do camera preview in portrait mode.
i/ISurface.h
c712b9fe2859435ce142b90ddcb46c5bed33eea8 21-Jan-2010 Andreas Huber <andih@google.com> Fix no-copy-overhead OMXCodec implementation to actually work.
edia/IOMX.h
edia/stagefright/OMXCodec.h
61fa01d47dc6bab7719f74545ef4264063ab05db 20-Jan-2010 Andreas Huber <andih@google.com> Merge "Support for 'iTunes-style' metadata in .mp4 and .3gp files."
243bf50e1e582d280829bc0e16bfb6d43c70c32f 20-Jan-2010 Eric Laurent <elaurent@google.com> Merge "Create base class for audio policy manager."
c2c9dd32511b555c637b8cadb8091eaa6088f92b 20-Jan-2010 Andreas Huber <andih@google.com> Support for 'iTunes-style' metadata in .mp4 and .3gp files.

related-to-bug: 2368967
edia/stagefright/MetaData.h
cb6ffa28244e491b2ae8e3b1c68ba7c93a08e560 19-Jan-2010 Andreas Huber <andih@google.com> Merge "Avoid unnecessary buffer copying if at all possible, detect if running in the mediaserver process."
f1fe064d735698b09e4bc7b3a10e4dc3dba9a1d9 16-Jan-2010 Andreas Huber <andih@google.com> Avoid unnecessary buffer copying if at all possible, detect if running in the mediaserver process.
edia/IOMX.h
edia/stagefright/OMXCodec.h
34bbc22cbca0004475788f06be2300fef23c6a52 16-Jan-2010 James Dong <jdong@google.com> Media server death nodification
edia/IMediaDeathNotifier.h
edia/mediaplayer.h
edia/mediarecorder.h
1cb02bf661807ffc6525dcc13e16d7ce027bef00 13-Jan-2010 Andreas Huber <andih@google.com> Support for determining the mime type of media via metadata extraction.
edia/mediametadataretriever.h
3a3656ce8a34bf4a17e806c1db1073848de2728f 13-Jan-2010 Andreas Huber <andih@google.com> More metadata support.
edia/stagefright/MetaData.h
cef3cd79489fa7897ffbacbc4e435651fb04f10d 10-Dec-2009 Eric Laurent <elaurent@google.com> Create base class for audio policy manager.

First implementations of audio policy manager in Eclair branch have shown that most code is common to all platforms.
Creating AudioPolicyManagerBase base class will improve code maintainability and readability.

Audio policy manager code for platforms using generic audio previously in AudioPolicyManagerGeneric is replaced by AudioPolicyManagerBase.
Audio policy manager test code previously in AudioPolicyManagerGeneric is moved to AudioPolicyManagerBase.

Also added a wake lock for delayed commands in AudioPolicyService.
edia/AudioSystem.h
aee3c6394a367abf283936cb8b8bd85ed028c050 12-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f81bb1dac5ef107bb0d7d5d756fb1ffa532ba2cc
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:55:56 2010 -0800

Support for duration metadata, midi and ogg-vorbis files (in mediascanner)

commit 0b1385a0dc156ce27985a1ff757c4c142fd7ec39
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:20:45 2010 -0800

Refactor meta data logic. Container specific metadata is now also returned by the MediaExtractor.

commit f9818dfac39c96e5fefe8c8295e60580692d5990
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 8 14:26:09 2010 -0800

A first pass at supporting metadata through ID3 tags.

commit 476e9e253633336ab790f943e2d6c0cd8991d76a
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 7 15:48:44 2010 -0800

Initial checkin of ID3 (V2.2 and V2.3) parser for use in stagefright.

related-to-bug: 2295456
edia/stagefright/DataSource.h
edia/stagefright/MediaExtractor.h
edia/stagefright/MetaData.h
e4a838051de5e56f44c71117073a035b804b5d04 08-Jan-2010 Andreas Huber <andih@google.com> Reorganize some of the stagefright implementation related to metadata.
edia/stagefright/StagefrightMediaScanner.h
cf4fc6263c1c24ffa91a65a75edb126143a2617e 23-Dec-2009 Eric Laurent <elaurent@google.com> am f31f365a: am eb5ffc23: Merge change Id8e98194 into eclair

Merge commit 'f31f365a7708c931e955670bc6213fdc8f91a87a'

* commit 'f31f365a7708c931e955670bc6213fdc8f91a87a':
Fix issues 2333450 and 2333559:
f31f365a7708c931e955670bc6213fdc8f91a87a 23-Dec-2009 Eric Laurent <elaurent@google.com> am eb5ffc23: Merge change Id8e98194 into eclair

Merge commit 'eb5ffc239b6482b9c1e046f6f5872187043d852c' into eclair-plus-aosp

* commit 'eb5ffc239b6482b9c1e046f6f5872187043d852c':
Fix issues 2333450 and 2333559:
eb14a783be073b5fd6e8c8c9bc87d2d1919f2c9e 17-Dec-2009 Eric Laurent <elaurent@google.com> Fix issues 2333450 and 2333559:

Add new config values to AudioSystem::FOR_DOCK force usage to differenciate car and desk docks.
Use a receiver for the sticky Intent.ACTION_DOCK_EVENT in AudioService to detect the type
of dock and select force usage accordingly.
edia/AudioSystem.h
b5c6be6db25d9e9405ea4cf20bbedd46a62dc0bb 17-Dec-2009 Andreas Huber <andih@google.com> am 082e5171: Merge change I895fb7d7 into eclair-mr2

Merge commit '082e51712ab9c9ce94eaee88797bbdbc80b2004d' into eclair-mr2-plus-aosp

* commit '082e51712ab9c9ce94eaee88797bbdbc80b2004d':
Squashed commit of the following:
2ea14e231945afb6581fa8f54015b33bc74a19e5 16-Dec-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 144b1c40e9cf08a584c50e1bef7ba3f287e81a4f
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 16 09:28:23 2009 -0800

This H264 file shows a certain problem even better.

commit 3245f1f3b7471975aeeb824a756c987abd610f55
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 16 09:20:08 2009 -0800

Using only the QA testfiles now.

commit 074817eb3816c5dd70858a3594e3b92d799d873b
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 15 16:17:39 2009 -0800

Yay, roles are back again now that the API is in place.

commit 6d847e4932cc38301ae27cb7283b7f1553a95457
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 15 13:01:20 2009 -0800

Added commandline option for specifying the random seed for reproducable tests.

commit 62ab37b26336eaa67e49791c41c996acb6acee3f
Author: Andreas Huber <andih@google.com>
Date: Mon Dec 14 10:53:27 2009 -0800

When issuing a seek it is important that only the first MediaSource::read call has the seek option.

commit e77c46644b2fb6862bafa3569f7d304252074f1e
Author: Andreas Huber <andih@google.com>
Date: Mon Dec 7 16:39:07 2009 -0800

Make sure the tests are actually built, sp<OMXCodec> becomes sp<MediaSource>

commit 6df56915bd55a9445b3c6f953d3cc251d81579b8
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 3 14:25:36 2009 -0800

Temporarily disable support for querying the roles of OMX components.

commit 31bb26930df9e3658dea684cedb4b0f1a06a4a88
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 1 13:36:52 2009 -0800

Disregard EOS events, slightly change the way the EOS flag on output buffers is handled.

commit 4c382fbc9aebee8197d5988d04378062809e7c48
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 1 09:37:24 2009 -0800

New random seek test for the codec tests. Fixed "sticky" end-of-output-buffers flag behaviour in OMXCodec.

commit c762eac3e44309592b61a168d66e091cf609fa03
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 3 14:13:43 2009 -0800

Fix a typo.

commit 50540a59b65c7d476b0193c7494cd75895e6ca6d
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 3 09:48:35 2009 -0800

Some more fine tuning of the unit tests, make MPEG4Extractor less verbose.

commit 1157a7e52a0636706caa235abe16d2ff8a0b8140
Author: Andreas Huber <andih@google.com>
Date: Wed Oct 28 12:01:01 2009 -0700

Changes to the IOMX::listNodes API, this now returns the component's roles as well, unit tests now test all components in all supported roles by default.

commit 30fbf2d8c6cb927689f7ba75eb550a81e9df488a
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 26 09:45:26 2009 -0700

Initial check-in of unit tests for OMX components.
edia/IOMX.h
d93447910055565726836a1cdcfc3bad7c95f98c 16-Dec-2009 Andreas Huber <andih@google.com> am d980e656: Merge change Ic7e91eee into eclair-mr2

Merge commit 'd980e656baa842592944c6fed371c9b37b2feea9' into eclair-mr2-plus-aosp

* commit 'd980e656baa842592944c6fed371c9b37b2feea9':
Add a new API to support determining the roles of an OMX component specified by name. Remove unneeded OMXSoftwareCodecsPlugin.
c7e91eee2e79e3e4c8f84fd6b8a753215955d4e8 16-Dec-2009 Andreas Huber <andih@google.com> Add a new API to support determining the roles of an OMX component specified by name. Remove unneeded OMXSoftwareCodecsPlugin.
edia/stagefright/OMXPluginBase.h
28fdcf93bd4150299d1b7eda0c9bdcf4ae75069a 12-Dec-2009 Andreas Huber <andih@google.com> am 08945576: Merge change I9ac0777e into eclair-mr2

Merge commit '089455760c05289c1315268a6cb896577ceebc64' into eclair-mr2-plus-aosp

* commit '089455760c05289c1315268a6cb896577ceebc64':
Initial checkin of software AMR NB encoder based on PV source code.
d49b526dd2009270cb15f7fe4e70b74673950608 12-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AMR NB encoder based on PV source code.
edia/stagefright/MetaData.h
1e1d44924a334637f9fb47ca8796625bd86cb66a 11-Dec-2009 Kenny Root <kroot@google.com> am 218aa945: Merge change I6478884a into eclair-mr2

Merge commit '218aa94581293876a4283f8d5908843c8f818e3a' into eclair-mr2-plus-aosp

* commit '218aa94581293876a4283f8d5908843c8f818e3a':
Add string resource type inspection
218aa94581293876a4283f8d5908843c8f818e3a 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6478884a into eclair-mr2

* changes:
Add string resource type inspection
899858a39647803c0cb506d2320fdaf2e4d3b8b9 11-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 6608bd0d: am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b' into eclair-mr2-plus-aosp

* commit '6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b':
Partially fix bug 2111240 Detect docking / undocking event by reporting
6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b 11-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '86ed86d2260932bdf2217b1d8431ac9e04d47534' into eclair-mr2

* commit '86ed86d2260932bdf2217b1d8431ac9e04d47534':
Partially fix bug 2111240 Detect docking / undocking event by reporting
bb79f64b89bd7be7019035a0347c681e6f39fe6b 10-Dec-2009 Kenny Root <kroot@google.com> Add string resource type inspection

Allows "aapt dump --values resource" to print out whether a string in a
ResStringPool is in UTF-8 or UTF-16 encoding.

Change-Id: I6478884a70a3b46fee862dece6cb33454fc34843
tils/ResourceTypes.h
5cd6fcd518d47d1974a10fccf3c3d5431a83307a 10-Dec-2009 Kenny Root <kroot@google.com> am e6c0e993: Merge change I129483f8 into eclair-mr2

Merge commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b' into eclair-mr2-plus-aosp

* commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b':
Optional use of UTF-8 strings in resource bundles
68a3b8b66044d0a9fa901ad306fc6db6d13f94d3 10-Dec-2009 Dianne Hackborn <hackbod@google.com> am 24eca800: Merge change I887f355f into eclair-mr2

Merge commit '24eca800d4b34e7d13fbcbc1ab74c9d91ff6a4e1' into eclair-mr2-plus-aosp

* commit '24eca800d4b34e7d13fbcbc1ab74c9d91ff6a4e1':
Propagate background scheduling class across processes.
ed3e7ab3bf15bc1eefaade7e1f641d02d04c80c2 09-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '86ed86d2260932bdf2217b1d8431ac9e04d47534' into eclair-plus-aosp

* commit '86ed86d2260932bdf2217b1d8431ac9e04d47534':
Partially fix bug 2111240 Detect docking / undocking event by reporting
e6c0e99334bc2f47e5d36db253ac8f166047c03b 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I129483f8 into eclair-mr2

* changes:
Optional use of UTF-8 strings in resource bundles
6154412ee8e07e9cde129cccb944dd7ed9dcef53 08-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> Partially fix bug 2111240 Detect docking / undocking event by reporting
to the AudioPolicyManager a new forced usage AudioSystem::FOR_DOCK
which can take the FORCE_NONE, FORCE_BT_DOCK or FORCE_WIRED_ACCESSORY
values. This CL is complemented by an update of the APM to take into
account the FOR_DOCK usage.
edia/AudioSystem.h
887f355f99ff83d568ef2885a4fdcaae475583df 08-Dec-2009 Dianne Hackborn <hackbod@google.com> Propagate background scheduling class across processes.

This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group. Plus an API to turn this off for the process, which is
used by the system process.

This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
inder/IBinder.h
inder/IPCThreadState.h
tils/threads.h
19138468caf7050d482dc15f35a344eab11bb756 04-Dec-2009 Kenny Root <kroot@google.com> Optional use of UTF-8 strings in resource bundles

Allows the use of UTF-8 for packing resources instead of the
default of UTF-16 for Java. When strings are extracted from the
ResStringPool, they are converted to UTF-16 and the result is
cached for subsequent calls.

When using aapt to package, add in the "-8" switch to pack the
resources using UTF-8. This will result in the value, key, and
type strings as well as the compiled XML string values taking
significantly less space in the final application package in
most scenarios.

Change-Id: I129483f8b3d3b1c5869dced05cb525e494a6c83a
tils/ResourceTypes.h
tils/String16.h
tils/String8.h
f553a58425c66a990dbc5f4579c976a0636fc573 07-Dec-2009 Andreas Huber <andih@google.com> am 5921fb51: Merge change I91eb0354 into eclair-mr2

Merge commit '5921fb51e0219ddd7cad439a73495f320c57d50e' into eclair-mr2-plus-aosp

* commit '5921fb51e0219ddd7cad439a73495f320c57d50e':
Change OMXCodec::Create to return an sp<MediaSource> instead of an sp<OMXCodec>, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.
91eb0354043842d96bf3ef201ce68046db70df74 07-Dec-2009 Andreas Huber <andih@google.com> Change OMXCodec::Create to return an sp<MediaSource> instead of an sp<OMXCodec>, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.
edia/stagefright/OMXCodec.h
5d676ad5d94c3d4f831c2084012f955fe56a8af8 04-Dec-2009 Andreas Huber <andih@google.com> am 52f410e2: Merge change Ifef6435a into eclair-mr2

Merge commit '52f410e2ebba103220cffce05b895f0c38a56665' into eclair-mr2-plus-aosp

* commit '52f410e2ebba103220cffce05b895f0c38a56665':
Enable proper cleanup of OMX nodes managed through stagefright.
fef6435a0692f3c9b6055903dfb7699e90e19d46 04-Dec-2009 Andreas Huber <andih@google.com> Enable proper cleanup of OMX nodes managed through stagefright.
edia/stagefright/OMXPluginBase.h
9ee55cc1bc6878b243134a558d583786d9215958 04-Dec-2009 Andreas Huber <andih@google.com> am 2d6d609c: Merge change I74bf38a0 into eclair-mr2

Merge commit '2d6d609c9ede7ed8924001df00af9c13effab8ad' into eclair-mr2-plus-aosp

* commit '2d6d609c9ede7ed8924001df00af9c13effab8ad':
Squashed commit of the following:
874c508c5352936c0640317ef44b81c9b632dfd6 04-Dec-2009 Andreas Huber <andih@google.com> am bfb9fb14: Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.

Merge commit 'bfb9fb143b67c2d0307af2bce9af3c08f362b29a' into eclair-mr2-plus-aosp

* commit 'bfb9fb143b67c2d0307af2bce9af3c08f362b29a':
Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.
2d6d609c9ede7ed8924001df00af9c13effab8ad 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I74bf38a0 into eclair-mr2

* changes:
Squashed commit of the following:
bfb9fb143b67c2d0307af2bce9af3c08f362b29a 03-Dec-2009 Andreas Huber <andih@google.com> Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.
edia/mediascanner.h
b0caf946b7ae9be519c0cede935ea2ecb44f9bd0 03-Dec-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 543e192bf2ae13f573dc4c4e53b239ed4ea00e81
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 3 11:33:57 2009 -0800

stagefright now acts as the OMX Master, vendors supply their own plugins through libstagefrighthw. In OpenCore-enabled builds we now sit on top of PVMaster...

commit 3cbfdbd9cecadbb77b63125c62883bf1065884fe
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 2 12:39:07 2009 -0800

More OMX infrastructure, stagefright is now taking over the OMX Master, multiplexing all contributing OMX implementations under a common interface.
edia/stagefright/HardwareAPI.h
edia/stagefright/OMXPluginBase.h
ae34cf92db9c54ba72fdcac33a8ba855a2215e4e 02-Dec-2009 Andreas Huber <andih@google.com> am 781ac162: Merge change I8768f2cc into eclair-mr2

Merge commit '781ac16283574ec07cd7b13d67b54b7b4c2c15cb' into eclair-mr2-plus-aosp

* commit '781ac16283574ec07cd7b13d67b54b7b4c2c15cb':
A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).
8768f2ccefdd7862a248995055aa04fd2d5a4dfe 02-Dec-2009 Andreas Huber <andih@google.com> A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).
edia/stagefright/OMXCodec.h
5493df919b01952857eb3b78fad3fe2cff573935 23-Nov-2009 Andreas Huber <andih@google.com> am bbd6cb46: Merge change Ib1b7bce4 into eclair-mr2

Merge commit 'bbd6cb463b405fc90912dee470fe6c7b8c6b1f54' into eclair-mr2-plus-aosp

* commit 'bbd6cb463b405fc90912dee470fe6c7b8c6b1f54':
Squashed commit of the following:
27366fc9540cb642ee4856957dabffe7ddf1f901 20-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 1efc38dc3c33fef57b759002db3965ed07a28cb0
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 19 14:36:14 2009 -0800

Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed.

Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed.

commit 51973062eb5ee63fd64b845d72bac517cc3369cf
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 14:01:43 2009 -0800

Fix one more unit test, properly send seek-complete notification only after seek actually completed.

commit cb22250b34b1fcfe1bf459723a761fd003950229
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:31:36 2009 -0800

Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails.

commit 25eb9241138ddf7bb27ce90657116c5f8a94d880
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:30:40 2009 -0800

Support seeking and duration in AMRExtractor, assuming all frames are the same size.

commit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 10:21:44 2009 -0800

MediaPlayerImpl is dead, long live AwesomePlayer.

commit c5b52d3c0674f5dc94db506afbce52401cceddac
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 09:42:23 2009 -0800

New implementation of the stagefright mediaplayer.
edia/MediaPlayerInterface.h
edia/stagefright/AudioPlayer.h
edia/stagefright/MediaPlayerImpl.h
edia/stagefright/MmapSource.h
8652646105a6ace559280b579ee8935541ada6c1 21-Nov-2009 Eric Laurent <elaurent@google.com> am 949c572a: am e7800946: Merge change I49f02be9 into eclair

Merge commit '949c572a16881aa40079a42bf7682637b23eb16a' into eclair-mr2-plus-aosp

* commit '949c572a16881aa40079a42bf7682637b23eb16a':
Issue 2265163: Audio still reported routed through earpiece on sholes
7d4cc41ad22e07c15667d853905f1b7b4a4c1a7a 21-Nov-2009 Eric Laurent <elaurent@google.com> am e7800946: Merge change I49f02be9 into eclair

Merge commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff' into eclair-plus-aosp

* commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff':
Issue 2265163: Audio still reported routed through earpiece on sholes
949c572a16881aa40079a42bf7682637b23eb16a 21-Nov-2009 Eric Laurent <elaurent@google.com> am e7800946: Merge change I49f02be9 into eclair

Merge commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff' into eclair-mr2

* commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff':
Issue 2265163: Audio still reported routed through earpiece on sholes
e7800946a42c0ebe8e0b3f6eba04a96a9641aaff 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I49f02be9 into eclair

* changes:
Issue 2265163: Audio still reported routed through earpiece on sholes
49f02be9d7fafb8841f75394a90f1409c6f82c1f 19-Nov-2009 Eric Laurent <elaurent@google.com> Issue 2265163: Audio still reported routed through earpiece on sholes

This is a second attempt to fix the audio routed to earpiece syndrom.
The root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type.
When this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop.
Results a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece.

The fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet.
The net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal.

The same modification is made for AudioRecord although no bug related to record has been reported yet.
Also fixed a potential problem if record stop is called while the record thread is exiting.
edia/AudioRecord.h
8b49e97db9c46c63192989172ea03cd8751f2551 20-Nov-2009 Andreas Huber <andih@google.com> am f854e077: Merge change I8134d6ed into eclair

Merge commit 'f854e0770207e93ef9d1bf6d50ed18537a107ca4' into eclair-plus-aosp

* commit 'f854e0770207e93ef9d1bf6d50ed18537a107ca4':
DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.
d66a901e6a932e62358ee963831e663a8c655b8e 19-Nov-2009 Andreas Huber <andih@google.com> DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.
edia/stagefright/MediaPlayerImpl.h
39dc51040f9b766adaa9ee487bb0568a2ed1c916 17-Nov-2009 Andreas Huber <andih@google.com> am 2c766498: Merge change Iea6a38c6 into eclair-mr2

Merge commit '2c7664989f7388c0c6cf0ec7d80ffa2704c8c2be' into eclair-mr2-plus-aosp

* commit '2c7664989f7388c0c6cf0ec7d80ffa2704c8c2be':
Squashed commit of the following:
2c7664989f7388c0c6cf0ec7d80ffa2704c8c2be 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iea6a38c6 into eclair-mr2

* changes:
Squashed commit of the following:
775508d97f709e621f9d1540aca819224fbdcebf 17-Nov-2009 Andreas Huber <andih@google.com> am 744043fc: Update FileSource to also accept a file descriptor and a range.

Merge commit '744043fcbf48c32c2051f222eca552fa2df5dfcb' into eclair-mr2-plus-aosp

* commit '744043fcbf48c32c2051f222eca552fa2df5dfcb':
Update FileSource to also accept a file descriptor and a range.
744043fcbf48c32c2051f222eca552fa2df5dfcb 17-Nov-2009 Andreas Huber <andih@google.com> Update FileSource to also accept a file descriptor and a range.
edia/stagefright/FileSource.h
ea6a38c63b9e9aeb45aa22587c069bd3c5d83df8 17-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 333057b355f8c260c549553b9a0634755c838b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 13 15:35:48 2009 -0800

Some more tweaks to AVC encoding on sholes.

commit 9981d0ee52ec5b8b0182aae733d1571e3ebb8390
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 12 16:36:57 2009 -0800

Support for avc encoding, including sholes specific tweaks to pick the right colorspace for the camera to not require transcoding.

commit 5ba0ebbbd4efca51f3ae1f60e2ca31e7d2cf136d
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 11 09:50:03 2009 -0800

Enable actual (camera) video-only recording using h.263 or mpeg4 encoding.

commit 3fd59c3526a37fe7c696f4a978925d1831c09313
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 10 14:57:48 2009 -0800

Allow switching between the PV recorder implementation and one supported by stagefright.

This is controlled through the property "media.stagefright.enable-record".
edia/MediaRecorderBase.h
edia/PVMediaRecorder.h
edia/stagefright/CameraSource.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
70a37eac62e887d16c4964b805a612d41254ca7f 14-Nov-2009 Mathias Agopian <mathias@google.com> am 35ede78e: am 91e40e78: Merge change I18e02606 into eclair

Merge commit '35ede78ede13fc2c4e7d343f50ca20372a404e06' into eclair-mr2-plus-aosp

* commit '35ede78ede13fc2c4e7d343f50ca20372a404e06':
fix some aspects of [2258746] native crash in launcher2
35ede78ede13fc2c4e7d343f50ca20372a404e06 14-Nov-2009 Mathias Agopian <mathias@google.com> am 91e40e78: Merge change I18e02606 into eclair

Merge commit '91e40e7838d183cb2a9e750edf0a6572f21da21d' into eclair-mr2

* commit '91e40e7838d183cb2a9e750edf0a6572f21da21d':
fix some aspects of [2258746] native crash in launcher2
dca4b15747903c53028f7ec2e845f1dc57d33ef9 14-Nov-2009 Mathias Agopian <mathias@google.com> am 91e40e78: Merge change I18e02606 into eclair

Merge commit '91e40e7838d183cb2a9e750edf0a6572f21da21d' into eclair-plus-aosp

* commit '91e40e7838d183cb2a9e750edf0a6572f21da21d':
fix some aspects of [2258746] native crash in launcher2
18e026066a95e5d63c2ece8007883b46599373ca 14-Nov-2009 Mathias Agopian <mathias@google.com> fix some aspects of [2258746] native crash in launcher2

Surface::validate() could sometimes dereference a null pointer before checking it wasn't null.
This will prevent the application to crash when given bad parameters or used incorrectly.
However, the bug above probably has another cause.
i/Surface.h
355743c70d9810fda3e59d718d055f9513fb05b7 13-Nov-2009 Eric Laurent <elaurent@google.com> am 609acfd2: am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '609acfd2a1067f49e51925776484b070a24d8301' into eclair-mr2-plus-aosp

* commit '609acfd2a1067f49e51925776484b070a24d8301':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
609acfd2a1067f49e51925776484b070a24d8301 13-Nov-2009 Eric Laurent <elaurent@google.com> am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54' into eclair-mr2

* commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
e8302a64c7fb2e12bd04ac70114682c3a1260d03 13-Nov-2009 Eric Laurent <elaurent@google.com> am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54' into eclair-plus-aosp

* commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I923d7d72 into eclair

* changes:
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
923d7d721d37f6ba5148e7d79d61a4fa48e79df2 12-Nov-2009 Eric Laurent <elaurent@google.com> Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.

The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected.

Modified HeadsetObserver to broacast a state conforming to java doc.
Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not.
Removed handling of non standard headset indications from HeadsetObserver.
Removed platform specific devices from output devices defined in AudioSystem.
Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
edia/AudioSystem.h
bfdb1e88ef796969efc906e7648b552078c82aee 12-Nov-2009 Andreas Huber <andih@google.com> am d0f3228d: resolved conflicts for merge of c66d53f9 to eclair-mr2

Merge commit 'd0f3228daa9ea26ec959cb79451e6f150648bce8' into eclair-mr2-plus-aosp

* commit 'd0f3228daa9ea26ec959cb79451e6f150648bce8':
Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
d0f3228daa9ea26ec959cb79451e6f150648bce8 12-Nov-2009 Andreas Huber <andih@google.com> resolved conflicts for merge of c66d53f9 to eclair-mr2
4719963c86f40a56d0b7682d9d43ebd36a6b2f56 12-Nov-2009 Andreas Huber <andih@google.com> am c66d53f9: Merge change I880541a8 into eclair

Merge commit 'c66d53f97b1fe635f576642d5720dcd441e34cce' into eclair-plus-aosp

* commit 'c66d53f97b1fe635f576642d5720dcd441e34cce':
Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
c8d7c1492eece9fb382424dfe63dcd1387c43314 12-Nov-2009 Andreas Huber <andih@google.com> Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
edia/stagefright/HardwareAPI.h
edia/stagefright/QComHardwareRenderer.h
edia/stagefright/TIHardwareRenderer.h
76bd517ed2f9ff9c655b2355a09a75c99dc18941 05-Nov-2009 Andreas Huber <andih@google.com> am 05eca1d4: Merge change Ie80e2381 into eclair

Merge commit '05eca1d46a45723a57899dabad698537b7faef82' into eclair-plus-aosp

* commit '05eca1d46a45723a57899dabad698537b7faef82':
DO NOT MERGE: Squashed commit of the following:
dcaa220ff5f360a29ac8be0eb12a8238ecaa080f 05-Nov-2009 Andreas Huber <andih@google.com> DO NOT MERGE: Squashed commit of the following:

commit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 12:02:31 2009 -0800

DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback.

commit 991832fe4dc012e51d3d9ed8d647c7f09991858f
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:24:11 2009 -0800

DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though.

commit cec45cf302d9218fe79956cbe8a462d7ca3a10bb
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 26 16:11:54 2009 -0700

DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to "Loaded" in order to properly free any allocated buffers.

commit 34a1e885ef9113d68acbc26d36fcc47fdebbed84
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:10:49 2009 -0800

DO NOT MERGE: Fix heap corruptin in OMXNodeInstance.

commit 5a47f7439a1298b330541a7e4e647a8b44487388
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:08:19 2009 -0800

DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec.

commit 45bed64722501b9f411a2940aff5aff4cc4d2e98
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:02:23 2009 -0800

DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts.

commit 6738e306a50196f31a73d4fc7b7c45faff639903
Author: Andreas Huber <andih@google.com>
Date: Thu Oct 15 13:46:54 2009 -0700

DO NOT MERGE: Reimplement the OMX backend for stagefright.

Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.

Changed APIs to conform to the rest of the system.
edia/IMediaPlayerService.h
edia/IOMX.h
edia/stagefright/HTTPStream.h
edia/stagefright/stagefright_string.h
edia/stagefright/string.h
653d5d415c3447a4250120548bf32d1ee63fe36f 05-Nov-2009 Eric Laurent <elaurent@google.com> am fcae6c71: am 67b69292: Merge change I93f500a5 into eclair

Merge commit 'fcae6c71794696a074cabf20beeb02fd87853e30' into eclair-mr2-plus-aosp

* commit 'fcae6c71794696a074cabf20beeb02fd87853e30':
Fix issue 2203561: Sholes: audio playing out of earpiece.
d889f189b5982d55e64ceb96713b46b2b99b3222 05-Nov-2009 Eric Laurent <elaurent@google.com> am 67b69292: Merge change I93f500a5 into eclair

Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-plus-aosp

* commit '67b692920c18f99b096dce285adc6f7439fa866c':
Fix issue 2203561: Sholes: audio playing out of earpiece.
fcae6c71794696a074cabf20beeb02fd87853e30 05-Nov-2009 Eric Laurent <elaurent@google.com> am 67b69292: Merge change I93f500a5 into eclair

Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-mr2

* commit '67b692920c18f99b096dce285adc6f7439fa866c':
Fix issue 2203561: Sholes: audio playing out of earpiece.
67b692920c18f99b096dce285adc6f7439fa866c 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I93f500a5 into eclair

* changes:
Fix issue 2203561: Sholes: audio playing out of earpiece.
bda7469d9b1ec6d9c9d6da40ddf64dc39ff271a9 04-Nov-2009 Eric Laurent <elaurent@google.com> Fix issue 2203561: Sholes: audio playing out of earpiece.

Create a new IAudioTrack interface to AudioFlinger when start() fails due to a broken pipe error.
Do the same if start fails due to the same error after time out in obtainBuffer().
Do not indicate that the AudioTrack is started to AudioPolicyManager if IAudioTrack start fails.
This avoids that an AudioTrack keeps a dead IAudioTrack after a media server crash.

Same modifications for AudioRecord.

Add a flag to ToneGenerator indicating that the callback thread can call Java. Without it, when the media server crashes and restarts, the AudioSystem error callback will crash in JNI if the IAudiotrack is created from AudioTrack callback thread.
edia/AudioRecord.h
edia/AudioTrack.h
edia/ToneGenerator.h
bd38397bc4f754c040d4abf5435c2469c3357924 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 3d2d155a: am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '3d2d155a87cdd3038a2e6df8741181431cb250e1' into eclair-mr2-plus-aosp

* commit '3d2d155a87cdd3038a2e6df8741181431cb250e1':
Add new audio sources to support the A1026 recording configurations.
39995fdf3104b5e7c0cf1306f1b90aea49f56cec 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488' into eclair-plus-aosp

* commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488':
Add new audio sources to support the A1026 recording configurations.
3d2d155a87cdd3038a2e6df8741181431cb250e1 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488' into eclair-mr2

* commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488':
Add new audio sources to support the A1026 recording configurations.
8495359382bc7c94a776e51c596e807448796476 04-Nov-2009 Andreas Huber <andih@google.com> am ad278f22: Merge change I6bce6d87 into eclair-mr2

Merge commit 'ad278f2276de23197571e486ad387dacc7f346ee' into eclair-mr2-plus-aosp

* commit 'ad278f2276de23197571e486ad387dacc7f346ee':
Adds a WAVExtractor for 16-bit signed PCM audio wave files.
6869df3a5db0ca0037394f0fd14aecc1d80b5b42 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> Add new audio sources to support the A1026 recording configurations.
edia/mediarecorder.h
6bce6d87b3fd98e68fb54328fb4dc8e40cd2c293 04-Nov-2009 Andreas Huber <andih@google.com> Adds a WAVExtractor for 16-bit signed PCM audio wave files.
edia/stagefright/MediaDefs.h
d1d744cdf4b08c8ef969790bae305c82ae783f4e 03-Nov-2009 Mathias Agopian <mathias@google.com> am 07d38c66: am 8637759a: Merge change I36d0184e into eclair

Merge commit '07d38c66692b7d87415667010c0658202b5a7f39' into eclair-mr2-plus-aosp

* commit '07d38c66692b7d87415667010c0658202b5a7f39':
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
07d38c66692b7d87415667010c0658202b5a7f39 03-Nov-2009 Mathias Agopian <mathias@google.com> am 8637759a: Merge change I36d0184e into eclair

Merge commit '8637759a1d34a4adda292579d5f8790587659235' into eclair-mr2

* commit '8637759a1d34a4adda292579d5f8790587659235':
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
b87e3eb933b4bd8556cd969a222881515b47a356 03-Nov-2009 Mathias Agopian <mathias@google.com> am 8637759a: Merge change I36d0184e into eclair

Merge commit '8637759a1d34a4adda292579d5f8790587659235' into eclair-plus-aosp

* commit '8637759a1d34a4adda292579d5f8790587659235':
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
8637759a1d34a4adda292579d5f8790587659235 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I36d0184e into eclair

* changes:
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
36d0184e089831b74de6005f01da9e7b26679bb9 03-Nov-2009 Mathias Agopian <mathias@google.com> fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video

we lost the concept of vertical stride when moving video playback to EGLImage.
Here we bring it back in a somewhat hacky-way that will work only for the
softgl/mdp backend.
rivate/opengles/gl_context.h
i/GraphicBuffer.h
8ba42ba83b206929c4c13c0b8ef24de87a92f42c 03-Nov-2009 Iliyan Malchev <malchev@google.com> am cd767bfd: am d4649b2f: Merge change Ibaef6141 into eclair

Merge commit 'cd767bfd1c8e3103f99207ecfa34385e76518e82' into eclair-mr2-plus-aosp

* commit 'cd767bfd1c8e3103f99207ecfa34385e76518e82':
libbinder: add a NO_CACHING flag to MemoryHeapBase
d7b4cbe5be903dbdd0f377fc03d2173abfa98bc8 03-Nov-2009 Iliyan Malchev <malchev@google.com> am d4649b2f: Merge change Ibaef6141 into eclair

Merge commit 'd4649b2f8ea8285a4eb3c47e87520c7835e6c672' into eclair-plus-aosp

* commit 'd4649b2f8ea8285a4eb3c47e87520c7835e6c672':
libbinder: add a NO_CACHING flag to MemoryHeapBase
cd767bfd1c8e3103f99207ecfa34385e76518e82 03-Nov-2009 Iliyan Malchev <malchev@google.com> am d4649b2f: Merge change Ibaef6141 into eclair

Merge commit 'd4649b2f8ea8285a4eb3c47e87520c7835e6c672' into eclair-mr2

* commit 'd4649b2f8ea8285a4eb3c47e87520c7835e6c672':
libbinder: add a NO_CACHING flag to MemoryHeapBase
d4649b2f8ea8285a4eb3c47e87520c7835e6c672 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibaef6141 into eclair

* changes:
libbinder: add a NO_CACHING flag to MemoryHeapBase
2926bf7d9aca0097a347ce6b77fc762f309a597b 02-Nov-2009 Eric Laurent <elaurent@google.com> am c69e7516: am ee98c240: Merge change I73680cd9 into eclair

Merge commit 'c69e7516482aae626eb550f5dd99f0f2f7a45909' into eclair-mr2-plus-aosp

* commit 'c69e7516482aae626eb550f5dd99f0f2f7a45909':
Fix 2194140: [Passion] Support Audience chip.
c69e7516482aae626eb550f5dd99f0f2f7a45909 02-Nov-2009 Eric Laurent <elaurent@google.com> am ee98c240: Merge change I73680cd9 into eclair

Merge commit 'ee98c24020c1634b02cde6d333968f04a0de941f' into eclair-mr2

* commit 'ee98c24020c1634b02cde6d333968f04a0de941f':
Fix 2194140: [Passion] Support Audience chip.
7cd4f2523f6e6c852529062ce598f2650f952dcf 02-Nov-2009 Eric Laurent <elaurent@google.com> am ee98c240: Merge change I73680cd9 into eclair

Merge commit 'ee98c24020c1634b02cde6d333968f04a0de941f' into eclair-plus-aosp

* commit 'ee98c24020c1634b02cde6d333968f04a0de941f':
Fix 2194140: [Passion] Support Audience chip.
ee98c24020c1634b02cde6d333968f04a0de941f 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I73680cd9 into eclair

* changes:
Fix 2194140: [Passion] Support Audience chip.
50bb2643a5cb28c4e013eceb15c23288c85e0350 02-Nov-2009 Dianne Hackborn <hackbod@google.com> am d62b063f: am b6a6791f: Merge change I60413727 into eclair

Merge commit 'd62b063fd4ac0ae1419348ac62c55527cb398fd9' into eclair-mr2-plus-aosp

* commit 'd62b063fd4ac0ae1419348ac62c55527cb398fd9':
Fix issue #2226370: Resource versions match with equality
efb752570e6c318eb1dbd8795408959cf4c5ab9f 02-Nov-2009 Dianne Hackborn <hackbod@google.com> am b6a6791f: Merge change I60413727 into eclair

Merge commit 'b6a6791f381691d4a58fe6972eb9f0b65308ac1f' into eclair-plus-aosp

* commit 'b6a6791f381691d4a58fe6972eb9f0b65308ac1f':
Fix issue #2226370: Resource versions match with equality
d62b063fd4ac0ae1419348ac62c55527cb398fd9 02-Nov-2009 Dianne Hackborn <hackbod@google.com> am b6a6791f: Merge change I60413727 into eclair

Merge commit 'b6a6791f381691d4a58fe6972eb9f0b65308ac1f' into eclair-mr2

* commit 'b6a6791f381691d4a58fe6972eb9f0b65308ac1f':
Fix issue #2226370: Resource versions match with equality
f22a0975c442f1f216f16db3ddb27015d72c6532 02-Nov-2009 Eric Laurent <elaurent@google.com> Fix 2194140: [Passion] Support Audience chip.

Added new input device DEVICE_IN_BACK_MIC.
Added new audio source AUDIO_SOURCE_CAMCORDER.
edia/AudioSystem.h
edia/mediarecorder.h
553399518f39cd9f31f2bb6f502866c3c9d6d1a5 02-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2226370: Resource versions match with equality

Also fixed turned-around increment of version number for resources. :(

Change-Id: I604137272da984bcd69cee4f174e6b7f2c786e46
tils/ResourceTypes.h
baef6141a3239c7dd9bad0e2cd8a9ece5eef5a7e 30-Oct-2009 Iliyan Malchev <malchev@google.com> libbinder: add a NO_CACHING flag to MemoryHeapBase

The NO_CACHING flag translates to opening a memory region with O_SYNC.

Signed-off-by: Iliyan Malchev <malchev@google.com>
inder/MemoryHeapBase.h
874762f760270694be4fe5d65e6ed65bc79bb846 30-Oct-2009 Wu-cheng Li <wuchengli@google.com> am 16d8f10e: am 4cb04c46: Use image rect information to display zoomed picture.

Merge commit '16d8f10ebf75e809cc14d866fded7749363b9d8f' into eclair-mr2-plus-aosp

* commit '16d8f10ebf75e809cc14d866fded7749363b9d8f':
Use image rect information to display zoomed picture.
16d8f10ebf75e809cc14d866fded7749363b9d8f 30-Oct-2009 Wu-cheng Li <wuchengli@google.com> am 4cb04c46: Use image rect information to display zoomed picture.

Merge commit '4cb04c4654e9718a73b378e7b9962dee454efa8d' into eclair-mr2

* commit '4cb04c4654e9718a73b378e7b9962dee454efa8d':
Use image rect information to display zoomed picture.
5647eebc3aeef6e644b8c7587a36206d8f0d6314 29-Oct-2009 Andreas Huber <andih@google.com> am 9dba1f92: Merge change Ib482ce88 into eclair-mr2

Merge commit '9dba1f928021450f101013e03deacc9a0506772e' into eclair-mr2-plus-aosp

* commit '9dba1f928021450f101013e03deacc9a0506772e':
Revive support for video encoding in OMXCodec.
9dba1f928021450f101013e03deacc9a0506772e 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib482ce88 into eclair-mr2

* changes:
Revive support for video encoding in OMXCodec.
b482ce8837a2d85a2a907d7ea89deaa6610a8333 29-Oct-2009 Andreas Huber <andih@google.com> Revive support for video encoding in OMXCodec.
edia/stagefright/OMXCodec.h
64d3f44c7bf5a6e80be419df5850ef60fec216b5 29-Oct-2009 Mathias Agopian <mathias@google.com> am 893cb4da: am 73e17015: Merge change I8d2de438 into eclair

Merge commit '893cb4da1034870a8814394a1c3bdac10ca6cadf' into eclair-mr2-plus-aosp

* commit '893cb4da1034870a8814394a1c3bdac10ca6cadf':
fix [2143798] Need to figure out how to do video
893cb4da1034870a8814394a1c3bdac10ca6cadf 29-Oct-2009 Mathias Agopian <mathias@google.com> am 73e17015: Merge change I8d2de438 into eclair

Merge commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694' into eclair-mr2

* commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694':
fix [2143798] Need to figure out how to do video
e9f91e2372980d4894fc4ac69d207f77282d52d6 29-Oct-2009 Wu-cheng Li <wuchengli@google.com> am 4cb04c46: Use image rect information to display zoomed picture.

Merge commit '4cb04c4654e9718a73b378e7b9962dee454efa8d' into eclair-plus-aosp

* commit '4cb04c4654e9718a73b378e7b9962dee454efa8d':
Use image rect information to display zoomed picture.
4cb04c4654e9718a73b378e7b9962dee454efa8d 23-Oct-2009 Wu-cheng Li <wuchengli@google.com> Use image rect information to display zoomed picture.
i/CameraHardwareInterface.h
e113d6af6204dac03b13b324852fe7f741ebb3d3 28-Oct-2009 Andreas Huber <andih@google.com> am 76a54294: Merge change I155e2ad0 into eclair-mr2

Merge commit '76a5429407e821c22508eca92e7475b6433cd668' into eclair-mr2-plus-aosp

* commit '76a5429407e821c22508eca92e7475b6433cd668':
Re-enable CameraSource.
76a5429407e821c22508eca92e7475b6433cd668 28-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I155e2ad0 into eclair-mr2

* changes:
Re-enable CameraSource.
155e2ad04c9e15562149772fbbaa39004d4778a7 14-Oct-2009 Andreas Huber <andih@google.com> Re-enable CameraSource.
edia/stagefright/CameraSource.h
59b2ee0dfd939ca92d95c73cb3d023b606aeaad1 28-Oct-2009 Mathias Agopian <mathias@google.com> am 73e17015: Merge change I8d2de438 into eclair

Merge commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694' into eclair-plus-aosp

* commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694':
fix [2143798] Need to figure out how to do video
9042b4564de5477b18e680c7dce13b587a681dd9 27-Oct-2009 Mathias Agopian <mathias@google.com> fix [2143798] Need to figure out how to do video

Use EGLImageKHR instead of copybit directly.
We now have the basis to use streaming YUV textures (well, in fact
we already are). When/if we use the GPU instead of the MDP we'll
need to make sure it supports the appropriate YUV format.

Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
i/GraphicBuffer.h
848f9c99af9c1f3fe0cc30717ea4c73e6fefb527 24-Oct-2009 Eric Laurent <elaurent@google.com> am 7ed70c95: am bf96aaad: Merge change Icf10db28 into eclair

Merge commit '7ed70c9515fe3df6eb1796717d73f23e7286b3e6' into eclair-mr2-plus-aosp

* commit '7ed70c9515fe3df6eb1796717d73f23e7286b3e6':
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
7ed70c9515fe3df6eb1796717d73f23e7286b3e6 24-Oct-2009 Eric Laurent <elaurent@google.com> am bf96aaad: Merge change Icf10db28 into eclair

Merge commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba' into eclair-mr2

* commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba':
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
0c4ba3e1a4a10d804b59eaf7d66646107f4821b3 24-Oct-2009 Eric Laurent <elaurent@google.com> am bf96aaad: Merge change Icf10db28 into eclair

Merge commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba' into eclair-plus-aosp

* commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba':
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
c91e3d8d897f7299269e177c2891fde31cfc6ae1 23-Oct-2009 Andreas Huber <andih@google.com> am d9f3d60d: Merge change I3b1b7873 into eclair-mr2

Merge commit 'd9f3d60df9317f15a7f26bc050f51b53b46898ff' into eclair-mr2-plus-aosp

* commit 'd9f3d60df9317f15a7f26bc050f51b53b46898ff':
New API to instantiate a MediaExtractor given a URI and optional MIME type.
9a12baf929ea803915d7ab626b200ffefb4fbac7 23-Oct-2009 Andreas Huber <andih@google.com> New API to instantiate a MediaExtractor given a URI and optional MIME type.

Also DataSources now must provide a method initCheck()
and DataSource::reat_at has been renamed to readAt to conform to
standard API naming guidelines.
edia/stagefright/CachingDataSource.h
edia/stagefright/DataSource.h
edia/stagefright/FileSource.h
edia/stagefright/HTTPDataSource.h
edia/stagefright/MediaExtractor.h
edia/stagefright/MmapSource.h
edia/stagefright/ShoutcastSource.h
d919aa74927fcabd18a9ea14a57f44240aecc7af 23-Oct-2009 Andreas Huber <andih@google.com> am 9069aa31: Merge change I57515f33 into eclair-mr2

Merge commit '9069aa31accee9c23a4cf228ca27fe8fa8506a56' into eclair-mr2-plus-aosp

* commit '9069aa31accee9c23a4cf228ca27fe8fa8506a56':
Moving the individual extractor headers files to the private include directory.
57515f334bcc1f66f95e342bfcaa13bf9ca802ad 23-Oct-2009 Andreas Huber <andih@google.com> Moving the individual extractor headers files to the private include directory.
edia/stagefright/AMRExtractor.h
edia/stagefright/MP3Extractor.h
edia/stagefright/MPEG4Extractor.h
871e4ee81d6fa310dbfc5f6f37f3d8a780a28ddc 23-Oct-2009 Andreas Huber <andih@google.com> am e8472900: Merge change Ie13526ad into eclair-mr2

Merge commit 'e84729002102622b40bd6efddffb76909615c12a' into eclair-mr2-plus-aosp

* commit 'e84729002102622b40bd6efddffb76909615c12a':
Prefer software decoders over hardware for thumbnail extraction.
e13526ad926bfee99778a4f21ea5e4f8a6c8984f 22-Oct-2009 Andreas Huber <andih@google.com> Prefer software decoders over hardware for thumbnail extraction.

While our hardware decoders clearly outperform the software decoders in terms
of raw throughput, their startup latency makes them less suitable for thumbnail
extraction.
edia/stagefright/OMXCodec.h
7453da3f420b74f5bb135d5895b82dca9c015bb3 22-Oct-2009 Andreas Huber <andih@google.com> am e981c334: Extract video thumbnails from the largest sync sample among the first 20.

Merge commit 'e981c33446a98d5ccc0d73c1a840696d77cf0732' into eclair-mr2-plus-aosp

* commit 'e981c33446a98d5ccc0d73c1a840696d77cf0732':
Extract video thumbnails from the largest sync sample among the first 20.
e981c33446a98d5ccc0d73c1a840696d77cf0732 22-Oct-2009 Andreas Huber <andih@google.com> Extract video thumbnails from the largest sync sample among the first 20.

Also fixes OMXCodec seek behaviour on the very first call to OMXCodec::read()
edia/stagefright/AMRExtractor.h
edia/stagefright/MP3Extractor.h
edia/stagefright/MPEG4Extractor.h
edia/stagefright/MediaExtractor.h
edia/stagefright/MetaData.h
917d0aece5c9395892c3a8e7191f04a1e2ca6330 22-Oct-2009 Andreas Huber <andih@google.com> am bfd5b386: Merge change If68c168d into eclair-mr2

Merge commit 'bfd5b38673212c47f0e386c0a8370d4ff47bd2fe' into eclair-mr2-plus-aosp

* commit 'bfd5b38673212c47f0e386c0a8370d4ff47bd2fe':
Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever.
f68c168d366e8aad58454917f96344398a02efd8 21-Oct-2009 Andreas Huber <andih@google.com> Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever.
edia/stagefright/OMXCodec.h
415f3e2875b8b0b860d0dd6a69ff6868571c36bb 21-Oct-2009 Eric Laurent <elaurent@google.com> Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.

Added setVoiceVolume() method to AudioSystem, AudioFlinger, IAudioFlinger, AudioPolicyService.
Removed call to AudioHardwareInterface::setVoiceVolume() from AudioFlinger::setStreamVolume().
edia/AudioSystem.h
edia/IAudioFlinger.h
bfe2a8f3ed8a9e916e96ffac18ce079b5a013e21 20-Oct-2009 Andreas Huber <andih@google.com> am ca404dfb: Merge change Ie3ffb526 into eclair

Merge commit 'ca404dfb920ab009cef4db5e74715b796f79b3f9' into eclair-plus-aosp

* commit 'ca404dfb920ab009cef4db5e74715b796f79b3f9':
do not merge: The qcom video decoders always output yuv data after adjusting dimensions to be a multiple of 16.
f16a0b73993c5a8cc14a36521abaa50d501d9044 20-Oct-2009 Andreas Huber <andih@google.com> do not merge: The qcom video decoders always output yuv data after adjusting dimensions to be a multiple of 16.

Add a quirk mode to OMXCodec that makes it aware of this fact for proper display. Also integrate back a change from eclair-mr2 that delays releasing an output buffer briefly after posting it to surface flinger, as we don't know how long it'll take it to actually display the buffer's content.
edia/stagefright/OMXCodec.h
453b5ba21f1bf5ea6d046965a4b189c998e8cc37 16-Oct-2009 Mathias Agopian <mathias@google.com> am fe50b63f: am 7bb7e992: Merge change Ia8ac904d into eclair

Merge commit 'fe50b63f9b5b7e05754e3fba3ccce69b710dbafe' into eclair-mr2-plus-aosp

* commit 'fe50b63f9b5b7e05754e3fba3ccce69b710dbafe':
fix [2182249] [MR1] valgrind error in surface flinger
fe50b63f9b5b7e05754e3fba3ccce69b710dbafe 16-Oct-2009 Mathias Agopian <mathias@google.com> am 7bb7e992: Merge change Ia8ac904d into eclair

Merge commit '7bb7e99216956d917af1786a3e02a92cac46fc84' into eclair-mr2

* commit '7bb7e99216956d917af1786a3e02a92cac46fc84':
fix [2182249] [MR1] valgrind error in surface flinger
22ba121b59d0e6ebba32de4fa8d9025d01863952 16-Oct-2009 Mathias Agopian <mathias@google.com> am 7bb7e992: Merge change Ia8ac904d into eclair

Merge commit '7bb7e99216956d917af1786a3e02a92cac46fc84' into eclair-plus-aosp

* commit '7bb7e99216956d917af1786a3e02a92cac46fc84':
fix [2182249] [MR1] valgrind error in surface flinger
4b9dbdfa1805cfb5be1eca2d26ca18a01724839a 16-Oct-2009 Andreas Huber <andih@google.com> am d96f6e85: Merge change I8176f35e into eclair-mr2

Merge commit 'd96f6e85931e3d4ac4a6dacbedc561e56c293b8d' into eclair-mr2-plus-aosp

* commit 'd96f6e85931e3d4ac4a6dacbedc561e56c293b8d':
Reimplement the OMX backend for stagefright.
784202ea115603004b067aacf6a57bf5d2a7d53b 15-Oct-2009 Andreas Huber <andih@google.com> Reimplement the OMX backend for stagefright.

Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.

Changed APIs to conform to the rest of the system.
edia/IMediaPlayerService.h
edia/IOMX.h
a8ac904d97a008b346390c87e74d44df39b0f320 16-Oct-2009 Mathias Agopian <mathias@google.com> fix [2182249] [MR1] valgrind error in surface flinger
rivate/ui/RegionHelper.h
28af587a0587bc3975230a9ed4a2a44be1f31ad3 13-Oct-2009 Andreas Huber <andih@google.com> am c642199d: Merge change Ibd7b43bb into eclair-mr2

Merge commit 'c642199d1d60176980e2781bb78f42dce93e1c84' into eclair-mr2-plus-aosp

* commit 'c642199d1d60176980e2781bb78f42dce93e1c84':
Separated private from public header files.
b7a69ce8f2d05c523ad964e98f490fe3c060a420 13-Oct-2009 Andreas Huber <andih@google.com> am fe324a61: Merge change I8d87cd98 into eclair-mr2

Merge commit 'fe324a61c39d5db59f09fdae81c808d7851841e6' into eclair-mr2-plus-aosp

* commit 'fe324a61c39d5db59f09fdae81c808d7851841e6':
Fix various compiler warnings accumulated over time.
bd7b43bb02852e51b3000185fa66e10c56b120e0 13-Oct-2009 Andreas Huber <andih@google.com> Separated private from public header files.
edia/stagefright/ESDS.h
edia/stagefright/HTTPDataSource.h
edia/stagefright/HTTPStream.h
edia/stagefright/QComHardwareRenderer.h
edia/stagefright/SampleTable.h
edia/stagefright/SoftwareRenderer.h
edia/stagefright/TIHardwareRenderer.h
edia/stagefright/TimedEventQueue.h
edia/stagefright/string.h
8d87cd98a8b6a6ff25d45c9e34907fecd1810575 13-Oct-2009 Andreas Huber <andih@google.com> Fix various compiler warnings accumulated over time.
edia/stagefright/SampleTable.h
9550e2892f88194c9abbb85616bb55db67231d6e 13-Oct-2009 Andreas Huber <andih@google.com> am cfd55579: OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.

Merge commit 'cfd55579c2e20514b181809dfaf30bd6f7e04c7e' into eclair-mr2-plus-aosp

* commit 'cfd55579c2e20514b181809dfaf30bd6f7e04c7e':
OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
cfd55579c2e20514b181809dfaf30bd6f7e04c7e 09-Oct-2009 Andreas Huber <andih@google.com> OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
edia/stagefright/MediaErrors.h
edia/stagefright/MediaSource.h
edia/stagefright/OMXCodec.h
c55bb59e542368500937d6737ce2ea2d3524d6d7 13-Oct-2009 Andreas Huber <andih@google.com> am ef703f60: Merge change I98276091 into eclair-mr2

Merge commit 'ef703f60d5c00527048fdaf1c24984762f6fd434' into eclair-mr2-plus-aosp

* commit 'ef703f60d5c00527048fdaf1c24984762f6fd434':
Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
fa8de752507feaca695123911915070c1ce463b2 08-Oct-2009 Andreas Huber <andih@google.com> Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
edia/stagefright/MetaData.h
861c462c521db2ca54924c3e6a8563784db98b53 09-Oct-2009 Andreas Huber <andih@google.com> am 9b8f9477: Fixing the build.

Merge commit '9b8f947790aa1dabf9eb0621d0ac8f9d189116a2' into eclair-mr2-plus-aosp

* commit '9b8f947790aa1dabf9eb0621d0ac8f9d189116a2':
Fixing the build.
9b8f947790aa1dabf9eb0621d0ac8f9d189116a2 09-Oct-2009 Andreas Huber <andih@google.com> Fixing the build.
edia/stagefright/ColorConverter.h
e1ba422636937ee1ca84938d018282344d319543 09-Oct-2009 Andreas Huber <andih@google.com> am 936fff36: Merge change Ib64cab41 into eclair-mr2

Merge commit '936fff36882764ec031ae4fb8338273cc2abccd5' into eclair-mr2-plus-aosp

* commit '936fff36882764ec031ae4fb8338273cc2abccd5':
Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.
53a76bd0c918082847e52570c307ed3ba325992d 07-Oct-2009 Andreas Huber <andih@google.com> Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.
edia/stagefright/ColorConverter.h
edia/stagefright/SoftwareRenderer.h
1c83540e3829dc9664728f1f017686f16f61a4ea 08-Oct-2009 Andreas Huber <andih@google.com> am 2d295a96: Merge change Iedebfe8d into eclair-mr2

Merge commit '2d295a9601315a2610a2cb759ed9a4f787e7d4b5' into eclair-mr2-plus-aosp

* commit '2d295a9601315a2610a2cb759ed9a4f787e7d4b5':
Some decoders will return an error on OMX_EmptyThisBuffer to indicate that they don't support the media format, deal with this.
3f42707c62e2833ab9d437652f5ea25925cc58af 08-Oct-2009 Andreas Huber <andih@google.com> Some decoders will return an error on OMX_EmptyThisBuffer to indicate that they don't support the media format, deal with this.
edia/IOMX.h
a6b76c35a482bd7f2cbab186aca9ea6e74a375d0 08-Oct-2009 Andreas Huber <andih@google.com> am cd74c0d5: The vendor is about to check in a fix for this issue, the workaround is no longer needed

Merge commit 'cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9' into eclair-mr2-plus-aosp

* commit 'cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9':
The vendor is about to check in a fix for this issue, the workaround is no longer needed
cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9 08-Oct-2009 Andreas Huber <andih@google.com> The vendor is about to check in a fix for this issue, the workaround is no longer needed
edia/stagefright/OMXCodec.h
f9b8d3e1038032bd5eb1c36123c9066a3792fd9c 08-Oct-2009 Mike Cleron <mcleron@google.com> Merge branch 'eclair-plus-aosp' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp
848a42e3716921b5a9280defcecbd0d2747b3aec 08-Oct-2009 Mathias Agopian <mathias@google.com> am a2de8e31: Merge change Ie05f07df into eclair

Merge commit 'a2de8e31c2693d009db1f9386406758874dd1d40' into eclair-plus-aosp

* commit 'a2de8e31c2693d009db1f9386406758874dd1d40':
fix [2170319] gmail bulk operation checkbox latency on passion
18fc0120f59f179ab13adf9e122371f32f65a12c 08-Oct-2009 Mathias Agopian <mathias@google.com> am a2de8e31: Merge change Ie05f07df into eclair

Merge commit 'a2de8e31c2693d009db1f9386406758874dd1d40' into eclair-mr2

* commit 'a2de8e31c2693d009db1f9386406758874dd1d40':
fix [2170319] gmail bulk operation checkbox latency on passion
e05f07dffa196d6403733b26317faa9f267d518f 08-Oct-2009 Mathias Agopian <mathias@google.com> fix [2170319] gmail bulk operation checkbox latency on passion

This also fixes [2152536] ANR in browser

When SF is enqueuing buffers faster than SF dequeues them.
The update flag in SF is not counted and under some situations SF will only
dequeue the first buffer. The state at this point is not technically
corrupted, it's valid, but just delayed by one buffer.

In the case of the Browser ANR, because the last enqueued buffer was delayed
the resizing of the current buffer couldn't happen.

The system would always fall back onto its feet if anything -else- in
tried to draw, because the "late" buffer would be picked up then.
rivate/ui/SharedBufferStack.h
rivate/ui/SurfaceFlingerSynchro.h
i/SurfaceComposerClient.h
1e988a04b55fcaab6116b8d565b68b4f62d01633 07-Oct-2009 Andreas Huber <andih@google.com> am f894d111: Merge change I6c32aa75 into eclair-mr2

Merge commit 'f894d111c8c1ad9038c2d434e1cd78616a6bda0a' into eclair-mr2-plus-aosp

* commit 'f894d111c8c1ad9038c2d434e1cd78616a6bda0a':
Workaround for avc decoder misreporting output buffer size requirements if the content is not a multiple-16 width/height.
8b432b1d85259a463198db3efa5c50e59c254686 07-Oct-2009 Andreas Huber <andih@google.com> Workaround for avc decoder misreporting output buffer size requirements if the content is not a multiple-16 width/height.
edia/stagefright/OMXCodec.h
f7b504f6abfa052a81d76d643eb103b134017800 07-Oct-2009 Mathias Agopian <mathias@google.com> am 26fe45dc: Merge change I4961c959 into eclair

Merge commit '26fe45dcb3df12eda94d93f1473cd6a2f5f345c7' into eclair-plus-aosp

* commit '26fe45dcb3df12eda94d93f1473cd6a2f5f345c7':
fix [2152536] ANR in browser
555e032b1a8204bb9cfc0b478270e4241b1592fb 07-Oct-2009 Eric Laurent <elaurent@google.com> am 62443f5f: Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).

Merge commit '62443f5f4517ba17d911975e695f1ab75bfdbf77' into eclair-plus-aosp

* commit '62443f5f4517ba17d911975e695f1ab75bfdbf77':
Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
89663e6f4d479b25cf6a62c90699e7397ead6cd7 07-Oct-2009 Mathias Agopian <mathias@google.com> am 9d6a685b: Merge changes I430cf57b,I51f02f67,I464f13f3 into eclair

Merge commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb' into eclair-plus-aosp

* commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
1dc82673893be904b69b541925d3e6f4ea8c172b 07-Oct-2009 Wu-cheng Li <wuchengli@google.com> am 962f2536: Merge change I547cff66 into eclair

Merge commit '962f253665e0c5cc8a29de9e59ce3992dad02440' into eclair-plus-aosp

* commit '962f253665e0c5cc8a29de9e59ce3992dad02440':
Add zoom functions and sendCommand.
38729e69ad641f82ca3bc8b604aeb954a8935ded 07-Oct-2009 Marco Nelissen <marcone@google.com> am c39d2e3c: Music visualizer support hack. This currently assumes 44k stereo (won\'t crash on other formats, but won\'t give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.

Merge commit 'c39d2e3c012fb96999991e30659a474f9f30f789' into eclair-plus-aosp

* commit 'c39d2e3c012fb96999991e30659a474f9f30f789':
Music visualizer support hack.
ba4f5d020c08a342f99c701ebcf8cab8f637a11d 07-Oct-2009 Mathias Agopian <mathias@google.com> am f8e4bc9f: Merge change I0c4cec7e into eclair

Merge commit 'f8e4bc9f7789b98b54fe04df56555ca8c630df70' into eclair-plus-aosp

* commit 'f8e4bc9f7789b98b54fe04df56555ca8c630df70':
Attempt to fix [2152536] ANR in browser
e3aa2ada1931be2b66636aeb7296b20df8dbae09 07-Oct-2009 Mathias Agopian <mathias@google.com> am 5fd0ea8f: am 26fe45dc: Merge change I4961c959 into eclair

Merge commit '5fd0ea8fb4827cdf183fe3c5c7f11bfd9c94d895' into eclair-mr2-plus-aosp

* commit '5fd0ea8fb4827cdf183fe3c5c7f11bfd9c94d895':
fix [2152536] ANR in browser
821620494f0f073a27124e96139d5320df79d7e4 07-Oct-2009 Eric Laurent <elaurent@google.com> am 4e362817: am 62443f5f: Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).

Merge commit '4e362817ab49da3325531e1213e70ec6bbe32084' into eclair-mr2-plus-aosp

* commit '4e362817ab49da3325531e1213e70ec6bbe32084':
Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
d7c18d7672f3ecbbcb2f5bec92fe54dd990cb8dd 07-Oct-2009 Mathias Agopian <mathias@google.com> am 0ef55540: am 9d6a685b: Merge changes I430cf57b,I51f02f67,I464f13f3 into eclair

Merge commit '0ef55540ab75660c58b284415ebae7ea66684706' into eclair-mr2-plus-aosp

* commit '0ef55540ab75660c58b284415ebae7ea66684706':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
26fe45dcb3df12eda94d93f1473cd6a2f5f345c7 07-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4961c959 into eclair

* changes:
fix [2152536] ANR in browser
4961c959aebac31991fd7653853d47dfd79d3472 07-Oct-2009 Mathias Agopian <mathias@google.com> fix [2152536] ANR in browser

A window is created and the browser is about to render into it the
very first time, at that point it does an IPC to SF to request a new
buffer. Meanwhile, the window manager removes that window from the
list and the shared memory block it uses is marked as invalid.
However, at that point, another window is created and is given the
same index (that just go freed), but a different identity and resets
the "invalid" bit in the shared block. When we go back to the buffer
allocation code, we're stuck because the surface we're allocating for
is gone and we don't detect it's invalid because the invalid bit has
been reset.

It is not sufficient to check for the invalid bit, I should
also check that identities match.
rivate/ui/SharedBufferStack.h
62443f5f4517ba17d911975e695f1ab75bfdbf77 06-Oct-2009 Eric Laurent <elaurent@google.com> Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).

This change is a complement to the main fix in kernel driver for the same issue (partner change #1250).
It removes clicks sometimes heard after the end of the tones while audio flinger is sending 0s to the audio output stream.
The problem was that the sleep time between two writes was more than the duration of one audio output stream buffer which could cause some underrun.

Also fixed a recent regression in ToneGenerator that made that the end of previous tone was repeated at the beginning of current one under certain timing circumstances when the maximum tone duration was specified.
edia/ToneGenerator.h
6f5f5a095a5a4d42fc656cf8c1e6d0f67594f88d 06-Oct-2009 Mathias Agopian <mathias@google.com> fix [2168531] have software-only gralloc buffer side-step the HAL
rivate/ui/sw_gralloc_handle.h
6950e428feaccc8164b989ef64e771a99948797a 06-Oct-2009 Mathias Agopian <mathias@google.com> fix [2167050] glTexImage2D code path buggy in SurfaceFlinger

When EGLImage extension is not available, SurfaceFlinger will fallback to using
glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an
extra copy. However this code path has never been exercised and had some bugs
which this patch fix.

Mainly the scale factor wasn't computed right when falling back on glDrawElements.
We also fallback to this mode of operation if a buffer doesn't have the adequate
usage bits for EGLImage usage.

This changes only code that is currently not executed. Some refactoring was needed to
keep the change clean. This doesn't change anything functionaly.
rivate/ui/SurfaceBuffer.h
rivate/ui/android_natives_priv.h
i/BufferMapper.h
i/GraphicBuffer.h
i/GraphicBufferAllocator.h
i/GraphicBufferMapper.h
i/ISurface.h
i/Surface.h
i/android_native_buffer.h
3616d15451734bd3b563d73f9c2f25c19d7df75c 06-Oct-2009 Wu-cheng Li <wuchengli@google.com> am 80fff7a5: am 962f2536: Merge change I547cff66 into eclair

Merge commit '80fff7a5897a6b2045d9382da73d7df167c7891a' into eclair-mr2-plus-aosp

* commit '80fff7a5897a6b2045d9382da73d7df167c7891a':
Add zoom functions and sendCommand.
36f68b8f24df906c969581b0b8e1a47f95dc03cb 29-Sep-2009 Wu-cheng Li <wuchengli@google.com> Add zoom functions and sendCommand.

b2060030
i/Camera.h
i/CameraHardwareInterface.h
i/ICamera.h
2c3dc14acb7308570b9d695ba9ac904a9502b043 06-Oct-2009 Marco Nelissen <marcone@google.com> am a97402e1: am c39d2e3c: Music visualizer support hack. This currently assumes 44k stereo (won\'t crash on other formats, but won\'t give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.

Merge commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177' into eclair-mr2-plus-aosp

* commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177':
Music visualizer support hack.
c39d2e3c012fb96999991e30659a474f9f30f789 20-Sep-2009 Marco Nelissen <marcone@google.com> Music visualizer support hack.
This currently assumes 44k stereo (won't crash on other formats, but won't give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
edia/IMediaPlayerService.h
edia/mediaplayer.h
8e20e88ba664ff606cd7eb427dd05fd981355410 05-Oct-2009 Patrick Scott <phanna@android.com> Merge branch 'eclair-plus-aosp' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp
0c4cec7e4df87181486d280c98fba9c0f4774c37 03-Oct-2009 Mathias Agopian <mathias@google.com> Attempt to fix [2152536] ANR in browser

The ANR is caused by SurfaceFlinger waiting for buffers of a removed surface to become availlable.
When it is removed from the current list, a Surface is marked as NO_INIT, which causes SF to return
immediately in the above case. For some reason, the surface here wasn't marked as NO_INIT.

This change makes the code more robust by always (irregadless or errors) setting the NO_INIT status
in all code paths where a surface is removed from the list.

Additionaly added more information in the logs, should this happen again.
rivate/ui/SharedBufferStack.h
90b4a93271520b2952b55520338b153192b834a6 28-Sep-2009 Wu-cheng Li <wuchengli@google.com> am fe1a86df: Change FLASH_MODE_VIDEO_LIGHT to FLASH_MODE_TORCH.

Merge commit 'fe1a86df8b1c23e3290f96dce69984bf979a462b' into eclair-plus-aosp

* commit 'fe1a86df8b1c23e3290f96dce69984bf979a462b':
Change FLASH_MODE_VIDEO_LIGHT to FLASH_MODE_TORCH.
fe1a86df8b1c23e3290f96dce69984bf979a462b 28-Sep-2009 Wu-cheng Li <wuchengli@google.com> Change FLASH_MODE_VIDEO_LIGHT to FLASH_MODE_TORCH.
i/CameraParameters.h
3af65a075ab2c1f48da846b324a220056e5239de 25-Sep-2009 Wu-cheng Li <wuchengli@google.com> am 8de57d8f: Add camera parameter key constants and documentation.

Merge commit '8de57d8fa346522404c2064a78e8f24a5aa3bf23' into eclair-plus-aosp

* commit '8de57d8fa346522404c2064a78e8f24a5aa3bf23':
Add camera parameter key constants and documentation.
8de57d8fa346522404c2064a78e8f24a5aa3bf23 23-Sep-2009 Wu-cheng Li <wuchengli@google.com> Add camera parameter key constants and documentation.
i/CameraParameters.h
df9879bf1fb8c9785b20bc3fbe0b2ad6e4f09dfd 25-Sep-2009 Eric Laurent <elaurent@google.com> am e9bd4788: Merge change 26881 into eclair

Merge commit 'e9bd4788d4370714374d833aed1339d17c5ded09' into eclair-plus-aosp

* commit 'e9bd4788d4370714374d833aed1339d17c5ded09':
Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes or over A2DP.
af141d529f76a3e3bccf67de798f13568e37f3cf 24-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes or over A2DP.

When the AudioTrack callback notification size is relatively high (Which is the case on Sholes and over A2DP), it is likely that the end of tone is reached during the first callback. In this case, the AudioTrack is stopped before exiting the callback which causes 2 problems:
- 1: If the AudioFlinger thread is scheduled before we exit the ToneGenerator callback, the track can be stopped and reset before the data is actually marked as present in the buffer by the AudioTrack callback => no audio will be processed by AudioFlinger.
- 2: In this case, the data write index in the AudioTrack buffer is incremented after the track was reset by the AudioFlinger which leaves unplayed data in the buffer. This data will be played the next time the AudioTrack is started if not flushed in between.

The fix consists in adding an intermediate state to ToneGenerator state machine so that we exit the callback function when the stop condition is reached and stop the AudioTrack the next time we execute the callback.
edia/ToneGenerator.h
355de159a9a8fb7cb11f19d0bdf6c600b8c76d7a 24-Sep-2009 Mathias Agopian <mathias@google.com> am 60b69cd7: Merge change 26691 into eclair

Merge commit '60b69cd70e9fe5b6d2d73547748e93287a0a7493' into eclair-plus-aosp

* commit '60b69cd70e9fe5b6d2d73547748e93287a0a7493':
fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to create flip chain)
bc7261130a51dc9f3461d3970eee1b923bcbf193 24-Sep-2009 Mathias Agopian <mathias@google.com> fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to create flip chain)
i/SurfaceComposerClient.h
38576e4498f73a095cccb4c4d0bb669ace940f98 18-Sep-2009 Mathias Agopian <mathias@google.com> am 39a5ba90: Merge change 25629 into eclair

Merge commit '39a5ba90a4939cfdd23ecd10f73a77a75679b13e' into eclair-plus-aosp

* commit '39a5ba90a4939cfdd23ecd10f73a77a75679b13e':
Android side of the fix for [2121211] Sholes has stutter during animations
b1a1874625a6aca967601fcda53a82d8d712df45 18-Sep-2009 Mathias Agopian <mathias@google.com> Android side of the fix for [2121211] Sholes has stutter during animations

a new method, compostionComplete() is added to the framebuffer hal, it is used by surfaceflinger to signal the driver that the composition is complete, BEFORE it releases its client. This gives a chance to the driver to
i/FramebufferNativeWindow.h
3455f8ee9dc685f74e083fdea55eab9a872175eb 17-Sep-2009 Mathias Agopian <mathias@google.com> am bcef9ac3: add basic time stats for surfaces lock time

Merge commit 'bcef9ac35da08b9f7f8a4728af94c23a7a010669' into eclair-plus-aosp

* commit 'bcef9ac35da08b9f7f8a4728af94c23a7a010669':
add basic time stats for surfaces lock time
bcef9ac35da08b9f7f8a4728af94c23a7a010669 17-Sep-2009 Mathias Agopian <mathias@google.com> add basic time stats for surfaces lock time
rivate/ui/SharedBufferStack.h
e525eef4b8e284ac8eb023bd0df4eeed37916d4b 17-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
62e73f466e52b98ecc2eef85010618a655b40924 22-Jun-2009 Ravi K Yenduri <yenduri@pv.com> Update comment in mediaplayer.h.

When sending a MEDIA_INFO message, the second integer is supposed
to be an "info" code instead of an "error" code.
edia/mediaplayer.h
f7c3679f898cdcb208bc1675c79573e1d637083a 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25158 into eclair

* changes:
Another software color conversion implementation, this time OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565.
93e462b79d6896da10e15e74c5aec6beb098dddf 16-Sep-2009 Dianne Hackborn <hackbod@google.com> Implement issue #1780928: Need support hiding nav keys.

This implements support for devices whose hardware can hide
their navigation keys. It works much like the existing keyboardHidden
configuration, and for compatibility uses the same configuration
change bit.

Also add FLAG_TURN_ON_SCREEN for windows, which has the system
cause the screen to be turned on when the window is displayed.
Great fun when used with FLAG_SHOW_WHEN_LOCKED!

Change-Id: I0b867f19af85cfd8786a14cea194b34f7bdd9b7a
tils/ResourceTypes.h
e611a6ed33d157b7ae15bdfe4e1873dc20ce7d48 16-Sep-2009 Mathias Agopian <mathias@google.com> fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer

Take 2. We needed to check that the usage flags are "good enough" as opposed to "the same".

This reverts commit 8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6.
i/Surface.h
8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6 16-Sep-2009 Mathias Agopian <mathias@google.com> Revert "fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer"

This reverts commit 486aa963b63e20b7910e1004cebb4f0afabbd80f.
i/Surface.h
486aa963b63e20b7910e1004cebb4f0afabbd80f 16-Sep-2009 Mathias Agopian <mathias@google.com> fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer
i/Surface.h
4f234579587ce2367153148d39e83244a808e2c8 16-Sep-2009 Andreas Huber <andih@google.com> Another software color conversion implementation, this time OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565.
edia/stagefright/SoftwareRenderer.h
a4fe2aca527ee45ddde6ace2316cad27dd487379 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25128 into eclair

* changes:
Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
c966a3c255652ba30a7b457663c874da24e7fb6e 15-Sep-2009 Andreas Huber <andih@google.com> Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
edia/stagefright/SoftwareRenderer.h
9f9afef3d5da3be6812192e60797b1c035445c3c 15-Sep-2009 Andreas Huber <andih@google.com> Added an API IOMX::createRendererFromJavaSurface.

This api allows to instantiate a renderer by specifying the hosting java Surface object. This hides the implementation details of (java-)Surface, (native-)Surface and friends.
edia/IOMX.h
244f8c26365a303d9dd861bd48a29a4b48578da1 15-Sep-2009 Chih-Chung Chang <chihchung@google.com> Fix 2083478: Camera needs an auto-focus cancel API

Change-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2
i/Camera.h
i/CameraHardwareInterface.h
i/ICamera.h
a1212578bfd11bd391c686c82c18b21b4a3a69b4 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24947 into eclair

* changes:
make sure to update the tail pointer when undoing a dequeue
bd8527110caa5427ade0edd7ce0d00e63f15ccbc 15-Sep-2009 Mathias Agopian <mathias@google.com> make sure to update the tail pointer when undoing a dequeue
rivate/ui/SharedBufferStack.h
242d65bf9faf1d2bc3468490e510551140e23462 12-Sep-2009 San Mehat <san@google.com> process: Switch to common cutils sched_policy api

Signed-off-by: San Mehat <san@google.com>
tils/threads.h
6026a514248f0c603d0e8c4a3f542abab3fa1509 11-Sep-2009 Andreas Huber <andih@google.com> Move JPEGSource.{cpp,h} into libstagefright.
edia/stagefright/JPEGSource.h
f84a21820b39dbfa983352b7d8ac949e560827d3 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24643 into eclair

* changes:
fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore
12d2cdcdb0eed759b0e7738cbdefaa726a71930b 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24642 into eclair

* changes:
make sure conditions will return when the status of a surface is not NO_ERROR
248b5bd51e325107f8119b564db6a06ac51c232a 11-Sep-2009 Mathias Agopian <mathias@google.com> fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore

this also fixes part of [2111536] Device is soft rebooted after ending the call through voice dialer
rivate/ui/SharedBufferStack.h
436c627ca4228284caf363f0cb35947e58b841b9 11-Sep-2009 Mathias Agopian <mathias@google.com> make sure conditions will return when the status of a surface is not NO_ERROR
rivate/ui/SharedBufferStack.h
181b31a0d87d525ea64102a965210331e0c6885b 09-Sep-2009 San Mehat <san@google.com> Process: Add support for using scheduler policies instead of cgroups.
Preference is given to cgroups if available.

Signed-off-by: San Mehat <san@google.com>
tils/threads.h
e6c409632f773e41f33188272a0072be9fcb783f 10-Sep-2009 Andreas Huber <andih@google.com> Media MIME types now have corresponding constants in MediaDefs.h, new codec enumeration API.
edia/stagefright/MediaDefs.h
edia/stagefright/OMXCodec.h
033e6c3a680cd42fb05738c87a8c514bb7e4963d 10-Sep-2009 Andreas Huber <andih@google.com> Minor API change in MPEG4Writer, support for amr output into MPEG4 containers.
edia/stagefright/MPEG4Writer.h
5a65a6e22017e51ebcebb0f41510c54f1085f82c 09-Sep-2009 Andreas Huber <andih@google.com> Added a .amr file extractor (for AMR-NB and AMR-WB content).
edia/stagefright/AMRExtractor.h
edia/stagefright/MP3Extractor.h
4e60d7e60b29c42c6745dd23ff90dced8834fa7c 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24179 into eclair

* changes:
Support encoding amr-wb content in stagefright.
11c803ac77b6a9b815180b4649a700361d3b8cfe 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24335 into eclair

* changes:
use broadcast() instead of signal() when signaling the condition-variable Thread::RequestExitAndWait() is waiting for
d42bd87f23974164d2539ea85c7b5e6329faf2c2 09-Sep-2009 Mathias Agopian <mathias@google.com> use broadcast() instead of signal() when signaling the condition-variable Thread::RequestExitAndWait() is waiting for

we could have several thread waiting on the condition and they all need to wake-up.
also added a debug "mTid" field in the class, which contains the tid of the thread (as opposed to pthread_t), this
is useful when debugging under gdb for instance.
tils/threads.h
96c08a69ea0b95d1d8a8edb67f73bd9548e09f16 07-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 1992233: DTMF tones on Sholes is really long.

Add a parameter to ToneGenerator.startTone() allowing the caller to specify the tone duration. This is used by the phone application to have a precise control on the DTMF tone duration which was not possible with the use of delayed messaged.
Also modified AudioFlinger output threads so that 0s are written to the audio output stream when no more tracks are ready to mix instead of just sleeping. This avoids an issue where the end of a previous DTMF tone could stay in audio hardware buffers and be played just before the beginning of the next DTMF tone.
edia/ToneGenerator.h
b80f698362e84b83e1c44c92fb76b0fdf1a5ef6d 08-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes 24119,24120 into eclair

* changes:
delete old and unused source files
fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly
ee606e66b0c1bc3527ecaffbbe95486d2ff5009e 08-Sep-2009 Andreas Huber <andih@google.com> Support encoding amr-wb content in stagefright.
edia/stagefright/OMXCodec.h
392ff3b5296e0cee8d5db386d2ef72e2719890c8 06-Sep-2009 James Dong <jdong@google.com> Add basic metadata retrieval support for midi, ogg, etc.
Bug 2050320
edia/MediaMetadataRetrieverInterface.h
edia/mediametadataretriever.h
9779b221e999583ff89e0dfc40e56398737adbb3 08-Sep-2009 Mathias Agopian <mathias@google.com> fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly

Rewrote SurfaceFlinger's buffer management from the ground-up.
The design now support an arbitrary number of buffers per surface, however the current implementation is limited to four. Currently only 2 buffers are used in practice.

The main new feature is to be able to dequeue all buffers at once (very important when there are only two).

A client can dequeue all buffers until there are none available, it can lock all buffers except the last one that is used for composition. The client will block then, until a new buffer is enqueued.

The current implementation requires that buffers are locked in the same order they are dequeued and enqueued in the same order they are locked. Only one buffer can be locked at a time.

eg. Allowed sequence: DQ, DQ, LOCK, Q, LOCK, Q
eg. Forbidden sequence: DQ, DQ, LOCK, LOCK, Q, Q
rivate/ui/LayerState.h
rivate/ui/SharedBufferStack.h
rivate/ui/SharedState.h
rivate/ui/SurfaceBuffer.h
i/ISurface.h
i/Surface.h
i/SurfaceComposerClient.h
tils/Errors.h
be8e36e32b9cb2bb37e28e4c0d414ee0e46c84a2 04-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
e1da8be501e953cdf50b0ba2edf8fe68af8cf2b9 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23835 into eclair

* changes:
When encountering a .nomedia file, notify the MediaScannerClient, so that it can erase the data column for entries that are in the folder containing the .nomedia file. This prevents us from deleting (via a delete trigger) files when somebody adds a .nomedia file after the fact.
8b0466170082fdf12f78d7b70358002520e99e9b 03-Sep-2009 Marco Nelissen <marcone@google.com> When encountering a .nomedia file, notify the MediaScannerClient,
so that it can erase the data column for entries that are in the
folder containing the .nomedia file. This prevents us from
deleting (via a delete trigger) files when somebody adds a
.nomedia file after the fact.
edia/mediascanner.h
4c48342572503c7a92e5634ef8db3f1f9e541256 03-Sep-2009 Andreas Huber <andih@google.com> Setting the component role appears to be mandatory now for all mime types.

Also using CODEC_LOGV instead of vanilla LOGV to include the component name the message related to.
edia/stagefright/OMXCodec.h
da050cf206afff082f2a3693a8103a5df67df397 02-Sep-2009 Andreas Huber <andih@google.com> Some work to make audio encoding work.
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
43ad6eaf7710e21d4d0df373103c3d99137d4ecc 02-Sep-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit c45bfbb97ccd05982008df47181f9c73abaf0497
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:58:12 2009 -0700

This quirk should not be enabled by default in order to make the bug reproducible by the vendor.

commit 21d72e80e795fcae53d9c3bcc8ba6312b081e420
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:55:45 2009 -0700

Undoing the hack to temporarily give up the lock to facilitate reading from the buffer source.

This simply causes too many issues, there need to be independent threads providing input buffers and dequeuing output buffers.

commit 84d507def8999c146ce124cc8edfe106c9ca70c2
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:16:23 2009 -0700

The AAC components appear to output stereo data even if the input data is mono...
edia/stagefright/OMXCodec.h
72b1f379d5c97c8ff31d2201e78215af777d6bda 31-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
tils/Asset.h
329577aa6d422d1dbb33f4771fc5e2949b4ad312 27-Aug-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 3fa5f3ce910f34da0cedb8bcce1bd593db7eb740
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 27 14:48:54 2009 -0700

Getting rid of more code now obsolete with the departure of OMXDecoder.

commit e0d923ec0c7bb60bec8eb97739036a4c70c0feef
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 27 14:33:06 2009 -0700

Remove obsoleted OMXDecoder class. OMXDecoder is dead, long live OMXCodec.
edia/IOMX.h
edia/stagefright/OMXClient.h
edia/stagefright/OMXDecoder.h
bc86bda499b8600cc3dc900bba0e6421304c26dd 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22897 into eclair

* changes:
Fix issue 2045911: Camera Shutter tone does not play correctly while listening to music.
42978e55fe438ecdc1b0bac5bf31c2aadbd9e78d 27-Aug-2009 Andreas Huber <andih@google.com> An attempt to fix a deadlock between OMXCodec::start and upstream ::read
edia/stagefright/OMXCodec.h
327c27be19ad333c4835c84397152a0b2cb33081 27-Aug-2009 Eric Laurent <elaurent@google.com> Fix issue 2045911: Camera Shutter tone does not play correctly while listening to music.

Add the possibility to delay routing and volume commands in AudioPolicyClientInterface. The delay is not blocking for the caller.
edia/AudioSystem.h
127fcdcd9f76ca717713ae59dc625a706daa6573 27-Aug-2009 Andreas Huber <andih@google.com> Another quirk, some OMX components fail to properly flush before shutdown and we must do it for them...
edia/stagefright/OMXCodec.h
b5ceb9ee21f37ae0817c16490c1fc148dd3eb5e2 26-Aug-2009 Andreas Huber <andih@google.com> assert => CHECK in stagefright.
edia/stagefright/MediaDebug.h
446f44f61afd406e19760cd9cc5ad3a10fa11cbf 26-Aug-2009 Andreas Huber <andih@google.com> Keep up with latest changes to overlay handling on that unnamable platform.
edia/stagefright/OMXCodec.h
edia/stagefright/TIHardwareRenderer.h
c0dea964913268bd64009e657635e617f3e0c21c 11-Aug-2009 Martin Storsjo <martin@martin.st> Calculate specular lighting correctly

Since the lighting calculations are done in object space, the vector
from the object to the viewer also needs to be transformed to object
space.
rivate/opengles/gl_context.h
595e1ec4a394ce589eb70d70a86efc4ac298cfe7 25-Aug-2009 Android Code Review <code-review@android.com> Merge change 11106

* changes:
Calculate specular lighting correctly
404cc418be3eeaef93729fab51a0124ed65e1adc 25-Aug-2009 Andreas Huber <andih@google.com> Make sure not to ask for more buffers when we know that there won't be any, added a quirk for the aac decoder.
edia/stagefright/OMXCodec.h
34d7fd715f17d70c3dd52ce25f64b8df4636de88 21-Aug-2009 Android Code Review <code-review@android.com> Merge change 10274

* changes:
Ignore pause and seek for live streaming.
cc4f3424e5b5227d0711ae7d3850a8b903c15a07 20-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22092 into eclair

* changes:
Dynamically allocate a pair of MemoryHeaps according buffer count/sizes required by the OMX component, respect JPEG compressed size.
5c0a9133d2e8049f8952a190df91febf6b92064c 20-Aug-2009 Andreas Huber <andih@google.com> Dynamically allocate a pair of MemoryHeaps according buffer count/sizes required by the OMX component, respect JPEG compressed size.
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
f99c18083e87ccf83430b29b53c7dea52a1675de 17-Aug-2009 Benny Wong <Benny.Wong@motorola.com> Add offset handling in MemoryHeapBase class
inder/MemoryHeapBase.h
18b6b49ea5235fb6c0802db9a0cc2c6dd20646cb 20-Aug-2009 Mathias Agopian <mathias@google.com> fix a bug that caused the PixelFormat viewed by Surface to be wrong.

what happened is that the efective pixel format is calculated by SF but Surface nevew had access to it directly.
in particular this caused query(FORMAT) to return the requested format instead of the effective format.
i/ISurfaceFlingerClient.h
4f5e602e1773a2990bb1f34f09875bd5cd057e5a 19-Aug-2009 Andreas Huber <andih@google.com> The PV AVC software decoder expects each fragment of a NAL unit to be handed to the decoder unframed.
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
edia/stagefright/OMXDecoder.h
09daada236c0b4970db44c807d7c29965666c36b 18-Aug-2009 Andreas Huber <andih@google.com> Refactored "stagefright" commandline app, split off JPEGSource.
edia/stagefright/MediaBufferGroup.h
2f10ae08d435b12e1798d93e0b90605717c66081 17-Aug-2009 Andreas Huber <andih@google.com> Support for marshalling pointers / intptr_t in Parcel.

Some refactoring to eliminate code duplication in Parcel implementation.
inder/Parcel.h
tils/Debug.h
2b8954809e7de900e2c159c255d5237ae6f0e6f8 17-Aug-2009 Mathias Agopian <mathias@google.com> really be more friendly with C
i/egl/android_natives.h
be06d26cdc70070654f1eedcd08c1c68cd587ad6 14-Aug-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 5bb012f0065f7ffaaeb4f569d71f0e3a8d6b19c3
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 14 10:40:08 2009 -0700

An attempt at fixing export using the qcom encoders. More quirks.

commit 0690e76bfa48118a68287ccf1bbfa82febaa620c
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 14 09:08:28 2009 -0700

Callbacks are now dispatched from a separate thread in OMX.

commit c6571a039526df29b6343f9a1971dbc019088c61
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 15:42:25 2009 -0700

Massive API changes throughout stagefright, smart pointers everywhere.

commit 900612af6a0555664d9ba195112cd859491265f4
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 13:33:12 2009 -0700

OMXCodecs now properly shutdown.

commit 96732f05e1b0603dcd1b11f16a23512592eeb4f5
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 12:04:04 2009 -0700

More work on JPEG decoding using the hardware OMX component.

commit 63839a073ac393e3a130434ba467969053b694ad
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 12 13:13:31 2009 -0700

An attempt to drive the JPEG decoder OMX node.

commit 3ac2fe5ab2926eda81b2123610b2434c645294ff
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 11 16:38:21 2009 -0700

Renamed StateMachine to OMXCodec and put it in its proper place.

commit 247da75a96bf8881956413023dd49a84d5b4f5b2
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 11 16:06:19 2009 -0700

Statemachine is now a full-fledged MediaSource.

commit 045244f6771fa0b9b329495c953afda900a84b71
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 7 09:16:54 2009 -0700

Properly setup the input format when exporting to AMR audio.

commit 271b984cb32c5cd9e46e3f90ae121f334e4b8da9
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 6 09:59:38 2009 -0700

Added some code to test audio encoding to the OMX harness.

commit 79af4748e4af33bd66d3fbac606e332a69741cf4
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 5 14:36:22 2009 -0700

Merge the old OMXDecoder and the new, shiny, StateMachine code.

commit 91cf5dd77a8762bc10a0b2ffce35e3bbeb262231
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 4 17:41:43 2009 -0700

A new harness to test OMX node compliance (and quirks).
edia/IOMX.h
edia/stagefright/AudioPlayer.h
edia/stagefright/CachingDataSource.h
edia/stagefright/DataSource.h
edia/stagefright/MP3Extractor.h
edia/stagefright/MPEG4Extractor.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaBuffer.h
edia/stagefright/MediaDebug.h
edia/stagefright/MediaExtractor.h
edia/stagefright/MediaPlayerImpl.h
edia/stagefright/MediaSource.h
edia/stagefright/OMXCodec.h
edia/stagefright/OMXDecoder.h
edia/stagefright/SampleTable.h
7193a58763ff73ba84bf4ac1c8f3f745b0a18836 15-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21401 into eclair

* changes:
make sure to update a surface's usage bits when it changes, instead of only the first time.
321abdb092bfc925749d528de590680ae8bc3d5c 15-Aug-2009 Mathias Agopian <mathias@google.com> make sure to update a surface's usage bits when it changes, instead of only the first time.

also fixed a few locking issues in Surface and commented how each member is protected.
i/Surface.h
c9706f0262a2f399f95e0d78ba2b7616e08d0069 14-Aug-2009 Sahil Sachdeva <sahils@google.com> DO NOT MERGE, ALready merged to master.
1440173 [NJ-1331] MetaData utility parse the wrong m4a meta data. Changes to Java, application side.
edia/mediametadataretriever.h
f233915016a9053c23af6e4bceb319e7140f71bc 14-Aug-2009 Mathias Agopian <mathias@google.com> be more friendly with C
rivate/ui/android_natives_priv.h
i/egl/android_natives.h
317a6280cc109e873646e4652be1582d870eedfd 14-Aug-2009 Mathias Agopian <mathias@google.com> Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.

this also ripples into the window manager API by making some constant there deprecated as well.
i/ISurfaceComposer.h
8db93389141fbce1e37f4c22f415fc2cebf19ebf 14-Aug-2009 Dima Zavin <dima@android.com> ui: make native_window_set_usage be a static inline

Signed-off-by: Dima Zavin <dima@android.com>
i/egl/android_natives.h
da83f4674a564007baac03db062a289c8158d940 12-Aug-2009 Benny Wong <Benny.Wong@motorola.com> Modified the camera HAL interface to use the same generic callback architecture as camera services
i/Camera.h
i/CameraHardwareInterface.h
90f77218a24ac66bea52faef79c30d45420ce135 12-Aug-2009 Dianne Hackborn <hackbod@google.com> am b8546001: Merge change 20878 into donut

Merge commit 'b8546001701405a76dad7e6235046e592296fac2'

* commit 'b8546001701405a76dad7e6235046e592296fac2':
Fix issue #2048263: More debugging information
5cec4742b3a1d7448bd32ae57cb4cf70b484c64c 12-Aug-2009 Mathias Agopian <mathias@google.com> second take, hopefully this time it doesn't break one of the builds: "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
i/FramebufferNativeWindow.h
i/ISurface.h
i/Surface.h
i/egl/android_natives.h
64e89a8aff9a45a491f1d7064a655b9021fe644a 12-Aug-2009 Fred Quintana <fredq@google.com> Revert "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."

This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
i/FramebufferNativeWindow.h
i/ISurface.h
i/Surface.h
i/egl/android_natives.h
82e1ee93eece8fb0aec6acc3ef4ee7b1c86feec7 12-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2048263: More debugging information

We now hopefully do better about generating the anr reports, and include
information about the malloc loaded assets in meminfo.
tils/Asset.h
8b76a0ac6fbf07254629ed1ea86af014d5abe050 11-Aug-2009 Mathias Agopian <mathias@google.com> SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything.

This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored).
Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
i/FramebufferNativeWindow.h
i/ISurface.h
i/Surface.h
i/egl/android_natives.h
79ad0e6623998ca2006aa0c17f902340132c3e1c 11-Aug-2009 Martin Storsjo <martin@martin.st> Calculate specular lighting correctly

Since the lighting calculations are done in object space, the vector
from the object to the viewer also needs to be transformed to object
space.
rivate/opengles/gl_context.h
ccf8b94169197875af6c89172015b9644919b064 07-Aug-2009 Andreas Huber <andih@google.com> Expose a variation of the createRenderer API that works on a plain Surface.
edia/IOMX.h
i/Surface.h
e9ec12c47e83a082063aac467414558fb1aef7fb 07-Aug-2009 Andreas Huber <andih@google.com> Deprecate/remove now unused socketpair ipc communication in favour of exclusive binder use.
edia/IOMX.h
edia/stagefright/OMXClient.h
db704e28aea24f86c62bb21a26225e9542c66c03 08-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes 20497,20498,20499

* changes:
minor code clean-up
added EGLUtils::strerror
better error handling
509dae53c54437eebd5291226e76c5456646f560 08-Aug-2009 Mathias Agopian <mathias@google.com> added EGLUtils::strerror
i/EGLUtils.h
ddb78e7753be03937ad57ce7c3c842c52bdad65e 28-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2001214: AudioFlinger and AudioPolicyService interfaces should not use pointers as handles to inputs and outputs.

Use integers instead of void* as input/output handles at IAudioFlinger and IAudioPolicyService interfaces.
AudioFlinger maintains an always increasing count of opened inputs or outputs as unique ID.
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
43a6d88e4ee13836d015a114bb0065b679cfa916 07-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes 20345,20346,20347

* changes:
update most gl tests to use EGLUtils
added two EGL helpers for selecting a config matching a certain pixelformat or native window type
added NATIVE_WINDOW_FORMAT attribute to android_native_window_t
265d9c076a588cf4cd811fbafd999c7ffe36641b 07-Aug-2009 Mathias Agopian <mathias@google.com> added two EGL helpers for selecting a config matching a certain pixelformat or native window type
i/EGLUtils.h
25ec00fd13a6310d80a726cc9493a4b394056063 07-Aug-2009 Mathias Agopian <mathias@google.com> added NATIVE_WINDOW_FORMAT attribute to android_native_window_t
i/egl/android_natives.h
fc2ebc473bbca6f9e6e30ea5de979c4852f35319 06-Aug-2009 Iliyan Malchev <malchev@google.com> EventHub: pass the name of each input device up to Java

Signed-off-by: Iliyan Malchev <malchev@google.com>
i/EventHub.h
b1d39aae13869a9dd05efb95c48b8782a54f0871 05-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9649

* changes:
Finish implementation of multiple pointer support for MotionEvent.
ae4622e7073acd53a857e742180312d4cb3a0fec 09-Jul-2009 Marco Nelissen <marcone@google.com> Add a virtual destructor to the TtsEngine class.
ts/TtsEngine.h
ea03f4af10512521ad68f28dae7a2dea131dddbc 04-Aug-2009 Andreas Huber <andih@google.com> Recording/Export to .mp4/h.263 somewhat works on TI hardware.
edia/stagefright/OMXDecoder.h
0dd7cb4b4ef86eb7d4e837b1948501da66adeebe 04-Aug-2009 Dianne Hackborn <hackbod@google.com> Finish implementation of multiple pointer support for MotionEvent.

The major things going on here:

- The MotionEvent API is now extended to included "pointer ID" information, for
applications to keep track of individual fingers as they move up and down.
PointerLocation has been updated to take advantage of this.

- The input system now has logic to generate MotionEvents with the new ID
information, synthesizing an identifier as new points are down and trying to
keep pointer ids consistent across events by looking at the distance between
the last and next set of pointers.

- We now support the new multitouch driver protocol, and will use that instead
of the old one if it is available. We do NOT use any finger id information
coming from the driver, but always synthesize pointer ids in user space.
(This is simply because we don't yet have a driver reporting this information
from which to base an implementation on.)

- Increase maximum number of fingers to 10. This code has only been used
with a driver that reports up to 2, so no idea how more will actually work.

- Oh and the input system can now detect and report physical DPAD devices.
i/EventHub.h
5c1207be90fdf296c1b83034b7c68915e1749284 01-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
tils/ResourceTypes.h
1de13168a9d9f55464dc98748ea28ef785f1048e 31-Jul-2009 Andreas Huber <andih@google.com> The IOMX interface now instantiates IOMXRenderers to hide the details of hardware accelerated blitting.
edia/IOMX.h
edia/stagefright/MediaPlayerImpl.h
edia/stagefright/MetaData.h
edia/stagefright/SurfaceRenderer.h
i/Surface.h
1a20bae18ce05a5a141810492549d351a82f6490 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9287

* changes:
fixed some issues with the software renderer when surfaces are made current.
5b5c9144872b4e31ba5a041dce585a8ddbbe495d 31-Jul-2009 Mathias Agopian <mathias@google.com> fixed some issues with the software renderer when surfaces are made current.

there was several issues:
- when a surface was made non-current, the last frame wasn't shown and the buffer could stay locked
- when a surface was made current the 2nd time, it would not dequeue a new buffer

now, queue/dequeue are done when the surface is made current.

for this to work, a new query() hook had to be added on android_native_window_t, it allows to retrieve some attributes of a window (currently only width and height).
i/FramebufferNativeWindow.h
i/Surface.h
i/egl/android_natives.h
afcf686cb070313ae5ce6c54ac381a3a86a60ed2 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 25dff70f: Merge change 9039 into donut

Merge commit '25dff70f153529b87f5ad4a92f4de21e8950b1de'

* commit '25dff70f153529b87f5ad4a92f4de21e8950b1de':
Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA
e7f03253f915fea0672710899b7a4284bebd5124 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9070

* changes:
Adding resizeInput and setAttributes for overlay
cbe7c5441c9af004dae93cff09787e21771beda8 30-Jul-2009 James Dong <jdong@google.com> Remove hardcoded maximum frame rate limit from the framework
bug 1993400
edia/mediarecorder.h
0d221012ff5fd314711c00ed30e9b807b9c454c1 30-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA

It turns out we were not returning the density for anything retrieved from a
TypedArray... which basically means any bitmap references from a layout or style...!!!

This is now fixed.

Also fiddle with the density compatibility mode to turn on smoothing in certain situations,
helping the look of things when they need to scale and we couldn't do the scaling at
load time.
tils/ResourceTypes.h
4ccee716f8c3b81deda211e51f6c82493302647f 25-Jul-2009 Benny Wong <Benny.Wong@motorola.com> Adding resizeInput and setAttributes for overlay
i/Overlay.h
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
i/Camera.h
i/CameraHardwareInterface.h
i/ICameraClient.h
tils/ResourceTypes.h
tils/String8.h
970764d14b663324df2a4324a890988a606c14a1 28-Jul-2009 Andreas Huber <andih@google.com> While other OMX nodes appear to now have switched to using microseconds to timestamp buffers, at least the TI AAC and MP3 decoders still use milliseconds.
edia/stagefright/OMXDecoder.h
8a432776d003247c12222d8dd6a30ea4621aa2d0 28-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 374ea382ee3a9e3ce17e4c6357fc40d02e362810
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 28 09:54:13 2009 -0700

PV's OMX implementation now uses (spec-compliant) microseconds instead of milliseconds in buffer timestamps.

commit 8d02f8ab5d7b022ad4ad34db2a9bdeea6ce2acfe
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 27 14:24:26 2009 -0700

Support for using an overlay for video playback on TI hardware.

Appears to be currently constrained to CbYCrY 16-bit colorspace.

commit d17f321cb4b15c1fea378f33a7ef5998f23dd0fc
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 27 09:45:38 2009 -0700

Added '--audio-only' commandline option to stagefright tool.

commit d8beef6be5c668c46451446d87e622933371cd75
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 24 13:35:00 2009 -0700

Generalize the various workarounds for OMX nodes with their own unique interpretation of the spec.

commit c7dfd53eeadf8ed5a39bf2b19b014dcd62f3324d
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 23 16:06:36 2009 -0700

Fixed erroneous TI AAC decoder behaviour wrt shutdown.

The AAC decoder appears to not return out buffers on an Executing->Idle transition, implemented a workaround that does a flush on all ports followed by the Executing->Idle. Oh, and flush with OMX_ALL doesn't properly work either. Fun.

commit d6377282e75060881336578f166f9c7feacf3f8f
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 23 14:06:50 2009 -0700

Apparently the "channels" parameter in AudioTrack's constructor no longer counts channels but is a bitmask of enabled destinations, update the code accordingly.

commit ff698c79e851a2e57d362e9c3a09828af4048087
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 16:54:44 2009 -0700

Fix MPEG4 decoding using TI's hardware decoder that I broke earlier...

commit 2ef78bb87cd856eb7f0b3d7dd68782a8650c12bf
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 15:43:18 2009 -0700

Now that the qcom decoder properly advertises its own custom colorspace, update dependent code to reflect this fact.

commit bbaec96910727080fd7c8a6907c04facb9f5220f
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 14:32:03 2009 -0700

Finishing up previous, incomplete change.

commit 76f14a1ae816b6f434771f8d12bdad81196f351e
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 14:25:17 2009 -0700

The TI video decoder now properly decoder AVC/H.264 content.

commit e106130d8c100d5c94603e43864a7a93cca10252
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 08:56:04 2009 -0700

Experimental support for the TI H.264 decoder, various modifications to OMXDecoder, non-functional still.

commit 241c3062dec3447db1a1ee74558cb4b9098fc404
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 21 12:13:09 2009 -0700

Enable TI hardware OMX decoders (except for AVC/H.264 which still has issues).

This particular set of OMX nodes does not appear to properly return our buffers when sending the "disable" command on a port. Rather it reqires manually flushing that port and _then_ disabling it instead.

commit 1c34506a46e32ce25f2a86f3b4250dcfc037356a
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 21 08:51:35 2009 -0700

Make it simpler to switch between the stagefright player and PVPlayer.

commit 249c6de05671d403f8dd51f095d49bf190430c9c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 20 14:38:15 2009 -0700

Prepare to use soon-to-be-available hardware decoders in the OMX decoder.
edia/stagefright/OMXDecoder.h
edia/stagefright/TIHardwareRenderer.h
3026a023b8979b7ddcb3fe97bbc45531c89fda92 27-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2001517: AudioTrack compatibility issue.

Modified enum values in AudioFormat.java and AudioSystem.h.
Added code for backward compatibility in AudioTrack.java and AudioRecord.java.
edia/AudioSystem.h
a553c25b33c99b345cf1c8688f8df0ed8df14e5a 17-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1795088 Improve audio routing code

Initial commit for review.
Integrated comments after patch set 1 review.
Fixed lockup in AudioFlinger::ThreadBase::exit()
Fixed lockup when playing tone with AudioPlocyService startTone()
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
edia/IAudioPolicyService.h
rivate/media/AudioTrackShared.h
ts/TtsEngine.h
bc7269278042e448299c2e80e4dbb16fed05791d 21-Jul-2009 niko <niko@google.com> Added native metadata support.

Metadata.java:
Fixed typo 8k != 8092. The comment was correct though.

In Metadata.h, the new Metadata class is declared in the ns android::media
to limit the chances of conflict with other packages.

The MetadataType in MediaPlayerInterface is gone and moved to Metadata as
an inner typedef.

Similarly the SortedVector<MetadataType> instance have been replace by a
new type Metadata::Filter.

All the keys declared in the java counterpart are also in Metadata.h.

Metadata.cpp:
Contains the implementation of the native metadata packing.

There an associated change in the opencore package that should go in
at the same time as this one.
edia/MediaPlayerInterface.h
edia/Metadata.h
edia/PVPlayer.h
90443e67a5fe826b9c0a4fce38febeeedac8f498 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7529

* changes:
Make MemoryDealer's destructor protected instead of public.
a8339dfec9d1b2c6d6fd2f8268f8075d184f64c0 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 9fc20b0e: Merge change 8126 into donut

Merge commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf'

* commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf':
First pass at reworking screen density/size APIs.
c4db95c077f826585d20be2f3db4043c53d30cf5 22-Jul-2009 Dianne Hackborn <hackbod@google.com> First pass at reworking screen density/size APIs.

This changes the names of the directories in aapt, to what you see
in the list of DpiTest resources. Also adds a new "long" configuration
for wide screens, which the platform sets appropriate, and introduces
a new kind of resizeability for not large but significantly larger
than normal screens which may have compatibility issues.
tils/ResourceTypes.h
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
edia/AudioRecord.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/ToneGenerator.h
edia/mediaplayer.h
edia/mediarecorder.h
rivate/media/AudioTrackShared.h
rivate/opengles/gl_context.h
ts/TtsEngine.h
i/Camera.h
i/Point.h
i/Rect.h
tils/AssetManager.h
tils/BackupHelpers.h
tils/ByteOrder.h
tils/Parcel.h
tils/ResourceTypes.h
tils/TimeUtils.h
tils/backup_helpers.h
8ed7d69f65a5c8cb380f0fc4248d286ad17138fd 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5892

* changes:
Hardware overlay support
469b4c67adc77a87eb2c9ed9217edf1778002828 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am aad0fcc9: Merge change 7783 into donut

Merge commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54'

* commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54':
Add "nodpi" density, and expose a bunch of density-related APIs.
a53b828635fce8b6b2d3e3377d74d72070056623 17-Jul-2009 Dianne Hackborn <hackbod@google.com> Add "nodpi" density, and expose a bunch of density-related APIs.

Also update the DpiTest app to use nodpi images, and try to have a mode
where it turns off compatibility though it's not quite working.
tils/ResourceTypes.h
8994837f27e783a10f5cc038a7ae7595aabffdb6 17-Jul-2009 niko <niko@google.com> Added method to get metadata out of the player.

The method passes a list of metadata ids to be retrieved and
a parcel where the metadata records should be appended.

If the list of ids is empty, all the metadata should be returned.
edia/MediaPlayerInterface.h
edia/PVPlayer.h
7013c8bb9ef94b6016c2b915e8d2369e2475aac6 17-Jul-2009 Marco Nelissen <marcone@google.com> Fixes to make libstagefright build for the simulator.
edia/stagefright/TimeSource.h
6d2090e2148996f98a5e9bc7e359e41c226f4efb 16-Jul-2009 Benny Wong <Benny.Wong@motorola.com> Hardware overlay support

Enable hardware overlay support for camera and video playback use cases
i/Overlay.h
8f5fcab05f1d6f644a9c30f012b8ff302f24a118 13-Jul-2009 Nicolas Catania <niko@google.com> New test player stub to load mock native players.

Added a new class TestPlayerStub that takes a magic url in the setDataSource call.
Based on the value of the url, the stub is going to load a DL and create the concrete
player used during the test.
After these initialization steps TestPlayerStub is just a wrapper.

Added a new functional test MediaPlayerInvokeTest to demonstrate how a new
mock player to test the invoke method can be loaded.

Added a new mock player for the invoke test: invoke_mock_media_player.cpp.
edia/MediaPlayerInterface.h
358efe418eae266734a16e9ae8f26043e9c64f05 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7332

* changes:
Squashed commit of the following:
262a583f2da846e8c74d82712957bcdcc88d169a 16-Jul-2009 Andreas Huber <andih@google.com> Make MemoryDealer's destructor protected instead of public.

MemoryDealer, like all other subclasses of RefBase,MUST NOT BE stack-allocated, a protected destructor prohibits stack-allocation while allowing the baseclass to properly invoke the subclass' destructor once the refcount drops to 0.
inder/MemoryDealer.h
e46b7be812d68e49710b34048662cbf18e2a6550 15-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 8d179995654c19d9094e51989dc84ed0deba6e04
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 16:30:40 2009 -0700

Protect stagefright code with BUILD_WITH_STAGEFRIGHT build-define.

commit 99b41acb58c34e8f024c30c833a09fd7b31c4e1f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 14:06:00 2009 -0700

OMX::list_nodes API, stagefright --list now lists all available OMX components.

commit 94a74c5b24aae6d7e446fff83d62ae3a57dc351b
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 16:04:29 2009 -0700

Reenabled "record" commandline application to test encoding, support for h263 codec specific data when writing to .mp4.

commit d363dd74f611577567c66d25900d6264c306468c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:59:58 2009 -0700

Make non-socket communication in IOMX the default.

commit e89fc82c4fd138c88339887baf72f1d0e67f8660
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:32:33 2009 -0700

The OMX interface now optionally supports communication through the binder only (no sockets involved)

commit 28611de11223fba65299787cdd33f7fdbd6a60a3
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 15:09:13 2009 -0700

Split off the logic to render to a Surface (not ISurface!) into SurfaceRender.{cpp,h}

commit c0cfa885faaeb17d3fc5436f6447b61708bd6fe1
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 12:21:46 2009 -0700

Fix display dimensions vs. decoded dimensions display issues, unfortunately breaks software rendering a bit...

commit ae209a2b5d09caed5dd383c910f238926aaa8fc6
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 09:33:29 2009 -0700

Simple video decoder performance test in "stagefright" commandline tool.

commit 59fe7840111d6f46dd3c48f4950146aed962dbd2
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 16:05:12 2009 -0700

StagefrightPlayer: Properly publish video dimensions by notifying the listener.

commit 51b6598f0e47be5e12d77f1d14e111e71c593638
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 11:38:15 2009 -0700

MediaPlayerInterface::AudioSink now supports the specification of a callback for pull-based audio.

commit 31ce53375d748da3e7d30e993ce89dae97fd65ea
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 17:23:37 2009 -0700

Proper support for pushing audio to a specified AudioSink interface. Still not bulletproof: video falls behind frequently.

commit a23e312b10631a5d47f5c9831205beac6b84ab36
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 15:10:13 2009 -0700

IGenesisPlayer and friends are no more, java interface now uses local playback instead
of playing inside the media server process.

commit 42ee5c06ab5ba1c16f50472b0b26a0526635c73c
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 13:17:03 2009 -0700

MP3 extractor now supports seeking (only fixed bitrate files currently supported)

commit 96a790405763bfa738d1c6845c99a9fdf579b66f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 7 10:53:54 2009 -0700

Keeping up-to-date with new master-gl changes, removing CameraSource for now, removing unnecessary commandline utilities from the build.

commit 6c9dcb7c628c0347154dd7f37913a3a5f04deb99
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 16:40:02 2009 -0700

Finally take advantage of the fact that the Qcom OMX decoders already place the output buffers into memory accessible by the hardware yuv converter and avoid extra allocations and memcpys in that case. Split of the render logic into subclasses of VideoRenderer.

commit e8d46e81cffc15ffb0bdf03f511e4a4497ca7621
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 12:18:29 2009 -0700

Added a few more cases of valid MPEG4 files to the sniffer, fixed end of stream notifications in MPEG4 files.

commit 88bffc5ed4033a607080f8777a1c0ec9e3e079de
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 2 12:25:03 2009 -0700

MediaPlayerImpl now properly pauses/resumes instead of tearing down the decoder chains and starting back up from the beginning.

commit 732aa0a87c7e8d8a10776b275712649954962414
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:58:56 2009 -0700

Remove pthread_mutex_* and pthread_cond_* in favour of Mutex and Condition.

commit 669e5944b2fe0542a3b8dba0c441a94503e99fb0
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:43:02 2009 -0700

Proper support for end-of-stream signalling of MediaSources.

commit afb038f2dc594c742e554b2d42b86ffc7434e3fc
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 30 16:48:03 2009 -0700

Support for the "sniffing" of datasources to determine their probable mime type (along with confidence). Slightly refactored the MP3Extractor to share common code with the sniffer.

commit ed3644b8bd56807e1db4b32433a93a2467f1f3c5
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 13:27:52 2009 -0700

I don't think prepare should automatically start the player.

commit 11eb9b49dc4a0819d366682817cba68613f4fe12
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 11:09:22 2009 -0700

Somewhat better timing information implemented in the MP3Extractor.

commit cab023a1751735c0ed26c8493498a91d8644c6c9
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 25 15:41:56 2009 -0700

Initial checkin for support of mp3 content, extraction and playback. Media extractors now abstracted in MediaExtractor baseclass.

commit 40f4146bb3c647e56690dd9b0fa3ffdea60030dc
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:41:12 2009 -0700

Make sure we only allocate surface buffers if there is video to be played.

commit 7f85e7d92fe81740e102e09905b19354f4ac178e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:19:32 2009 -0700

Clean up a failed merge and implement stub for new API in MediaPlayerBase.

commit f0e9d494a4c03402ea7b54891848ca5a50c421b2
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 15:38:03 2009 -0700

Support yuv420->rgb565 conversion if hardware color conversion is unavailable.

commit 87223248b3099cd5261b94169f84cfd1eba56a8f
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 09:35:56 2009 -0700

Remove unimplemented and currently unnecessary blocking option from MediaSource::ReadOptions.

commit e07e651f0325892b797f3eb64dbeca0f317afdfd
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 16:26:42 2009 -0700

Enable assertions in HTTPDataSource.

commit 0dc97adebea1721156880f4b3d5c70f8d50c53b2
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:39 2009 -0700

delete foo.

commit 7f05845dda496e7defee284d32509d127e785784
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:08 2009 -0700

added foo.

commit e432970c51eeec4e5d549bdb3e2d3e48ffb4f0e7
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 11:44:31 2009 -0700

Make sure to initialize all fields in _all_ constructors... Use a Mutex instead of the raw pthread_mutex_t.

commit d6286a6bbca639952491448fa3e609b775a8a814
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 17:11:49 2009 -0700

send_command is now implemented twice... ugly hack to get both shutdown working correctly and startup as well... playback now "works" on the emulator, too.

commit 8d657e004677a7c5dae4479e8519bcaa94c18aad
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 11:58:55 2009 -0700

Instead of erasing codec specific data once it's been output to the omx node, retain the data and just rewind after a stop.

commit 279fede6ba35cbc37c35616c53406bf2c9720202
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 10:58:11 2009 -0700

Various fixes related to play/pause. Decoder now properly frees OMXMediaBuffers, made MemoryDealer destructor protected instead of public to prevent accidental stack-allocation of MemoryDealer objects.

commit 0f717f15a6328efd3f34082929cd8ad2351095a9
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 08:44:12 2009 -0700

Make sure to rewind codec specific data on OMXDecoder::stop and reset AudioPlayer's notion of time mapping.

commit 0cfb63e33270daf9b215214608ab383f93a31823
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 14:25:48 2009 -0700

Massive rename.

commit 30ed8f476c4431a5275538958b3e281bd17d5eab
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 13:52:41 2009 -0700

send_command and fill/empty buffer commands must be executed in sequence, send_command is now dispatched over the socket instead of through the binder interface to ensure this.

commit b832d04011b2dd8a9632eb7e575bfe1addd1270d
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:21:17 2009 -0700

MediaBuffers can now be "clone()", they sit on top of the same data but have their own range and metadata. Once a clone's refcount drops to 0 it decrements the refcount on the original buffer.

commit 4e944672808bdf1ed40a69f3f602f93ebf7b4049
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:01:01 2009 -0700

Split MediaBuffer.h into MediaBufferGroup.h and MediaBuffer.h, same with their respective source files.

commit ddb7529b4de4828db51432bd405fddd76cfa3b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 16:30:25 2009 -0700

More fudging with A/V sync...

commit 1e5a4d8df08237b58c06c6527a33152ae931addf
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 11:54:20 2009 -0700

API cleanup of MediaSource. Got rid of MediaRing as it really doesn't serve a purpose if OMX decoders are used.

commit 0953c65232aa9753d17d2e25c5f5526eb810cf13
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 16:59:19 2009 -0700

Experimental TimedEventQueue and an attempt at a cleaner player implementation using it, OMXDecoder is now a little less verbose.

commit 2085b8ea9484a21fa11f94194a27405d413aeecc
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 10:17:01 2009 -0700

Properly bail out of the AV sync loop if the MediaPlayerImpl is stopped.

commit 471f143458a8a0d93cb1bf9568c63c3967279dc6
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 17:32:27 2009 -0700

Now this is much better AV sync, defer seeking the audio source until we know where the video source synced to.

commit 4010d371dbe62ce4971e13437776cba32cb0bb3d
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 16:01:07 2009 -0700

Tweaked some of the heuristics in AV sync, OMXDecoder is now a little less verbose, seek to a sync sample at or _after_ the requested position.

commit f3d4af1d5a4ac31fa02271b000f6c7ec593f0da9
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 15:33:58 2009 -0700

Change the TimeSource interface's APIs, prefer microseconds over milliseconds now, changed the way MediaPlayerImpl does AV sync.

commit 08bb46fa61d12e852a424698ddb0c90700328f6e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 11:57:24 2009 -0700

Using framework's Mutex and Condition classes instead of pthread functions, much saner locking in OMXDecoder.

commit 4d77b4e09e59bbf8c1af009ae7dc62b10af52fd6
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 17:12:03 2009 -0700

MediaSources now publish their format.

commit 7e429a26c57bf936e1a08035d2d11839f9f00310
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 16:38:29 2009 -0700

MetaData is now implemented in terms of KeyedVector, MetaData is now reference counted.

commit 0fa957aa5c9bcb6ec122ed7b5b97430039be6797
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 14:39:55 2009 -0700

Sync sample seek support.

commit 78a5f090d02e7e6e1a146b29bdb7771eecaa2f86
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 13:51:11 2009 -0700

Distinguish shutdown from port-flush since one requires buffers to be freed and the other one doesn't. Fixes a problem with seek.

commit e57781d3b2c985a74cd8b60e7c8f2d576459d038
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 10:52:20 2009 -0700

First shot at support for seeking a MediaSource. Sync frames are not properly handled yet.

commit 0551cd78fda78bf66877fb26c5a55e5ae23d8367
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 16:23:38 2009 -0700

Preliminary support for camera input.

commit f8ebafa65d10d5a06944de6b2e2992a33121b857
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 12:13:47 2009 -0700

Allow NativeMediaPlayer access to Surface's getISurface() method.

commit b1a9fb36eeccd9f49d28c1c64b31fccbd6506eeb
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:38:25 2009 -0700

Header files are now in their own genesis2 hierarchy below frameworks/base/include.

commit f49b8b234b8f6ce83148787eef540dd920f04aa6
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:22:03 2009 -0700

moved MPEG4Writer into libgenesis2.

commit 5224254919dac4728677335ea60429fa16f518b4
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:13:38 2009 -0700

Everything now lives in the android namespace, integrated errors with android errors, renamed MediaPlayer to MediaPlayerImpl.

commit f9a9d84f7e0465ef5d1938a068655ba39527cf99
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 16:43:11 2009 -0700

Support for getPosition() and getDuration().

commit 3206cc5140bcbc88be039f8d94b954af63e69752
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 15:37:45 2009 -0700

Support for {MediaPlayer, GenesisPlayer, Genesis2Player}::isPlaying()

commit 9f41b248e0dfce71bbc50f883750cec52ebfd1fe
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 13:49:50 2009 -0700

Proper disconnection from the OMX service.

commit cdcf47a2c31599109ee42277c7fa14af3c600091
Author: Andreas Huber <andih@google.com>
Date: Tue May 26 17:27:06 2009 -0700

New player type for the genesis player in libmediaplayerservice. Playing video through an ISurface now.

commit 0586af20ac9ae0403dd190bafd290b0f90549723
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 15:53:19 2009 -0700

Fix a buffer overflow error by adding padding in case we need to de-frame AVC data.

commit eac62fff6ad2ffb7b75c0d4a1b9620d33e93fb9b
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 13:35:30 2009 -0700

Support for http URIs in MediaPlayer, compensate for AudioTrack latency.

commit a7db456e3173d94d6b5e457547e2a6a5f7a8e1cc
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 11:33:25 2009 -0700

Support for URIs in MediaPlayer class, support for shoutcast streams in MediaPlayer, force shutdown of OMX nodes if they don't shutdown cleanly within a second.

commit 1f0268f4f14ad5215668f34e06a420850174d665
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:33:16 2009 -0700

and foo.txt is gone again.

commit 0feca4e0919f345704d78ec78894bac5027bd5ed
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:28:49 2009 -0700

added foo.txt

commit 9c7d04b35cdc895a2de3602dc46522f608bd205f
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:28:04 2009 -0700

delete foo again

commit fec3ca1720992cce51b9a92b86b945da88a6b16c
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:27:45 2009 -0700

weird

commit 30a6571302333146e537e537a3a8986245cca87c
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:18:55 2009 -0700

reverse test

commit dea3d99dd0fe9386e8a3c51954d9d0fe2be09d38
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:18:22 2009 -0700

test

commit a9eeafec6e46072cac41e54ebdbd153cb7ae7518
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 16:37:50 2009 -0700

Use the video ring again for now.

commit e05ff3d3c1c4f89ef499a2b172138a775fd694e3
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 15:42:19 2009 -0700

Export to .mp4 now works for MPEG4 video content. Fixed a bug in the sample table wrt co64 chunks.

commit 5c44c540374a4e50c4e8aaab2b7a34aed6e1391e
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 09:56:11 2009 -0700

Fix the build, all binder-related headers have moved and there's a new library libbinde
r to link against now.

commit 23e0a24404d16c898c2c6b3c7495ad303844bc71
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 08:42:04 2009 -0700

Initial checkin of MPEG4Writer, a class to export media sources into an mpeg4 file. MPEG4/AVC metadata (efss & friends) not currently working.

commit 9cd77adb1ac194197364ffad00a0d7215f458e1a
Author: Andreas Huber <andih@google.com>
Date: Wed May 20 12:31:45 2009 -0700

New shell command to test recording/encoding. Various changes to OMXDecoder to support encoding properly. Now each OMXDecoder needs a dedicated thread on the client side since onEvent responses could block which would cause deadlocks if a node depends on the output of another node for example.

commit 5c510fb55ffed7ec25305999ed9b6c1eec48d503
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 15:40:06 2009 -0700

Make media decoding the default in the genesis2 commandline app instead of shoutcast playback.

commit f6c7a2040b8eb43326621f12c3a936e09b3a70e3
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 11:03:04 2009 -0700

The king is dead, long live the kind... Replaced old OMX binder interface with new OMX binder interface/socket hybrid.

commit 0d4955eb5df9bfafb576d22f2ed572644d6d69ac
Author: Andreas Huber <andih@google.com>
Date: Thu May 14 12:39:34 2009 -0700

dynamic negotiation of NAL framing with the MPEG4Source, removed stale code from genesis2 commandline tool. Enable support form PV H264 software decoder.

commit 380369f54a8027cbc9349305184d6bf527a24efe
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 17:32:00 2009 -0700

Explore the option of running everything inside the mediaserver process by encapsulating the player in an IGenesisPlayer binder interface.

commit b5cada56b9089a23e0c461352a97dc71e08b424d
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 12:11:06 2009 -0700

Introduction of TimeSource class, clean shutdown of OMX Nodes.

commit 89f6e582e605dcb2149eb67f73fe9345d4b9be2e
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 17:11:56 2009 -0700

Helper classes MediaRing and MediaPlayer.

commit 9aaed8739b4bb941473da367fb88f63224d2f1b7
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 14:19:18 2009 -0700

Using mmap to map a file instead of going through FILE* improves performance, who knew?

commit ad097a78bbd002c59193ffdc39b64935928426c7
Author: Andreas Huber <andih@google.com>
Date: Mon May 11 16:42:42 2009 -0700

Added a performance test, refactored AudioDecoder a little.

commit bdd1b80ab3f3ba43e04f1f996e7fa84ed2e2728a
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 16:19:29 2009 -0700

No more copying the output buffers coming out of the decoder, NAL separation also done in the extractor to avoid copying the data.

commit 858955b42c29b8033841a8caaa56c2a449810ef3
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 14:02:38 2009 -0700

Change from a model in which the caller specifies the destination buffer to one where the MediaSource returns a buffer.

commit 95098b6d4f8bdc37dfb6a109ca58db4d9e414e2d
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 13:21:45 2009 -0700

Changes to support multiple pieces of codec specific data to the decoder, de-frame nal units from the h.264 stream and insert start codes

commit 3941fcf87a48dda81683df727dfb1381f62d9184
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 16:37:45 2009 -0700

some refactoring. Most streams play now.

commit d3152862840d4dd39068e5197bec8674f3d55dd5
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 15:37:32 2009 -0700

Misc. changes to support H264 decoding using the qcom hardware decoder

commit d4ecdfe7af36e7468270d1c2cbbdc540efe0351e
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 09:28:18 2009 -0700

Timestamps are now stored as a fraction, i.e. units and scale, also, PV appears to violate OMX specs by assuming timestamps are in milliseconds instead of microseconds.

commit fe6a50943f885e065d4061aa727a54417e9f36db
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 14:18:27 2009 -0700

Refactored commandline app instantiation of the decoder.

commit da1ff2724d0e78e8b360d9a2c34c55dd0e2c0492
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 10:41:14 2009 -0700

Proper audio/video synchronization.

commit 569ee3a23f600f4b6b87c6178c0223b06e97f201
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 09:17:20 2009 -0700

Preliminary support for timestamps.

commit e4e302a89207550d8a7170d8c0afbd9c15047c84
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:13:12 2009 -0700

Another quick hack job to make CachingDataSource thread-safe as well.

commit dfb376a58bd7c09aa04e89558186fcfe13fe696c
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:08:14 2009 -0700

Quick rushjob to make FileSource and SampleTable thread safe.

commit 02b29e7ebdab1f8b959b6c177ceb3b89d998f375
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 17:22:04 2009 -0700

Made video decoding work for mpeg4/h263 and mostly(?) with AVC content.

commit 3a57b8ff15e48f5a0af03bf0a99c32e240dbb7ef
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 09:26:42 2009 -0700

Getting rid of old sample code to drive the OMXNode binder interface.

commit 5b046aed0cf524a57ea711bc1e43ea80e57b2cb3
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 16:21:11 2009 -0700

Moved files from the commandline utility into the framework, renamed MP3Decoder to AudioDecoder

commit 7f3fbba21512a078b732cc52c7bd5ba5acb9a317
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 15:56:19 2009 -0700

Fixed buffer ordering and an off-by-1 error in the SampleTable code. Plays all AACs now :)

commit 024d06baab8f2c540dde16f7e7a4b6dd57f638c7
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 11:52:48 2009 -0700

Some AAC content in .3gp or .mp4 files plays correctly now, other does not. Implemented ESFS parser.

commit 1470427866b0d3e0ce6848b4edc01c13a09be289
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 30 15:19:31 2009 -0700

Another checkpoint, amr decoding now functional.

commit e612d044439f56331b6a2bc4a88622e04d4d42e7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 12:11:29 2009 -0700

string wrapper around String8, various fixes, shoutcast now works again.

commit 2ea52dfb1a39bf3a223ffc87855e54919e2daff7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 11:08:18 2009 -0700

Initial check-in of OMXNode binder interface.

commit 7880d2957f74c0d7fba7679431ff5adb3780543b
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 10:05:01 2009 -0700

Initial check-in of both libgenesis2 and the genesis2 commandline tool.
edia/IMediaPlayerService.h
edia/IOMX.h
edia/MediaPlayerInterface.h
edia/stagefright/AudioPlayer.h
edia/stagefright/AudioSource.h
edia/stagefright/CachingDataSource.h
edia/stagefright/CameraSource.h
edia/stagefright/DataSource.h
edia/stagefright/ESDS.h
edia/stagefright/FileSource.h
edia/stagefright/HTTPDataSource.h
edia/stagefright/HTTPStream.h
edia/stagefright/MP3Extractor.h
edia/stagefright/MPEG4Extractor.h
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaBuffer.h
edia/stagefright/MediaBufferGroup.h
edia/stagefright/MediaErrors.h
edia/stagefright/MediaExtractor.h
edia/stagefright/MediaPlayerImpl.h
edia/stagefright/MediaSource.h
edia/stagefright/MetaData.h
edia/stagefright/MmapSource.h
edia/stagefright/OMXClient.h
edia/stagefright/OMXDecoder.h
edia/stagefright/QComHardwareRenderer.h
edia/stagefright/SampleTable.h
edia/stagefright/ShoutcastSource.h
edia/stagefright/SoftwareRenderer.h
edia/stagefright/SurfaceRenderer.h
edia/stagefright/TimeSource.h
edia/stagefright/TimedEventQueue.h
edia/stagefright/Utils.h
edia/stagefright/VideoRenderer.h
edia/stagefright/string.h
1d9dfc5dcf459e85cffcb762ffdb9b9a4abbfd67 16-Jul-2009 Mike Lockwood <lockwood@android.com> EventHub: Add support for excluding devices from being opened by as a keyboard.

This will be used to avoid unnecessarily listening to data from sensors
that function as event devices.

Signed-off-by: Mike Lockwood <lockwood@android.com>
i/EventHub.h
201e3abd3beee68cee7633c099c46fcf81ec802e 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7150

* changes:
Ignore pause and seek for live streaming.
85d1f158267d64b5660e86fab0baf0432c1dcfbd 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7353

* changes:
Implement virtual button support.
e3dd884815b2aaeec4241859722ab603e0b1466b 14-Jul-2009 Dianne Hackborn <hackbod@google.com> Implement virtual button support.

The kernel can now publish a property describing the layout of virtual
hardware buttons on the touchscreen. These outside of the display
area (outside of the absolute x and y controller range the driver
reports), and when the user presses on them a key event will be
generated rather than a touch event.

This also includes a number of tweaks to the absolute controller
processing to make things work better on the new screens. For
example, we now reject down events outside of the display area.

Still left to be done is the ability to cancel a key down event,
so the user can slide up from the virtual keys to the touch screen
without causing a virtual key to execute.
i/EventHub.h
b3dfca197c63a7ed5434a0b126c9d3b30ae9682b 04-Jun-2009 Ravi K Yenduri <yenduri@pv.com> Ignore pause and seek for live streaming.
edia/PVPlayer.h
fb4f266a1b9f6a20e256d192a940ae4ccc510fad 14-Jul-2009 Mathias Agopian <mathias@google.com> add a ctor to Mutex to specify the type, which can be shared. This is used by sf and af an soon will allow some optimization in the kernel for non shared mutexes
rivate/ui/SharedState.h
tils/threads.h
b1c4ca5ad21ae63cd5af2cfc1be82ba176d25195 13-Jul-2009 Mathias Agopian <mathias@google.com> implement Mutex and Condition with pthread instead of calling futex directly.

internally pthread uses futex. the implementation consists of simple inlines
there are no implementation files anymore.
rivate/utils/futex_synchro.h
tils/threads.h
5d55c7119820ee9bb06fc072e416fe98ba77cd28 09-Jul-2009 Nicolas Catania <niko@google.com> Basic plumbing to retrieve metadata from the native player.

IMediaPlayer.h
Added a getMetadata method that mirrors the on in MediaPlayer.java.

MediaPlayer.java
Added a native method to get the metadata from the native player.
Parse the parcel into a Metadata object.

Metadata.java
Added a stub to parse the Parcel returned by the native player into
a set of metadata.

android_media_MediaPlayer.cpp
JNI call to forward the getMetadata call.

MediaPlayerService.cpp
MediaPlayerService::Client implements the new getMetadata method added in IMediaPlayer.h
edia/IMediaPlayer.h
edia/mediaplayer.h
c494ba2544699e576370b35b7e94fe09e29d1226 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6636

* changes:
Implemented the metadata changed notification filters.
e2bf80fb0bfd944ef45d60bdc469d85734527363 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 8a715b4b: Merge change 5510 into donut

Merge commit '8a715b4b791db4390d12e0ded02280592634a424'

* commit '8a715b4b791db4390d12e0ded02280592634a424':
Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32
b2c693919be966f179080a9ec70a7a82dbf57627 08-Jul-2009 Nicolas Catania <niko@google.com> Implemented the metadata changed notification filters.

IMediaPlayer:
new setMetadataFilter method so set a filter (2 lists of allowed and blocked metadata type)
serialized in a Parcel.

MediaPlayer.java/android_media_MediaPlayer.cpp/mediaplayer.cpp
new setMetadataFilter that passes the filter down to the MediaPlayerService's binder interface.

MediaPlayerService.cpp
The Client inner class holds the allowed and blocked metadata types.
These are in 2 vectors that get populated in the setMetadataFilter.

A new shourldDropMetadata method returns true if a type of metadata should be dropped according
to the filters.

The notify method in run the metadata update notifications thru the filter and possibly drop them.
edia/IMediaPlayer.h
edia/mediaplayer.h
8a715b4b791db4390d12e0ded02280592634a424 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5510 into donut

* changes:
Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32 It will be used in SQL functions in external/sqlite/android. See https://android-git.corp.google.com/g/Gerrit#change,5511 for example.
ec109bdd3982590709155006c1eb2e70c33015f0 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6560

* changes:
resolved conflicts for merge of 04c7d0f8 to master
6698d16b951370a0cc6aa87bcd2ca91122a57410 09-Jul-2009 Dave Sparks <davidsparks@android.com> resolved conflicts for merge of 04c7d0f8 to master
f05b33b3a1cff40972a735ff1fb4ed6e8bfeaf2a 30-Jun-2009 Daisuke Miyakawa <dmiyakawa@google.com> Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32
It will be used in SQL functions in external/sqlite/android.
See https://android-git.corp.google.com/g/Gerrit#change,5511 for example.

Related internal bug id: 1707173
tils/String8.h
f6807d73d018683f339710058e30b95240050688 09-Jul-2009 Marco Nelissen <marcone@google.com> Add a virtual destructor to the TtsEngine class.
ts/TtsEngine.h
59c1a935295cb30c2ba2f759855e89c174b42a07 09-Jul-2009 Dave Sparks <davidsparks@android.com> Add timestamps to video frames to improve A/V sync.
Bug 1927069.
i/Camera.h
i/CameraHardwareInterface.h
i/ICameraClient.h
42a3265cfb93f28d977353b8fe7a8b350de09fd0 07-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6382

* changes:
add a virtual destructor to region_rasterizer, to be on the safe side
eb0ccd5c7ba5ea63f60a927b3e5e7f10bfacff48 07-Jul-2009 Mathias Agopian <mathias@google.com> add a virtual destructor to region_rasterizer, to be on the safe side
rivate/ui/RegionHelper.h
ca2bc75aac473b0b71f1e95c4527d862746b3efd 07-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6361

* changes:
Fix sim build.
74598566ba4190be4125cea2f087a813f450fbdf 07-Jul-2009 Andy McFadden <fadden@android.com> Fix sim build.

Looks like older gcc (4.1.x) doesn't properly handle templated
fanciness. Apparently that's what we have on the build server.
tils/List.h
fcc5be99e0497f25a12e77622c27b4de30e45b3d 07-Jul-2009 Eric Laurent <elaurent@google.com> am 88e209dc: Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Merge commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c'

* commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c':
Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
88e209dcf8c2ebddda5c272f46d1bd5478bc639c 07-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Store sample rate on 32 bits instead of 16 bits in audio_track_cblk_t.
Removed sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate().
AudioTrack::setSampleRate() no returns a status.
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
03a9a3449af3e0e79e9bbcd87f8057189ab9e151 06-Jul-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
17ffe1018c506272da45be6b35caf859bc2582f1 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 991eec03: Merge change 6252 into donut

Merge commit '991eec03a73f8803d0f8c80b418480ea25293cfb'

* commit '991eec03a73f8803d0f8c80b418480ea25293cfb':
Don't re-parse the framework resources all the time.
78c405178c57bb45e40f1e2839d6a18d91f7f02c 06-Jul-2009 Dianne Hackborn <hackbod@google.com> Don't re-parse the framework resources all the time.

A small optimization to the resource code, to not re-parse the framework
resources every time we build a new AssetManager. Instead, you can now
construct a ResTable from a previously created one... of course, like the
existing code for using the data in-place, you can't delete the original
ResTable until you have deleted the one that has been constructed from it.
tils/AssetManager.h
tils/ResourceTypes.h
fee47b699f51e52d3551c0fdbcc9fc2760a0d837 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am c7396025: Merge change 6084 into donut

Merge commit 'c7396025e59524e7ef639fd86fc23123939ee91c'

* commit 'c7396025e59524e7ef639fd86fc23123939ee91c':
Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)
d763b5d9197e01662cafa376e1227e53e0463a3c 03-Jul-2009 Mathias Agopian <mathias@google.com> get rid of references to MemoryDealer in SurfaceFlinger
i/ISurfaceComposer.h
i/ISurfaceFlingerClient.h
i/SurfaceComposerClient.h
a1b653d41df9a7999e1dba2a508295671ff6771d 02-Jul-2009 James Dong <jdong@google.com> Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)
i/Camera.h
d96e0b0cf14f159d96502a4caf8aa2a33c334a99 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 6e1647a2: Merge change 5829 into donut

Merge commit '6e1647a212317f4ee8bcc23948b6621a59172954'

* commit '6e1647a212317f4ee8bcc23948b6621a59172954':
Fix issue #1673793: Theme styles don't apply.
dfe983bd7979ccb1602f29b8f9804c98411d9cd6 02-Jul-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
b66cd86a2de857885c7e00218b7aa64d23795253 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am bd9aa793: Merge change 5593 into donut

Merge commit 'bd9aa793b19f7aa529ca4123492f8940b96486b8'

* commit 'bd9aa793b19f7aa529ca4123492f8940b96486b8':
Add in TTS engine interface the methods to query the availability for a language,
de7faf658cd40d34c08a98b39477055da8e19172 30-Jun-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1673793: Theme styles don't apply.

It turns out this was not a problem in the resource code at all. Rather,
the system process has a cache of pre-loaded attributes it uses to avoid
continually reloading things as it needs them. Well it turns out this
cache wasn't flushed after a package was uninstalled or a configuration
changed, so you could re-install an app where you change its style resources
so its theme now points to one that is inconsistent in the cache.

This is mostly a problem for developers, where they continually install
new versions of an app where resources have changed. This could possibly
show up when updating an app on a normal phone, although the problem would
eventually correct itself since this cache uses weak references.

Anyway, the cache is now reworked to be flushed appropriately.

This change also includes an update to aapt to be able to dump the
contents of bags in resources.
tils/ResourceTypes.h
276826bae2eb6d25c4abb1c5f665d2876c65e50c 30-Jun-2009 Mathias Agopian <mathias@google.com> Region::makeBoundsSelf() efficiently turns a region to its bounds
i/Region.h
6034cb565c3b3ffb21057851cff179e2d5cb56a9 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 17a80081: Merge change 5544 into donut

Merge commit '17a80081a42410f541a220ab7e6afc64fc6cc399'

* commit '17a80081a42410f541a220ab7e6afc64fc6cc399':
Pipe all the camera callbacks to Java to facilitate the addition
f6ff591decdea6299aab1a5b6f95917800571de4 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 72eb0aca: Merge change 5483 into donut

Merge commit '72eb0acad5cffc57ce5006f6deab29ee259e461e'

* commit '72eb0acad5cffc57ce5006f6deab29ee259e461e':
Expand support for different screen sizes.
bd9aa793b19f7aa529ca4123492f8940b96486b8 29-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5593 into donut

* changes:
Add in TTS engine interface the methods to query the availability for a language, to set the synthesis audio format, to query the current language, country and variant setting.
287148b80b1eb0e248994410cb24ecce5edda386 27-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Add in TTS engine interface the methods to query the availability for a language,
to set the synthesis audio format, to query the current language, country and
variant setting.
ts/TtsEngine.h
5a8d6f44b2ec9132848aee5f608447ff801951b2 27-Jun-2009 Mathias Agopian <mathias@google.com> return bounds Rect by value
i/Region.h
17a80081a42410f541a220ab7e6afc64fc6cc399 26-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5544 into donut

* changes:
Pipe all the camera callbacks to Java to facilitate the addition of new features. This will make it easy to add things like zoom callbacks without modifying the entire camera stack. Bug 1837832.
723738cfaec3dd7b0fe152c872c41bebf94074c4 26-Jun-2009 Dianne Hackborn <hackbod@google.com> Expand support for different screen sizes.

Applications can now declare that they support small, normal, or
large screens. Resource selection can also be done based on these
sizes. By default, pre-Donut apps are false for small and large,
and Donut or later apps are assumed to support all sizes. In either
case they can use <supports-screens> in their manifest to declare
what they actually support.
tils/ResourceTypes.h
c62f9bd13327937aa2d2f20b44215397120634c1 26-Jun-2009 Dave Sparks <davidsparks@android.com> Pipe all the camera callbacks to Java to facilitate the addition
of new features. This will make it easy to add things like zoom
callbacks without modifying the entire camera stack.
Bug 1837832.
i/Camera.h
cf906decf11970bc55074383b20efc4f9756f509 26-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am b65dba45: Merge change 5470 into donut

Merge commit 'b65dba4560f7aff894ebcdbe8468daeaae3489c8'

* commit 'b65dba4560f7aff894ebcdbe8468daeaae3489c8':
Use the same interface in the TTS engine interface for setLanguage and loadLanguage.
d6d03e05bed76a49b8badda98e471bf36304b6ef 26-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Use the same interface in the TTS engine interface for setLanguage and loadLanguage.
Adding function to check the support level for a language in TTS engine interface.
ts/TtsEngine.h
1f7300818fae32dcef5a5387b04c8f304b5e1cd5 26-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am c44989d6: Merge change 5350 into donut

Merge commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e'

* commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e':
move ui/Time.cpp to core/jni, since this is the only place it is used
864c0d50cda714d73fa70e3600ec36b5db8a835a 25-Jun-2009 Mathias Agopian <mathias@google.com> move ui/Time.cpp to core/jni, since this is the only place it is used
tils/TimeUtils.h
26c28b16f3464eeb98b091b915ccf494ac31c35f 25-Jun-2009 Mathias Agopian <mathias@google.com> make use of new eglGetRenderBufferANDROID extension to clean-up a bit a few hacks added recently
i/FramebufferNativeWindow.h
cbc4c9f8d56317b2fe8964c15c9785ebeef98ca7 24-Jun-2009 Mathias Agopian <mathias@google.com> hack copybit back in for video playback on msm7k. we have h/w accelerated video again
i/FramebufferNativeWindow.h
f31868e59fbf59a8d479587c80b648fb37a166fc 25-Jun-2009 Mathias Agopian <mathias@google.com> merge master in master_gl
60965876d81bc7c327a6fd8360b46a85e3d9f4de 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am df65b60c: Merge change 5243 into donut

Merge commit 'df65b60ce33e5a56815864f8f0713e25378fa649'

* commit 'df65b60ce33e5a56815864f8f0713e25378fa649':
Only report "unknown metadata" once per restore helper
6f7e0dbdf6108e8f3664d1aa7ac72691f23a03d4 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am a93466f5: Merge change 5220 into donut

Merge commit 'a93466f5ca41c2ba6c3524c8d1edc2138bf753e3'

* commit 'a93466f5ca41c2ba6c3524c8d1edc2138bf753e3':
Cleanup header file. Disallow copy of Camera object by making copy
df65b60ce33e5a56815864f8f0713e25378fa649 24-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5243 into donut

* changes:
Only report "unknown metadata" once per restore helper
63bcb79dd437e70593b63cc5a87baab3251c2183 24-Jun-2009 Christopher Tate <ctate@google.com> Only report "unknown metadata" once per restore helper

Also removes the auto-free object, replacing it with direct memory manipulation.
tils/BackupHelpers.h
e5b3607a0a7f3eebac82595624efe8d5b07f0a61 24-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am eaa89f74: Merge change 5172 into donut

Merge commit 'eaa89f74c04c0f10d5f3f8190b457087537bff2e'

* commit 'eaa89f74c04c0f10d5f3f8190b457087537bff2e':
Remove deprecated callback function support.
2387208c9ecb5dba01bd933312c80c5133bd3c41 24-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 3d7b8d1a: Merge change 5158 into donut

Merge commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282'

* commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282':
Use a ref-counted callback interface for Camera.
6f0602e84a0387fe9239a57f44785de40feb051c 24-Jun-2009 Dave Sparks <davidsparks@android.com> Cleanup header file. Disallow copy of Camera object by making copy
constructor and operator= private.
i/Camera.h
20cb94eeb5b9672573fc86bf51e09bd66a774581 13-May-2009 Nicolas Catania <niko@google.com> Direct api to the native media player.

MediaPlayer.java has 3 new methods:
* newRequest creates a Parcel that can be used to send data to the
native player using invoke.
* invoke issues synchronous calls to the native player using opaque
parcels for the request and reply.

IMediaPlayer.h has 1 new abstract method:
* invoke

The Midi and Vorbis players have a stub for these. So far only PV
makes use of that new feature.

To avoid any copy overhead, the JNI interface uses Parcel as a java
object (no serialization/copy happens at the JNI layer).

The remote interface token is inserted when the Parcel is constructed
in java. That way the parcel is already routable when it reaches
IMediaPlayer.cpp (proxy). No extra copy is needed there.
edia/IMediaPlayer.h
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/PVPlayer.h
edia/mediaplayer.h
b1dffc48ca8aec61d99391495b3f436d0e8b16dd 24-Jun-2009 Dave Sparks <davidsparks@android.com> Remove deprecated callback function support.
This is the last of a 3-part change to modify the camera to use
a more streamlined callback interface. This change removes the
old code.
Bug 1884362
i/Camera.h
5e27115995c4506dddf4f1271effd4fb4c935ad3 24-Jun-2009 Dave Sparks <davidsparks@android.com> Use a ref-counted callback interface for Camera.
This allows the camera service to hang onto the callback interface
until all callbacks have been processed. This prevents problems
where pending callbacks in binder worker threads are processed
after the Java camera object and its associated native resources
have been released.
Bug 1884362
i/Camera.h
cf01aa3cfff321a774139c054e7cfc262ee27921 23-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 1bee98af: Merge change 5100 into donut

Merge commit '1bee98af6532eba3c6cda636eee890530c95a2a7'

* commit '1bee98af6532eba3c6cda636eee890530c95a2a7':
Fill in CDMA gaps and clean up ToneGenerator code
1bee98af6532eba3c6cda636eee890530c95a2a7 23-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5100 into donut

* changes:
Fill in CDMA gaps and clean up ToneGenerator code
9bfd5f495bdc0d704d85fa95b67845099d9b9f48 23-Jun-2009 Christopher Tate <ctate@google.com> am 11b15779: Add file mode to the file-backup saved state blobs

Merge commit '11b157790234d3d2f116ce4c7ed1d3d00fb78bc3'

* commit '11b157790234d3d2f116ce4c7ed1d3d00fb78bc3':
Add file mode to the file-backup saved state blobs
11b157790234d3d2f116ce4c7ed1d3d00fb78bc3 23-Jun-2009 Christopher Tate <ctate@google.com> Add file mode to the file-backup saved state blobs

This change puts the file's access mode into the saved-state blob used by the
file backup helpers. The tests have been updated for the new blob content
format.

What this change *doesn't* do is actually backup/restore the file mode. This
change is a prerequisite for that, but mode preservation in backup/restore will
require adding metadata to the backup data stream itself, so will be approached
a bit more carefully.

(Also fixed one outright bug in the test program: ReadEntityData() had been
changed to return a ssize_t union of either a byte-count or a negative number
indicating error, but the test program was still assuming that nonzero == error,
and was spuriously failing.)
tils/BackupHelpers.h
b6d90ca1292ffab015d5068f9e184b1dc84b7233 17-Jun-2009 David Krause <david.krause@motorola.com> Fill in CDMA gaps and clean up ToneGenerator code
edia/ToneGenerator.h
ffa5a5a3dbef79dc6958c629080b1a6438a7b637 23-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5277103d: Merge change 5035 into donut

Merge commit '5277103db9033226814edc8fcba6f4ba4e846678'

* commit '5277103db9033226814edc8fcba6f4ba4e846678':
add glTexParameteri() and fix glTexParameteriv()
aaf4b6b3315fc546396a4b82c8c5cab0c2d2cb85 23-Jun-2009 Mathias Agopian <mathias@google.com> add glTexParameteri() and fix glTexParameteriv()
rivate/opengles/gl_context.h
69d13f6680c19a39a849484403495daf388416ea 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 72be4049: Merge change 4910 into donut

Merge commit '72be40490951d3f9d0ada16fcf5288d0c3306d88'

* commit '72be40490951d3f9d0ada16fcf5288d0c3306d88':
fix warnings that will show up with GCC 4.4 (in master)
72be40490951d3f9d0ada16fcf5288d0c3306d88 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4910 into donut

* changes:
fix warnings that will show up with GCC 4.4 (in master)
4527acb0c39258792ae55604cb4d71006bf8d938 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 856dd8a6: Merge change 4952 into donut

Merge commit '856dd8a60a70a5b7dca2bf2114872ce063e2ad60'

* commit '856dd8a60a70a5b7dca2bf2114872ce063e2ad60':
Helper API cleanup. Allows multiple helpers to function,
06290a4bb9b280fa14a2bbeb2d3ceb09396a78c3 19-Jun-2009 Joe Onorato <joeo@android.com> Helper API cleanup. Allows multiple helpers to function,
because they'll always go in the same order, and this lets
us not have to write headers to keep them paired.
tils/BackupHelpers.h
5f91097b26f036a45e32f4e4cae3e9e135a6042d 22-Jun-2009 Mathias Agopian <mathias@google.com> fix warnings that will show up with GCC 4.4 (in master)
tils/ResourceTypes.h
ab445152f94460281aab87fc123c935b67857e81 22-Jun-2009 Mathias Agopian <mathias@google.com> improve Vector<> with types that can be trivially moved and remove some unused code.

This optimization applies to sp<> and wp<> which should now perform about the same as regular pointers when placed in to Vector<>.
tils/SortedVector.h
tils/TypeHelpers.h
tils/Vector.h
tils/VectorImpl.h
f73bbd042367b65780316d2335784686dedd0459 20-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
fc68623c03439db95401a18a435dbc491cd7f6fd 20-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 1585bd24: Merge change 4828 into donut

Merge commit '1585bd24c10d16351f89e32dddbfa799f18db6bd'

* commit '1585bd24c10d16351f89e32dddbfa799f18db6bd':
Report densities in badging, debugging for nine patch bug.
e17086ba346009a26cc2299b133a0fe602acb6ec 20-Jun-2009 Dianne Hackborn <hackbod@google.com> Report densities in badging, debugging for nine patch bug.

The aapt tool now reports all available densities like it already did
for locales. Also this includes more resource data output, which I
was using to examine bug #1867049 (which at this point I am unable to
reproduce).
tils/ResourceTypes.h
f923ed6ff76a0fd022bcc83e748e82266ba4ed1b 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5502f04c: Merge change 4709 into donut

Merge commit '5502f04c1dcf2b1918858bacb99fb0480a711707'

* commit '5502f04c1dcf2b1918858bacb99fb0480a711707':
backup stuff
1c14776a13546fc2642baa251c8f1b7c545b0272 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 16ce3504: Merge change 4708 into donut

Merge commit '16ce3504c5bf98d95d5c36001f755bb4b15253c9'

* commit '16ce3504c5bf98d95d5c36001f755bb4b15253c9':
Make RestoreHelper and friends also write out the snapshot state.
5d605dc56b036232e885f6ec36b888b729673060 19-Jun-2009 Joe Onorato <joeo@android.com> backup stuff
tils/BackupHelpers.h
d2d9ceb7305d593c1b767bbb05de0082a9af4109 18-Jun-2009 Joe Onorato <joeo@android.com> Make RestoreHelper and friends also write out the snapshot state.
tils/BackupHelpers.h
6f8b5c12d3a3a02c5d38e3f54117cb6d65e0d4a6 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am de72697b: Merge change 4524 into donut

Merge commit 'de72697b771d33738c5f9d6c28087504e0796622'

* commit 'de72697b771d33738c5f9d6c28087504e0796622':
FileRestoreHelper and RestoreHelperDispatcher work.
efd0fab04b96d7ab0c1d8bf3b79397c8621e31c5 18-Jun-2009 Joe Onorato <joeo@android.com> FileRestoreHelper and RestoreHelperDispatcher work.
tils/BackupHelpers.h
251c89c0a7502f4286f2484a77b685ddfe2b39d2 18-Jun-2009 Joe Onorato <joeo@android.com> am 5f15d151: checkpoint BackupDatAInput / RestoreHelper

Merge commit '5f15d151b5101fadfe6cba1e8f4aa6367e8c603e'

* commit '5f15d151b5101fadfe6cba1e8f4aa6367e8c603e':
checkpoint BackupDatAInput / RestoreHelper
5f15d151b5101fadfe6cba1e8f4aa6367e8c603e 16-Jun-2009 Joe Onorato <joeo@android.com> checkpoint BackupDatAInput / RestoreHelper
tils/BackupHelpers.h
c1760fa84c1ac59793f8a23bb5a311ef9b5fc469 17-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am f1170fb5: Merge change 4251 into donut

Merge commit 'f1170fb5386ea86d704480d321ee9d1ee4858244'

* commit 'f1170fb5386ea86d704480d321ee9d1ee4858244':
Updating TTS engine interface for setting the language based on language, country and variant codes
35a8e80bf8cbe3c64fdf59a4a8b7d33bb1cfbb2d 16-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Updating TTS engine interface for setting the language based on language, country and variant codes
coming from a java.util.Locale instance.
ts/TtsEngine.h
69f066c8fc42b9f0acc5c41f8ffd972f8d6d0584 16-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
151e859e0fc3a930bdf6d270d275e69e9eba0cbf 16-Jun-2009 Mathias Agopian <mathias@google.com> new Permission class used to improve permission checks speed (by caching results)
inder/IServiceManager.h
inder/Permission.h
5f80742306d6d66b1641f96b57ad819c3667b18e 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am d670b8c6: Merge change 3981 into donut

Merge commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a'

* commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a':
Removed trailing whitespaces.
d670b8c61ebd13324ac21bdbc08d8a02fc0a765a 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3981 into donut

* changes:
Removed trailing whitespaces.
bf85d63cb8858432ff845250fdaffdb556d2ef1b 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 78f0f8cb: Merge changes 3953,3954 into donut

Merge commit '78f0f8cb2efe9410127c39201e240f6d438eb53c'

* commit '78f0f8cb2efe9410127c39201e240f6d438eb53c':
Make the file backup helper not crash if a file you requested
Fix SharedPrefsBackupHelper so it doesn't hard code the paths to the files.
32f82774884bdd709789ab9f3ccdf5b972ff7681 12-Jun-2009 Nicolas Catania <niko@google.com> Removed trailing whitespaces.
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
ce88cb15b52998e16c3ba548a4ec49117a835e21 11-Jun-2009 Joe Onorato <joeo@android.com> Make the file backup helper not crash if a file you requested
can't be stated. This means you don't need to know if the files
you are backing up exist or not -- we'll figure it out for you.
tils/BackupHelpers.h
23ecae3bbb60c5af940f3a22170d75eb6ac05b69 11-Jun-2009 Joe Onorato <joeo@android.com> Fix SharedPrefsBackupHelper so it doesn't hard code the paths to the files.

This took quite a bit of refactoring.
tils/BackupHelpers.h
350d651706d8f484d9aeb539d491526f822fa84a 11-Jun-2009 Mathias Agopian <mathias@google.com> fix a bug where copybit only renders in the first buffer when used with s/w GL
rivate/opengles/gl_context.h
07fcf4c3a91e421dc6f3d17f28264d18e8b2bfdb 10-Jun-2009 Mathias Agopian <mathias@google.com> revive the copybit test.
rivate/ui/SurfaceBuffer.h
f5b746e15708bea6a8ef5bb7f7cfea03d7415a7f 09-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am b2df1699: Merge change 1548 into donut

Merge commit 'b2df1699c996e62baa78877978cd2c5607ea4194'

* commit 'b2df1699c996e62baa78877978cd2c5607ea4194':
NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
b2df1699c996e62baa78877978cd2c5607ea4194 09-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1548 into donut

* changes:
NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
2bcda90c0234f67f210a96f195b355493ca7d1ff 08-Jun-2009 Jianhong Jiang <jianhong@google.com> NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
edia/mediarecorder.h
ffa3ddfb706ffdd54ae525aa74c0a62d206b61b5 06-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am e3523054: Merge change 3356 into donut

Merge commit 'e3523054ded8c6e86935a978aa136c3ed2c0ba12'

* commit 'e3523054ded8c6e86935a978aa136c3ed2c0ba12':
Cleaning up comments in interface for TTS engines.
7ab512096ac84c2fe2ffc31305ca5c1ea39aadaf 06-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 327da854: Merge change 3344 into donut

Merge commit '327da854e8fbc444150b40941668b3c9187c34b9'

* commit '327da854e8fbc444150b40941668b3c9187c34b9':
Updating TtsEngine.h and SynthProxy.cpp so that buffer memory
6270d6100e8fa1a986794bfcd61166f2715b6d21 06-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Cleaning up comments in interface for TTS engines.
ts/TtsEngine.h
51c8a3e00e6cffe42d25d1ac87d417e925d8a84d 06-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
e583a4ea8c90105eee9b408d39bca3a4af6a2569 06-Jun-2009 Mathias Agopian <mathias@google.com> get rid of LogSocket which wasn't even implemented (enabled)
tils/LogSocket.h
55e3d60da5626752ffe1d15150d35ccb8fa644e7 05-Jun-2009 Mathias Agopian <mathias@google.com> break dependency on utils/ZipEntry.h and utils/ZipFile.h, get rid of inet_address.h and Socket.h which were not used
tils/Socket.h
tils/ZipEntry.h
tils/ZipFile.h
tils/inet_address.h
83e712a1420adf035f66bc7656ddd8a87069f6a7 05-Jun-2009 Charles Chen <clchen@google.com> Updating TtsEngine.h and SynthProxy.cpp so that buffer memory
management is handled on the system side.
ts/TtsEngine.h
8ed6beb515460001a0f5ee91b874289fbb053768 05-Jun-2009 Mathias Agopian <mathias@google.com> rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file.

StringArray is used in two places in framework/base and in the Sim. Ideally we should get rid of it and use Vector<String8> instead of creating new code.
tils/StringArray.h
tils/string_array.h
eb22c5b358af775a5f1192fc248594c7a0025d56 05-Jun-2009 Mathias Agopian <mathias@google.com> cleanup Debug.h a bit
rivate/ui/SharedState.h
tils/Debug.h
1b6aee15157f0236ac1fc7885735609bf27171d3 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 2a318867: Merge change 3203 into donut

Merge commit '2a3188672ab2b65c0ce7c9c598a463e382c47696'

* commit '2a3188672ab2b65c0ce7c9c598a463e382c47696':
rename a few files to camel-case, add copyright notices
2d5ee25556cb363700dc5127f88ca05fb9493e14 05-Jun-2009 Mathias Agopian <mathias@google.com> fix a bunch of problems with destroying surfaces.

now, all destruction path, go through the purgatory which is emptied when ~ISurface is called, but we also make sure to remove the surface from the current list from there (in case a client forgot to request the destruction explicitely).
i/ISurfaceComposer.h
8ae2335a3c93d0c00e998fdec18f64dfe43b94cb 04-Jun-2009 Mathias Agopian <mathias@google.com> rename a few files to camel-case, add copyright notices
tils/BackupHelpers.h
tils/backup_helpers.h
0db8bef9542ddc8589219cfe891490b40ad3efcc 04-Jun-2009 Ravi K Yenduri <yenduri@pv.com> Ignore pause and seek for live streaming.
edia/PVPlayer.h
5fbcaf9a90ca57b81739112c20859ef55fe18336 01-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
ee01b1cab5ae8ea90de15a6a4ca7332f87361bbb 01-Jun-2009 Mathias Agopian <mathias@google.com> move utils/Pipe.h to the simulator
tils/Pipe.h
696959c7b6c5d8d1d1fbccdc5c1e9ae09363c064 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of TimerProbe which is never used
tils/TimerProbe.h
14f955b5d76233668f6bb0e9642daa8a59fa42cc 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of sleepForInterval() which didn't seem to be used anywhere in the source tree. Also get rid of ported.h which seem to be used only (possibly) in the sim. moved the implementation there.
tils/Timers.h
tils/ported.h
3b4062eeb01be33951ba214e027da523cf09f8b1 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of utils.h
edia/mediarecorder.h
edia/mediascanner.h
i/EventHub.h
tils.h
tils/misc.h
abe00fdee08577eb0fa2e5d220e91317b8f883a8 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of utils/executablepath.h, which now lives in the simulator
tils/executablepath.h
4398876d6ec2dd3102acb3da4980f8e53243d372 31-May-2009 Mathias Agopian <mathias@google.com> merge master to master_gl
6ec711f4b17dbdccffa3a50b4dad7a1cb9b53aad 30-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 11b1675a: Merge change 2626 into donut

Merge commit '11b1675a9348adabd9370ac01ae9c614ca4af384'

* commit '11b1675a9348adabd9370ac01ae9c614ca4af384':
Adding TTS error code to signal missing resources (for instance missing language files).
e9d7445acea438b731273ac91114426bf1e5056c 28-May-2009 Mathias Agopian <mathias@google.com> force explicit instantiation of Singleton<> objects
tils/Singleton.h
14f861a24af316ec6d60ef8f17c954b50a7f6fec 28-May-2009 Jean-Michel Trivi <jmtrivi@google.com> Adding TTS error code to signal missing resources (for instance missing language files).
ts/TtsEngine.h
12c659a50ca1407a40f9f7dbf0dc8c174c7d3493 28-May-2009 Mathias Agopian <mathias@google.com> make sure the Region code disallows constructs like "(a+b)=c;", which is somewhat meaningless.
i/Region.h
8fe8a18160571621d0ce24c74b9ff943f8ad4ca3 28-May-2009 Mathias Agopian <mathias@google.com> oops forgot these changes in the previous merge. fixes build
i/Rect.h
2da99bdaa1712f00525e6a84b58044332cb1baef 27-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
include/ui/Rect.h
libs/ui/ISurfaceComposer.cpp
09d00f705be5dbc1766e12e47c0a743abbad360e 27-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 0c0ad39c: Merge change 2502 into donut

Merge commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0'

* commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0':
minor clean-up to Rect and Point.
f1472a79728324f4f6b5d66af986e9e9db24d0aa 27-May-2009 Mathias Agopian <mathias@google.com> minor clean-up to Rect and Point.

- return "const" objects for overloaded operators to disallow constructs like: (a+b) = c;
- don't return references to non-static members, it's not always safe.
- Point.cpp was empty, so get rid of it
i/Point.h
i/Rect.h
aaf834a284a025cedd8ec1cf01d09e1790c1dcf8 23-May-2009 Mathias Agopian <mathias@google.com> some work to try to reduce the code size of some native libraries

- make sure that all binder Bn classes define a ctor and dtor in their respective library.
This avoids duplication of the ctor/dtor in libraries where these objects are instantiated.
This is also cleaner, should we want these ctor/dtor to do something one day.

- same change as above for some Bp classes and various other non-binder classes

- moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere.

- improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere

- IBinder::getInterfaceDescriptor() now returns a "const String16&" instead of String16, which saves calls to String16 and ~String16

- implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called.
The cache makes BpBinder bigger, so we need to figure out if we need this method at all.
inder/Binder.h
inder/BpBinder.h
inder/IBinder.h
inder/IInterface.h
inder/IMemory.h
inder/MemoryDealer.h
inder/Parcel.h
tils/TextOutput.h
tils/Timers.h
tils/threads.h
c5d0343b677d5ddc2d69fd15b81b084a40ab12ac 26-May-2009 Android (Google) Code Review <android-gerrit@google.com> am de8268d6: Merge change 2331 into donut

Merge commit 'de8268d6d1cd168510c490b17e93154d2eab767c'

* commit 'de8268d6d1cd168510c490b17e93154d2eab767c':
Fix issue 1846343 - part 1
4bc035a65cac177be9294e69f110497e3b6e34e6 22-May-2009 Eric Laurent <elaurent@google.com> Fix issue 1846343 - part 1

This change is the first part of a fix for issue 1846343, :
- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.
- renamed streamType to inputSource in all native functions handling audio record.

A second change is required in opencore author driver and android audio input to completely fix the issue.
edia/AudioRecord.h
edia/IAudioFlinger.h
edia/mediarecorder.h
947f4f4d384ea26eb2145cc070a3eed42c59534a 22-May-2009 Mathias Agopian <mathias@google.com> merge master to master_gl
bca8ecf8054f81f1908b7b876803c08bbb3e8ec2 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2260

* changes:
change 2115 wasn't merged properly into master. this fixes that.
dfece80c790934e4413def863070ac0dd21f6e29 22-May-2009 Mathias Agopian <mathias@google.com> change 2115 wasn't merged properly into master. this fixes that.

Merge change 2115 into donut

* changes:
bring the native_handle stuff back from master_gl

Conflicts:

libs/binder/Parcel.cpp
inder/Parcel.h
547a397f9bd86e5383ec68d96fb15bfa9bfcec77 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 384bfa27: Merge change 2227 into donut

Merge commit '384bfa270cdcb5dc3bc9ec396b783e25eb2d9b4d'

* commit '384bfa270cdcb5dc3bc9ec396b783e25eb2d9b4d':
Add header declaring the interface for TTS engines to implement.
895fb8e5f332b565c42b2131387f2b3412e9123a 22-May-2009 Jean-Michel Trivi <jmtrivi@google.com> Add header declaring the interface for TTS engines to implement.
ts/TtsEngine.h
9890815e427c49192efd738a8ae07ce038da92be 20-May-2009 Mathias Agopian <mathias@google.com> bring the native_handle stuff back from master_gl
tils/Parcel.h
0795272aa226f4e965968a03daddc53ce30b7cda 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
ndroid_runtime/AndroidRuntime.h
inder/Binder.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/MemoryHeapPmem.h
inder/Parcel.h
inder/ProcessState.h
edia/AudioRecord.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
edia/IAudioRecord.h
edia/IAudioTrack.h
edia/IMediaMetadataRetriever.h
edia/IMediaPlayer.h
edia/IMediaPlayerClient.h
edia/IMediaPlayerService.h
edia/IMediaRecorder.h
edia/mediametadataretriever.h
edia/mediaplayer.h
rivate/binder/Static.h
rivate/utils/Static.h
i/CameraHardwareInterface.h
i/ICamera.h
i/ICameraClient.h
i/ICameraService.h
i/IOverlay.h
i/ISurface.h
i/ISurfaceComposer.h
i/ISurfaceFlingerClient.h
i/Overlay.h
i/Region.h
tils/Binder.h
tils/BpBinder.h
tils/IBinder.h
tils/IInterface.h
tils/IMemory.h
tils/IPCThreadState.h
tils/IPermissionController.h
tils/IServiceManager.h
tils/MemoryBase.h
tils/MemoryDealer.h
tils/MemoryHeapBase.h
tils/MemoryHeapPmem.h
tils/Parcel.h
tils/ProcessState.h
25ba5b6564224dceefa086b5c439ef28dad530ca 19-May-2009 Mathias Agopian <mathias@google.com> checkpoint: split libutils into libutils + libbinder
rivate/binder/Static.h
rivate/binder/binder_module.h
rivate/utils/Static.h
rivate/utils/binder_module.h
bad962bf407bbb7a7ce296fb75f1883375afa832 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am e2914615: Merge change 2099 into donut

Merge commit 'e29146158b6048936671decc060d398a68333fc0'

* commit 'e29146158b6048936671decc060d398a68333fc0':
Hook up the backup data writer, and add a utility to read the backup data files.
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
edia/AudioRecord.h
edia/AudioTrack.h
edia/ToneGenerator.h
i/Camera.h
i/ICameraClient.h
tils/ResourceTypes.h
tils/backup_helpers.h
tils/threads.h
d2110dbce071a236b6176de344ca797b737542eb 19-May-2009 Joe Onorato <joeo@android.com> Hook up the backup data writer, and add a utility to read the backup data files.
tils/backup_helpers.h
723c9a4d27634bed8629fb9257915ca8ec641941 20-May-2009 Garret Pick <pickgr@pv.com> Change required for OpenCORE 2.04 Update
edia/PVPlayer.h
f1f12f8cfcc99bb9a50ae5b555b5ce050726a1fa 19-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 656a2726: Merge change 1910 into donut

Merge commit '656a2726ad977be194c3b8f4bf4ec3068bf3e1c9'

* commit '656a2726ad977be194c3b8f4bf4ec3068bf3e1c9':
Update aapt badging for native code, configs, density, etc.
bb9ea30ea9e390e69602935571795d2c80dc7b91 19-May-2009 Dianne Hackborn <hackbod@google.com> Update aapt badging for native code, configs, density, etc.
tils/AssetManager.h
6158b1bf0364da1582468a98ec09d004ba99deec 11-May-2009 Mathias Agopian <mathias@google.com> Region now has its own implementation instead of relying on SkRegion, which allows us to break libui's dependency on libcorecg.
rivate/ui/RegionHelper.h
i/Rect.h
i/Region.h
28a6f667c2c668f5b388a54bcfafc27d2d9cb299 16-May-2009 Android (Google) Code Review <android-gerrit@google.com> am e85bb9eb: Merge change 1823 into donut

Merge commit 'e85bb9ebcce85b8c7a0e0ccb5116cd25bf684727'

* commit 'e85bb9ebcce85b8c7a0e0ccb5116cd25bf684727':
Add the backup data file writer C++ class.
59aa044a1098e49823d59905731f28465003e983 16-May-2009 Mathias Agopian <mathias@google.com> Merge branch '2514' into merge_master
2e1da32203b7f6df76023f25a7382a31fad6b19d 16-May-2009 Joe Onorato <joeo@android.com> Add the backup data file writer C++ class.
tils/backup_helpers.h
55051ebdd1ebf043f9d0e3dcf025c8c8930cf567 15-May-2009 Joe Onorato <joeo@android.com> am 4535e405: Implement the C++ class to write the backed up file data.

Merge commit '4535e40544aeb957d44fad75fbe5676effe03689'

* commit '4535e40544aeb957d44fad75fbe5676effe03689':
Implement the C++ class to write the backed up file data.
4535e40544aeb957d44fad75fbe5676effe03689 15-May-2009 Joe Onorato <joeo@android.com> Implement the C++ class to write the backed up file data.
tils/ByteOrder.h
tils/backup_helpers.h
11abc8a36d639775b05a0471c9ea45d83fa19e56 15-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
a64b860749ad7e5f9e887013d87b56b928c5d405 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am aa642c0c: Merge changes 1591,1596 into donut

Merge commit 'aa642c0cc20293137376d44f8221876c121e5be9'

* commit 'aa642c0cc20293137376d44f8221876c121e5be9':
Get the backup calling through to the file backup helper.
Fix typos.
Add a new feature to android.os.Debug to add the ability to inject only specific fields when calling setFieldsOn().
Fixes #1836075. Adds consistency checks for the View hierarchy. To enable them, you need a debug build and ViewDebug.sConsistencyCheckEnabled set to true in debug.prop. This change also lets you easily enable drawing and layout profiling in ViewRoot by setting ViewRoot.sProfileDrawing, ViewRoot.sProfileLayout and ViewRoot.sShowFps in debug.prop with a debug build.
Add Intent.ACTION_APP_ERROR
290bb011c5c1a9ba1f2116810b06cf52a9c36b3e 14-May-2009 Joe Onorato <joeo@android.com> Get the backup calling through to the file backup helper.

This includes some cleanup to make the parameters match
between BackupService.onBackup and FileBackupHelper.performBackup.
tils/backup_helpers.h
70a16b408442ad1e665ee37ccdb8c88c8d3d74d6 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 3022a11: Merge change 1239 into donut

Merge commit '3022a11c4c41afa9d39b4d0d9abd7e6bcb6b8472'

* commit '3022a11c4c41afa9d39b4d0d9abd7e6bcb6b8472':
Modify camera framework to use new streamlined binder interface.
d6289b1b03d209219c2dd3126ee8839a45682b33 08-May-2009 Dave Sparks <davidsparks@android.com> Modify camera framework to use new streamlined binder interface.
This is the second half of bug 1837832. Modifies the camera client
and camera service to use the new binder interface. Removes the
old binder interface. There will be one more part to this change
to surface the undefined callbacks to the Java layer so that
partners can implement new features without having to touch the
stack.
i/Camera.h
i/ICameraClient.h
6ec72e3fa9cdf9e896f3042fb1b1b4f3f6cea541 08-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
c825d3ebd6ca66e65e63fdc76f032e08aa2a8e22 06-May-2009 Joe Onorato <joeo@android.com> fix the sim build. disables the tests for now.
tils/backup_helpers.h
ec91aab3beba91633de26e80f75e731cec213b50 08-May-2009 The Android Open Source Project <initial-contribution@android.com> am 3fd7e13: Merge branch \'donut\' of ssh://android-git.corp.google.com:29

Merge commit '3fd7e13960c2763225c5c8bc187bd15da04820dd'

* commit '3fd7e13960c2763225c5c8bc187bd15da04820dd':
Add new binder methods to camera client to support generic callbacks
6bebbcd57b7b3ffad3af046f4899d885b30c828e 08-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
97b8056c3182a973c67d3c1b196150d4b9e30f3a 08-May-2009 Mathias Agopian <mathias@google.com> add support for update-on-demand in SurfaceFlinger
i/FramebufferNativeWindow.h
2a04aefdf03abbdabb035f89c8a1df636c168de0 07-May-2009 Dave Sparks <davidsparks@android.com> Add new binder methods to camera client to support generic callbacks
This is the first step in a multi-step change to move from the old
specific callbacks to a generic callback. This will allow future
flexibility in the interface without requiring binder rewrites.
Bug 1837832
i/Camera.h
i/ICameraClient.h
56b7eeaa01fa34de1dad1b113f5355e999ee1d10 07-May-2009 The Android Open Source Project <initial-contribution@android.com> manual merge f3af740bdfc261b1cb25c0799af780d3753d4518

Merge commit 'f3af740bdfc261b1cb25c0799af780d3753d4518'
f3af740bdfc261b1cb25c0799af780d3753d4518 05-May-2009 Eric Laurent <elaurent@google.com> Fixed issue 1709450: Requirements for CDMA Tone Generator

Added new tone types for CDMA IS-95 specific tones.
Automatic selection between IS-95, CEPT and JAPAN version base on operator
country code for call supervisory tones.
Also improved tone generator capabilities:
- Each tone segment can now generate its own set of frequencies
- A tone does not have to be a succession of alternating ON/OFF segments
- The sequence repetition does not have to start from first segment
edia/ToneGenerator.h
7fca56513587bbf899d4d281a43d7eb0819da9af 06-May-2009 Joe Onorato <joeo@android.com> fix the sim build. disables the tests for now.
tils/backup_helpers.h
b61381bc942a2cd60fcdced888ede76cd0711f00 06-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 4488b11: Merge change 1039 into donut

Merge commit '4488b11c51ad8f5b8330279a9405e5a0f8586aa4'

* commit '4488b11c51ad8f5b8330279a9405e5a0f8586aa4':
Add some C++ code to do raw files for backup
9bd5da4db97fec7cdbe6e07870411c1fcaff4365 06-May-2009 Mathias Agopian <mathias@google.com> get rid off unneeded flags
i/egl/android_natives.h
b51e18d59b6f8e44a5d3516fc3359c54fa913331 06-May-2009 Mathias Agopian <mathias@google.com> move android_native_buffer_t declaration into its own private/ui/android_native_priv.h header, since user code should never have access to it.
rivate/ui/SurfaceBuffer.h
rivate/ui/android_natives_priv.h
i/egl/android_natives.h
ac2523b161df2bb507cc88906bb070878266770d 06-May-2009 Mathias Agopian <mathias@google.com> move opengl/include/EGL/android_natives.h to include/ui/egl/android_natives.h and don't include it from egl.h

the android_native_ types are just forward declared in egl.h
rivate/ui/SurfaceBuffer.h
i/FramebufferNativeWindow.h
i/ISurface.h
i/Surface.h
i/egl/android_natives.h
3ad977b41c6e4ef30c2f4f316b909b742ffc04aa 05-May-2009 Joe Onorato <joeo@android.com> Add some C++ code to do raw files for backup
tils/backup_helpers.h
e633f9339a2556771c79c784b0b23a9aade30485 05-May-2009 Mathias Agopian <mathias@google.com> get rid of android_native_buffer_t::getHandle() and replace it with an handle field

this abstraction was not necessary. things are easier now.
i/FramebufferNativeWindow.h
i/Surface.h
430f2ed5c03312700131a70c858b98e1cc6bc161 05-May-2009 Mathias Agopian <mathias@google.com> removed the "bits" attribute from android_native_buffer_t.

"bits" can never be trusted now that we need to call lock() on the handle to get the virtual address of the buffer.
i/Surface.h
6279619e4279daf77feff0c76e089b26ad66124f 05-May-2009 Mathias Agopian <mathias@google.com> minor clean-up in FramebufferNativeWindow
i/FramebufferNativeWindow.h
dff8e58d47ede6e748c0b02e128ca33b42a4f362 04-May-2009 Mathias Agopian <mathias@google.com> update surfaceflinger, libui and libagl to the new gralloc api

- Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually.
- factor all the lock/unlock code in SurfaceBuffer.
- fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers().
- improved the situation with the dirty-region and fixed a problem that caused GL apps to not update.
- make use of LightRefBase() where needed, instead of duplicating its implementation
- add LightRefBase::getStrongCount()
- renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp

- disabled copybits test, since it clashes with the new gralloc api

- Camera/Video will be fixed later when we rework the overlay apis
i/BufferMapper.h
i/EGLDisplaySurface.h
i/EGLNativeWindowSurface.h
i/FramebufferNativeWindow.h
i/Region.h
i/Surface.h
tils/RefBase.h
fa6eda01a9f3df0102ce6a65302c8674cc9c7e50 30-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
libs/surfaceflinger/Layer.cpp
libs/surfaceflinger/SurfaceFlinger.cpp
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/GLES_CM/gl.cpp
opengl/libs/GLES_CM/gl_api.in
opengl/libs/gl_entries.in
opengl/libs/tools/glapigen
8e644062271b4082c6348a5061a75148e0086177 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 17f213b: Merge change 602 into donut

Merge commit '17f213bc528cf296e133e9ec9c9e0ce5dce41781'

* commit '17f213bc528cf296e133e9ec9c9e0ce5dce41781':
Bug fix(1807910): media recorder crash due to the use of locked camera object (last part)
d1d2af6846156e9deddac7a256e6c3b756073267 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 3eab744: Merge change 376 into donut

Merge commit '3eab744d018924189b1b8f5530accd52e91213de'

* commit '3eab744d018924189b1b8f5530accd52e91213de':
Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background
9f5a54a59dac6df0ffe2d19c71733b4a0c7b00c2 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 0a9b5bb: Merge change 509 into donut

Merge commit '0a9b5bbb47a965238ca0e1e699d61d7ddd054742'

* commit '0a9b5bbb47a965238ca0e1e699d61d7ddd054742':
Fix a media server crash (bug 1807910): part one
5c685a948e9eed5f02c4e961d2d928e1f60e2e62 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 9c56513: Merge change 165 into donut

Merge commit '9c5651390056cd9c2f68d5df057739528bd4128b'

* commit '9c5651390056cd9c2f68d5df057739528bd4128b':
Squashed commit of the following:
354271fb03d45309d8e249e3411bcf16cb807489 28-Apr-2009 Mathias Agopian <mathias@google.com> improvements (I hope) to to List.h implementation:

- made the helper Node and Iterator classes protected inner classes of List so they don't pollute the android namespace.
- use "int foo()" instead of "int foo(void)" which is more C++ stylish
- made distance() a template function, this way we write it once and it will work with combinations of iterator and const_iterator
- added the inline keyword on some function to make it clear to the compiler and the programmer that we want/intend these to be small inline functions
- added templated comparison operators to Iterator so it can compare iterator and const_iterator
- use size_t instead of "unsigned int" at places
- distance() should return a ptrdiff_t (it's kind of mening less here because it won't really work if the distance is < 0)
- made sure we handle conversions from iterator to const_iterator, but but fail at compile time in the other direction
- added operator->() on iterator and const_iterator
- made a bunch of private constructors explicit to avoid unwanted conversions
tils/List.h
77c4903397eb0fb81f641c0beb1762f42819357b 28-Apr-2009 Mathias Agopian <mathias@google.com> small fix to List.h, the post-increment iterators should return "const" objects to disallow constructs such as i++++
tils/List.h
325ac475c51dc0d54503f725179ea2d9353485bb 27-Apr-2009 James Dong <jdong@google.com> Bug fix(1807910): media recorder crash due to the use of locked camera object (last part)
- remove an unused Camera constructor
- add a check on the argument in Camera::create() method
i/Camera.h
3eab744d018924189b1b8f5530accd52e91213de 27-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 376 into donut

* changes:
Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background
e9d376b801b7890b1ef5006ed55de4208e64bb63 21-Apr-2009 San Mehat <san@google.com> Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background

Signed-off-by: San Mehat <san@google.com>
tils/threads.h
6ead5d9f140529edfb744584fa5427b84b4dc13a 21-Apr-2009 Mathias Agopian <mathias@google.com> a brand new MessageQueue for SurfaceFlinger.
rivate/ui/SurfaceFlingerSynchro.h
tils/MemoryDealer.h
2b1927f686eaec23a5798966b96aadaee3e2eb85 17-Apr-2009 Mathias Agopian <mathias@google.com> Squashed commit of the following:

commit e5c24638f98162c3b75b4c67a16b510d38e31341
Author: Mathias Agopian <mathias@google.com>
Date: Fri Apr 17 14:09:03 2009 -0700

oops forgot this file.

commit 282642632d0cb12882eecf42e0fdfb2343275de1
Author: Mathias Agopian <mathias@google.com>
Date: Fri Apr 17 14:07:32 2009 -0700

use a helper macro for creating Singleton<>'s static attributes instances.
tils/Singleton.h
f670127afccf156681db8a144e49cecb22d744e1 24-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
0a9b5bbb47a965238ca0e1e699d61d7ddd054742 24-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 509 into donut

* changes:
Fix a media server crash (bug 1807910): part one Add a factory method that creates a Camera object from a remote client
2adc2dbbd65fc89983f20702db2004f9b8cf8258 23-Apr-2009 James Dong <jdong@google.com> Fix a media server crash (bug 1807910): part one
Add a factory method that creates a Camera object from a remote client

Next:
The changes in authordriver.cpp and android_camera_input.cpp will come.
and the constructor for Camera object will be removed.
i/Camera.h
74008f608af0c567456d37e63d48643689388c74 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
96e20409afc720f61d0cd49bf1441f62069bd6bb 22-Apr-2009 Robert Greenwalt <robdroid@android.com> Squashed commit of the following:

commit 012b56fc607cf243cf4b29cb2a5f172bcbe0aecd
Author: Robert Greenwalt <robdroid@android.com>
Date: Wed Apr 22 14:31:26 2009 -0700

Additional fixes and tests for density.

commit 91fdc8e187551ae69e0029a4325fb3ad38fe411b
Author: Robert Greenwalt <robdroid@android.com>
Date: Tue Apr 14 14:39:00 2009 -0700

Fix runtime resource selection logic.

Fix isBetterThan so that o or this may be supperior at any stage.
Used to only handle this-better or tie at each stage, biasing against o.
Also allows reset of unit test to succeed. Fixes bug 1709202.
tils/ResourceTypes.h
ef02827d4c3b9c0601eddc9c348fc2ea866420a2 21-Apr-2009 Eric Laurent <elaurent@google.com> Fix issue 1745312: Various cleanups in media framework

AudioTrack, AudioRecord:
- remove useless mAudioFlinger member of AudioTrack and AudioRecord.
- signal cblk.cv condition in stop() method to speed up stop completion.
- extend wait condition timeout in obtainBuffer() when waitCount is -1 to avoid waking up callback thread unnecessarily

AudioFlinger:
- remove some warnings in AudioFlinger.cpp.
- remove function AudioFlinger::MixerThread::removetrack_l() as its content is never executed.
- remove useless call to setMasterVolume in AudioFlinger::handleForcedSpeakerRoute().
- Offset VOICE_CALL stream volume to reflect actual volume that is never 0 in hardware (this fix has been made in the open source): 0.01 + v * 0.99.

AudioSystem.java:
- correct typo in comment

IAudioflinger, IAudioFlingerClient:
- make AudioFlinger binder interfaces used for callbacks ONEWAY.

AudioHardwareInterface:
- correct routeStrings[] table in AudioHardwareInteface.cpp
edia/AudioRecord.h
edia/AudioTrack.h
69d62097e8195c947de7e4cdc4a491181aa56e61 17-Apr-2009 Mathias Agopian <mathias@google.com> cleanup, remove unused fields. Also make sure that we don't systematically allocate a Surface in Surface.java if only a SurfaceControl is needed (Common case).
i/Surface.h
17f638b39f2e8b610ecfa1290e5bc42ab7700c98 17-Apr-2009 Mathias Agopian <mathias@google.com> more splitting of Surface/SurfaceControl. Surface.java is now implemented in terms of Surface and SurfaceControl.

The WindowManager side of Surface.java holds a SurfaceControl, while the client-side holds a Surface. When the client is in the system process, Surface.java holds both (which is a problem we'll try to fix later).
i/Surface.h
i/SurfaceComposerClient.h
6d2c0bc7bfe10a9b70ca608baf626c47a228fa6b 17-Apr-2009 Mathias Agopian <mathias@google.com> split Surface.cpp into Surface and SurfaceControl

SurfaceControl is used for controling the geometry of the surface (for the WM), while Surface is used to access the buffers (for SF's clients).
SurfaceFlingerClient now uses the SurfaceID instead of Surface*.

Currently Surface still has the SurfaceControl API and is implemented by calling into SurfaceControl.
i/Surface.h
i/SurfaceComposerClient.h
402c34649f514669517c2208e35caa58ff8bb2b9 15-Apr-2009 Mathias Agopian <mathias@google.com> fix some issues with Surface's lifetime management.

To deal with Java's lack of destructors and delayed garbage collection, we used to duplicate Surface.cpp objects in some case; this caused some issues because Surface is supposed to be reference-counted and unique.
i/Surface.h
a6b40ba521d5c2fc23da74015531bd4ed8657921 16-Apr-2009 Mathias Agopian <mathias@google.com> fix a rookie mistake causing Singleton<> to be a "multiton". Also improve the BufferMapper's debugging, but turn it off.

Squashed commit of the following:

commit 04e9cae7f806bd65f2cfe35c011b47a36773bbe5
Author: Mathias Agopian <mathias@google.com>
Date: Wed Apr 15 18:30:30 2009 -0700

fix and improve BufferMapper's tracking of mapped buffers.

commit 1a8deaed15811092b2349cc3c40cafb5f722046c
Author: Mathias Agopian <mathias@google.com>
Date: Wed Apr 15 00:52:02 2009 -0700

fix some bugs with the Singleton<> class. untested.

commit ed01cc06ad70cf640ce1258f01189cb1a96fd3a8
Author: Mathias Agopian <mathias@google.com>
Date: Tue Apr 14 19:29:25 2009 -0700

some work to debug the Singleton<> template.
i/BufferMapper.h
tils/Singleton.h
5e8c31ac31107c0cbc4a103e4f62342b07b5876b 15-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'
85d7a06826f00f40b56470ad9ec7c75dce1b45df 14-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
935ae463d495d41155e27feb849768ad2b8b16db 14-Apr-2009 Dianne Hackborn <> AI 145994: Integrate #145778 from Donut.

Automated import of CL 145994
i/KeycodeLabels.h
af9a515299b24031c7aa77bf163d0985cc862069 11-Apr-2009 Mathias Agopian <mathias@google.com> more debugging tools around BufferMapper
i/BufferMapper.h
7e25da07af7f4f8a876ac97be6e4745877aecb08 11-Apr-2009 Mathias Agopian <mathias@google.com> fix KeyedVector::replaceValueAt, which wouldn't even compile if used.
tils/KeyedVector.h
f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75 11-Apr-2009 Andy Stadler <> AI 145778: Manual merge changes 145382-145384 from cupcake.

Automated import of CL 145778
i/KeycodeLabels.h
1473f46cbc82aa6f0ba744cc896a36923823d55b 10-Apr-2009 Mathias Agopian <mathias@google.com> Integrate from //sandbox/mathias/donut/...@145728

SurfaceFlinger rework for new EGL driver model support.
rivate/opengles/gl_context.h
rivate/ui/SharedState.h
i/BufferMapper.h
i/EGLNativeWindowSurface.h
i/ISurface.h
i/ISurfaceComposer.h
i/ISurfaceFlingerClient.h
i/PixelFormat.h
i/Surface.h
i/SurfaceComposerClient.h
tils/Parcel.h
tils/Singleton.h
5eabbd9f27b5684508b5f5f1f99030c67984ae81 09-Apr-2009 Dianne Hackborn <> AI 145382: API review: change new media keycode names to avoid ambiguity.
Updates the key maps. During this I noticed that the dream keymap didn't have all of the media buttons like the sapphire key map...! So this is now changed to match.
BUG=1779435

Automated import of CL 145382
i/KeycodeLabels.h
f70188aa4716625781d9952c6b883180528d4644 01-Apr-2009 Andy McFadden <> AI 143840: Split VM initialization out into a separate function.
This makes the code marginally more readable, and cuts about 500 bytes
off the size of the main thread's stack.

Automated import of CL 143840
ndroid_runtime/AndroidRuntime.h
9f1455fcc2ca8ad5e33b32b8a55c231944f4ff99 31-Mar-2009 Ravi K Yenduri <yenduri@pv.com> Enable OpenCORE on master - part 1
edia/PVPlayer.h
63e45f2854c86a9edf71e4159c9d93ad9a1e8f0d 28-Mar-2009 Eric Laurent <> AI 143327: am: CL 143177 am: CL 142889 Fix issue #1736153 Camera shutter sound can be muted by new AlarmClock setting.
Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.
The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.
Original author: elaurent
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143327
edia/AudioSystem.h
eb0c86e18b7d620b679ff2a45a0233867a53a334 28-Mar-2009 Mathias Agopian <> AI 143320: am: CL 143171 am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
Original author: mathias
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143320
i/ISurfaceComposer.h
i/SurfaceComposerClient.h
a7f1e5c540ff7b94c212facdcd89459cba3e4edc 28-Mar-2009 Eric Laurent <> AI 143177: am: CL 142889 Fix issue #1736153 Camera shutter sound can be muted by new AlarmClock setting.
Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.
The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.
Original author: elaurent
Merged from: //branches/cupcake/...

Automated import of CL 143177
edia/AudioSystem.h
66b8ec99c5fc505877b3711a52e284bbb451f836 28-Mar-2009 Mathias Agopian <> AI 143171: am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
Original author: mathias
Merged from: //branches/cupcake/...

Automated import of CL 143171
i/ISurfaceComposer.h
i/SurfaceComposerClient.h
eeea9222132fe5979e40dcc85f5eba300157dfbc 26-Mar-2009 Eric Laurent <> Automated import from //branches/cupcake/...@142889,142889
edia/AudioSystem.h
c75c4364eae030a9ea6db658c4d1e38cdb05ab4c 26-Mar-2009 Mathias Agopian <> Automated import from //branches/cupcake/...@142873,142873
i/ISurfaceComposer.h
i/SurfaceComposerClient.h
78c131473165830c8d042a0f445ca858aaa7a4b1 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/donutburger/...@141200,141200
edia/AudioRecord.h
108762b6e03b79c61641009bb4b4e3d090157401 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/master/...@141201,141201
edia/AudioRecord.h
ebb020aebc157ff127458dc20e1d0066b86bb99d 25-Mar-2009 Jason Sams <> Automated import from //branches/master/...@140868,140868
edia/mediaplayer.h
4610f7d1f9c98c5abcb47d45b51bade2443fa84a 25-Mar-2009 Jason Sams <> Automated import from //branches/donutburger/...@140866,140866
edia/mediaplayer.h
e025d2d74641d7654f65cbc1bc409f45f4a7b354 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/master/...@140665,140665
edia/AudioTrack.h
4a5c1a7e84a250eafe0e3a12d859c45747520d55 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/donutburger/...@140663,140663
edia/AudioTrack.h
c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
edia/AudioRecord.h
edia/AudioTrack.h
edia/mediaplayer.h
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
edia/mediarecorder.h
rivate/media/AudioTrackShared.h
tils/ResourceTypes.h
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
edia/IMediaRecorder.h
edia/PVMediaRecorder.h
edia/mediarecorder.h
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
edia/PVPlayer.h
edia/mediaplayer.h
53b404521227d30353f0f2421458103dff903626 06-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136654
edia/thread_init.h
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
i/ICameraService.h
tils/threads.h
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ndroid_runtime/ActivityManager.h
ndroid_runtime/AndroidRuntime.h
ndroid_runtime/android_util_AssetManager.h
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
edia/IAudioRecord.h
edia/IAudioTrack.h
edia/IMediaMetadataRetriever.h
edia/IMediaPlayer.h
edia/IMediaPlayerClient.h
edia/IMediaPlayerService.h
edia/IMediaRecorder.h
edia/JetPlayer.h
edia/MediaMetadataRetrieverInterface.h
edia/MediaPlayerInterface.h
edia/PVMediaRecorder.h
edia/PVMetadataRetriever.h
edia/PVPlayer.h
edia/ToneGenerator.h
edia/mediametadataretriever.h
edia/mediaplayer.h
edia/mediarecorder.h
edia/mediascanner.h
edia/thread_init.h
im/EventRecurrence.h
rivate/media/AudioTrackShared.h
rivate/media/VideoFrame.h
rivate/opengles/gl_context.h
rivate/ui/LayerState.h
rivate/ui/SharedState.h
rivate/ui/SurfaceFlingerSynchro.h
rivate/utils/Static.h
rivate/utils/binder_module.h
rivate/utils/futex_synchro.h
i/Camera.h
i/CameraHardwareInterface.h
i/CameraParameters.h
i/DisplayInfo.h
i/EGLDisplaySurface.h
i/EGLNativeSurface.h
i/EGLNativeWindowSurface.h
i/EventHub.h
i/ICamera.h
i/ICameraClient.h
i/ICameraService.h
i/IOverlay.h
i/ISurface.h
i/ISurfaceComposer.h
i/ISurfaceFlingerClient.h
i/KeyCharacterMap.h
i/KeycodeLabels.h
i/Overlay.h
i/PixelFormat.h
i/Point.h
i/Rect.h
i/Region.h
i/Surface.h
i/SurfaceComposerClient.h
tils.h
tils/AndroidUnicode.h
tils/Asset.h
tils/AssetDir.h
tils/AssetManager.h
tils/Atomic.h
tils/Binder.h
tils/BpBinder.h
tils/Buffer.h
tils/BufferedTextOutput.h
tils/ByteOrder.h
tils/CallStack.h
tils/Debug.h
tils/Endian.h
tils/Errors.h
tils/FileMap.h
tils/IBinder.h
tils/IInterface.h
tils/IMemory.h
tils/IPCThreadState.h
tils/IPermissionController.h
tils/IServiceManager.h
tils/KeyedVector.h
tils/List.h
tils/Log.h
tils/LogSocket.h
tils/MemoryBase.h
tils/MemoryDealer.h
tils/MemoryHeapBase.h
tils/MemoryHeapPmem.h
tils/Parcel.h
tils/Pipe.h
tils/ProcessState.h
tils/RefBase.h
tils/ResourceTypes.h
tils/SharedBuffer.h
tils/Socket.h
tils/SortedVector.h
tils/StopWatch.h
tils/String16.h
tils/String8.h
tils/SystemClock.h
tils/TextOutput.h
tils/TimeUtils.h
tils/TimerProbe.h
tils/Timers.h
tils/TypeHelpers.h
tils/Vector.h
tils/VectorImpl.h
tils/ZipEntry.h
tils/ZipFile.h
tils/ZipFileCRO.h
tils/ZipFileRO.h
tils/ZipUtils.h
tils/ashmem.h
tils/executablepath.h
tils/inet_address.h
tils/misc.h
tils/ported.h
tils/string_array.h
tils/threads.h
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ndroid_runtime/ActivityManager.h
ndroid_runtime/AndroidRuntime.h
ndroid_runtime/android_util_AssetManager.h
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
edia/IAudioRecord.h
edia/IAudioTrack.h
edia/IMediaMetadataRetriever.h
edia/IMediaPlayer.h
edia/IMediaPlayerClient.h
edia/IMediaPlayerService.h
edia/IMediaRecorder.h
edia/JetPlayer.h
edia/MediaMetadataRetrieverInterface.h
edia/MediaPlayerInterface.h
edia/PVMediaRecorder.h
edia/PVMetadataRetriever.h
edia/PVPlayer.h
edia/ToneGenerator.h
edia/mediametadataretriever.h
edia/mediaplayer.h
edia/mediarecorder.h
edia/mediascanner.h
edia/thread_init.h
im/EventRecurrence.h
rivate/media/AudioTrackShared.h
rivate/media/VideoFrame.h
rivate/opengles/gl_context.h
rivate/ui/LayerState.h
rivate/ui/SharedState.h
rivate/ui/SurfaceFlingerSynchro.h
rivate/utils/Static.h
rivate/utils/binder_module.h
rivate/utils/futex_synchro.h
i/Camera.h
i/CameraHardwareInterface.h
i/CameraParameters.h
i/DisplayInfo.h
i/EGLDisplaySurface.h
i/EGLNativeSurface.h
i/EGLNativeWindowSurface.h
i/EventHub.h
i/ICamera.h
i/ICameraClient.h
i/ICameraService.h
i/IOverlay.h
i/ISurface.h
i/ISurfaceComposer.h
i/ISurfaceFlingerClient.h
i/KeyCharacterMap.h
i/KeycodeLabels.h
i/Overlay.h
i/PixelFormat.h
i/Point.h
i/Rect.h
i/Region.h
i/Surface.h
i/SurfaceComposerClient.h
tils.h
tils/AndroidUnicode.h
tils/Asset.h
tils/AssetDir.h
tils/AssetManager.h
tils/Atomic.h
tils/Binder.h
tils/BpBinder.h
tils/Buffer.h
tils/BufferedTextOutput.h
tils/ByteOrder.h
tils/CallStack.h
tils/Debug.h
tils/Endian.h
tils/Errors.h
tils/FileMap.h
tils/IBinder.h
tils/IInterface.h
tils/IMemory.h
tils/IPCThreadState.h
tils/IPermissionController.h
tils/IServiceManager.h
tils/KeyedVector.h
tils/List.h
tils/Log.h
tils/LogSocket.h
tils/MemoryBase.h
tils/MemoryDealer.h
tils/MemoryHeapBase.h
tils/MemoryHeapPmem.h
tils/Parcel.h
tils/Pipe.h
tils/ProcessState.h
tils/RefBase.h
tils/ResourceTypes.h
tils/SharedBuffer.h
tils/Socket.h
tils/SortedVector.h
tils/StopWatch.h
tils/String16.h
tils/String8.h
tils/SystemClock.h
tils/TextOutput.h
tils/TimeUtils.h
tils/TimerProbe.h
tils/Timers.h
tils/TypeHelpers.h
tils/Vector.h
tils/VectorImpl.h
tils/ZipEntry.h
tils/ZipFile.h
tils/ZipFileCRO.h
tils/ZipFileRO.h
tils/ZipUtils.h
tils/ashmem.h
tils/executablepath.h
tils/inet_address.h
tils/misc.h
tils/ported.h
tils/string_array.h
tils/threads.h
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
edia/AudioRecord.h
edia/IMediaRecorder.h
edia/PVMediaRecorder.h
edia/mediarecorder.h
i/CameraHardwareInterface.h
tils/ResourceTypes.h
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
edia/AudioRecord.h
edia/IMediaRecorder.h
edia/PVMediaRecorder.h
edia/mediarecorder.h
i/CameraHardwareInterface.h
tils/ResourceTypes.h
15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b 20-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132569
i/KeycodeLabels.h
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
edia/AudioSystem.h
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
edia/IMediaRecorder.h
edia/PVMediaRecorder.h
edia/mediarecorder.h
i/ISurface.h
tils/logger.h
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
LES/egl.h
LES/eglnatives.h
LES/egltypes.h
LES/gl.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
edia/JetPlayer.h
edia/MediaPlayerInterface.h
edia/PVPlayer.h
edia/ToneGenerator.h
rivate/opengles/gl_context.h
i/Camera.h
i/CameraHardwareInterface.h
i/CameraParameters.h
i/EGLDisplaySurface.h
i/EGLNativeSurface.h
i/EGLNativeWindowSurface.h
i/EventHub.h
i/ICamera.h
i/ICameraClient.h
i/ISurface.h
i/Overlay.h
i/PixelFormat.h
tils/Asset.h
tils/ResourceTypes.h
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
edia/AudioRecord.h
edia/AudioTrack.h
edia/ToneGenerator.h
rivate/media/AudioTrackShared.h
i/Overlay.h
tils/Parcel.h
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
edia/PVMediaRecorder.h
rivate/opengles/gl_context.h
i/EventHub.h
i/Overlay.h
i/Surface.h
i/SurfaceComposerClient.h
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
edia/JetPlayer.h
edia/ToneGenerator.h
edia/mediametadataretriever.h
i/Camera.h
i/CameraHardwareInterface.h
i/EGLNativeSurface.h
i/ICamera.h
i/IOverlay.h
i/ISurface.h
i/Overlay.h
i/PixelFormat.h
i/Region.h
tils/MemoryHeapBase.h
tils/RefBase.h
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
LES/eglnatives.h
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IMediaMetadataRetriever.h
edia/IMediaPlayer.h
edia/IMediaPlayerService.h
edia/IMediaRecorder.h
edia/MediaMetadataRetrieverInterface.h
edia/MediaPlayerInterface.h
edia/PVMediaRecorder.h
edia/PVMetadataRetriever.h
edia/PVPlayer.h
edia/ToneGenerator.h
edia/mediametadataretriever.h
edia/mediaplayer.h
edia/mediarecorder.h
edia/mediascanner.h
rivate/media/AudioTrackShared.h
rivate/media/VideoFrame.h
rivate/opengles/gl_context.h
i/BlitHardware.h
i/Camera.h
i/CameraHardwareInterface.h
i/EGLDisplaySurface.h
i/ICamera.h
i/IOverlay.h
i/ISurface.h
i/ISurfaceFlingerClient.h
i/KeycodeLabels.h
i/Overlay.h
i/PixelFormat.h
i/Region.h
i/Surface.h
tils/IPCThreadState.h
tils/MemoryHeapPmem.h
tils/ResourceTypes.h
tils/TimeUtils.h
tils/string_array.h
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
LES/egl.h
LES/eglnatives.h
LES/egltypes.h
LES/gl.h
ndroid_runtime/ActivityManager.h
ndroid_runtime/AndroidRuntime.h
ndroid_runtime/android_util_AssetManager.h
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioRecord.h
edia/IAudioTrack.h
edia/IMediaPlayer.h
edia/IMediaPlayerClient.h
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/PVPlayer.h
edia/ToneGenerator.h
edia/mediametadataretriever.h
edia/mediaplayer.h
edia/mediarecorder.h
edia/mediascanner.h
edia/thread_init.h
im/EventRecurrence.h
rivate/media/AudioTrackShared.h
rivate/opengles/gl_context.h
rivate/ui/LayerState.h
rivate/ui/SharedState.h
rivate/ui/SurfaceFlingerSynchro.h
rivate/utils/Static.h
rivate/utils/binder_module.h
rivate/utils/futex_synchro.h
i/BlitHardware.h
i/Camera.h
i/CameraHardwareInterface.h
i/CameraParameters.h
i/DisplayInfo.h
i/EGLDisplaySurface.h
i/EGLNativeSurface.h
i/EGLNativeWindowSurface.h
i/EventHub.h
i/ICamera.h
i/ICameraClient.h
i/ICameraService.h
i/ISurface.h
i/ISurfaceComposer.h
i/ISurfaceFlingerClient.h
i/KeyCharacterMap.h
i/KeycodeLabels.h
i/PixelFormat.h
i/Point.h
i/Rect.h
i/Region.h
i/Surface.h
i/SurfaceComposerClient.h
tils.h
tils/AndroidUnicode.h
tils/Asset.h
tils/AssetDir.h
tils/AssetManager.h
tils/Atomic.h
tils/Binder.h
tils/BpBinder.h
tils/Buffer.h
tils/BufferedTextOutput.h
tils/ByteOrder.h
tils/CallStack.h
tils/Debug.h
tils/Endian.h
tils/Errors.h
tils/FileMap.h
tils/IBinder.h
tils/IInterface.h
tils/IMemory.h
tils/IPCThreadState.h
tils/IPermissionController.h
tils/IServiceManager.h
tils/KeyedVector.h
tils/List.h
tils/Log.h
tils/LogSocket.h
tils/MemoryBase.h
tils/MemoryDealer.h
tils/MemoryHeapBase.h
tils/MemoryHeapPmem.h
tils/Parcel.h
tils/Pipe.h
tils/ProcessState.h
tils/RefBase.h
tils/ResourceTypes.h
tils/SharedBuffer.h
tils/Socket.h
tils/SortedVector.h
tils/StopWatch.h
tils/String16.h
tils/String8.h
tils/SystemClock.h
tils/TextOutput.h
tils/TimeUtils.h
tils/TimerProbe.h
tils/Timers.h
tils/TypeHelpers.h
tils/Vector.h
tils/VectorImpl.h
tils/ZipEntry.h
tils/ZipFile.h
tils/ZipFileCRO.h
tils/ZipFileRO.h
tils/ZipUtils.h
tils/ashmem.h
tils/executablepath.h
tils/inet_address.h
tils/logger.h
tils/misc.h
tils/ported.h
tils/string_array.h
tils/threads.h