1207 Commits

Author SHA1 Message Date
Jeff Brown
24326f7223 Merge "Input API review." into gingerbread 2010-09-16 12:57:56 -07:00
Jeff Brown
fa8186c716 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.
2010-09-15 21:42:28 -07:00
Jeff Brown
7642c82c29 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.
2010-09-15 18:57:48 -07:00
Jeff Brown
519e024d1e 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
2010-09-15 18:52:08 -07:00
Mathias Agopian
6704d310f9 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
2010-09-15 17:53:43 -07:00
Mathias Agopian
310da64d78 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
2010-09-15 12:53:59 -07:00
Mathias Agopian
f182e8a8c2 fix a typo where the eventtags code were wrong
Change-Id: I517112a1475c10b71009a0aa9c3894c76a1f270f
2010-09-15 12:46:59 -07:00
Jeff Brown
49478536b6 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.
2010-09-15 12:32:29 -07:00
Mathias Agopian
a5ab8ce602 resolved conflicts for merge of 48a86240 to master
Change-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5
2010-09-15 12:29:18 -07:00
Jeff Brown
dc1ab4b5cc Input API review.
Drop currently unsupported input features.
Add documentation comments.

Change-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592
2010-09-14 20:46:14 -07:00
Nipun Kwatra
4e94c30ed5 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
2010-09-14 16:49:08 -07:00
Jeff Brown
14bc6b5d06 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.
2010-09-14 15:32:03 -07:00
Jeff Brown
09340a4bb9 Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread 2010-09-14 15:27:33 -07:00
Mathias Agopian
48a862407d 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
2010-09-14 15:14:10 -07:00
Nipun Kwatra
088146a421 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
2010-09-14 13:57:59 -07:00
Jeff Brown
4fe6c3e51b 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
2010-09-14 01:59:45 -07:00
Mathias Agopian
04262e9f84 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
2010-09-13 23:16:58 -07:00
Mike Lockwood
0c7d077e9a Merge changes I68379740,I9053218f
* changes:
  MediaFile: Add support for some popular non-media file types.
  Media scanner support for tracking files of arbitrary type.
2010-09-12 20:41:07 -07:00
Mike Lockwood
c37255d5d0 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>
2010-09-12 23:21:44 -04:00
Jeff Brown
b3787d57ff am 0f0541e4: am b88102f5: Input dispatcher ANR handling enhancements.
Merge commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6'

* commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6':
  Input dispatcher ANR handling enhancements.
2010-09-12 17:15:19 -07:00
Jeff Brown
0f0541e40c am b88102f5: Input dispatcher ANR handling enhancements.
Merge commit 'b88102f5b7e51552a3576cf197b4c8cf96f193d1' into gingerbread-plus-aosp

* commit 'b88102f5b7e51552a3576cf197b4c8cf96f193d1':
  Input dispatcher ANR handling enhancements.
2010-09-12 17:05:38 -07:00
Jeff Brown
b88102f5b7 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
2010-09-12 16:52:03 -07:00
Nipun Kwatra
522632cde5 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
2010-09-10 18:01:46 -07:00
Nipun Kwatra
55d39f2066 Merge "Adding hasProfile." 2010-09-10 15:04:17 -07:00
Nipun Kwatra
35c8b532e5 Merge "Added specific resolution and time lapse profiles." 2010-09-10 14:26:45 -07:00
Nipun Kwatra
9d619542be 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
2010-09-10 14:22:11 -07:00
Nipun Kwatra
4af0dfd6cb 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
2010-09-10 14:22:08 -07:00
Jean-Baptiste Queru
3d6b009db1 am 09f1e2b2: resolved conflicts for merge of 56aa3c76 to gingerbread-plus-aosp
Merge commit '09f1e2b2151ea18c05b9138a0a5cb63af18ea373'

* commit '09f1e2b2151ea18c05b9138a0a5cb63af18ea373':
  Initial contribution from Sony Corporation.
2010-09-10 11:29:10 -07:00
Jean-Baptiste Queru
09f1e2b215 resolved conflicts for merge of 56aa3c76 to gingerbread-plus-aosp
Change-Id: I3d36a665f93f976824592edf35f6d6a205cc7617
2010-09-10 09:53:43 -07:00
Romain Guy
9584a542e3 Merge "Purge Skia objects from GL caches as needed." 2010-09-08 18:06:11 -07:00
Romain Guy
a2341a9f6a Purge Skia objects from GL caches as needed.
Change-Id: I754c671cf790ad5ae8bf047ad328034217da4ecc
2010-09-08 18:04:33 -07:00
James Dong
e3aa6aa770 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
2010-09-08 17:57:56 -07:00
James Dong
d353c840ad Merge "HW audio encoder expects timestamp via kKeyTime from each input buffer" into gingerbread 2010-09-08 17:51:59 -07:00
James Dong
d015ccf62b HW audio encoder expects timestamp via kKeyTime from each input buffer
- This fixes media server crashes on droid

Change-Id: I7191cadc5275107425ec3ee3d437b2c5295858dc
2010-09-08 17:28:57 -07:00
Eric Laurent
15ff01cdb4 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
2010-09-08 17:22:54 -07:00
Eric Laurent
95d5de0681 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
2010-09-08 16:06:18 -07:00
Jeff Brown
3dfc5721ad am 8723bb58: am b21fb104: Fix key repeat delay.
Merge commit '8723bb58b17a07b7ca036cc76d737c6c0f4b13c7'

* commit '8723bb58b17a07b7ca036cc76d737c6c0f4b13c7':
  Fix key repeat delay.
2010-09-08 14:38:09 -07:00
Jeff Brown
b380c4d7ed resolved conflicts for merge of a05088c1 to master
Change-Id: I7973f9f28586dec9b9659f8f662f40db7997a521
2010-09-08 13:02:55 -07:00
Jeff Brown
b21fb104cc Fix key repeat delay.
Change-Id: I6216e082324ee29bf50e37acc673350ca5417c4d
2010-09-08 12:28:43 -07:00
Jeff Brown
85a3176704 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
2010-09-08 11:50:55 -07:00
Dianne Hackborn
347262622b 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.
2010-09-07 18:52:06 -07:00
Dianne Hackborn
42c03e579a 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
2010-09-07 15:46:55 -07:00
Nipun Kwatra
f5e1faf1cc Merge changes I71f5b0fc,I92c7accb
* changes:
  Moving decision to use still camera to CameraSourceTimeLapse
  pass auxiliary video parameters.
2010-09-03 17:14:51 -07:00
Nipun Kwatra
4a857e620f 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
2010-09-03 17:09:36 -07:00
Andreas Huber
1ab9d1289b 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.
2010-09-03 14:54:28 -07:00
Jamie Gennis
a093659dd0 Merge "Add the new Stagefright ANativeWindow OMX codec API." 2010-09-03 14:42:06 -07:00
Jamie Gennis
33a78149e0 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
2010-09-03 14:32:42 -07:00
Andreas Huber
9fee0b2a02 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
2010-09-03 14:31:50 -07:00
James Dong
9b3569bc42 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
2010-09-03 11:37:14 -07:00
James Dong
7755cdd696 Remove unused/debugging code from MP4 file writer
o also makes nal length in the recorded file modifiable at runtime

Change-Id: I731b4dde7070d8d9628b36b523a5b2c011c7c2cf
2010-09-03 10:13:19 -07:00