1179 Commits

Author SHA1 Message Date
Jeff Brown
2dfd7a7cbf 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
2010-08-18 13:37:45 -07:00
Jeff Brown
29eb491a5a am 3922484d: Merge "Optimize EventHub reads." into gingerbread
Merge commit '3922484d7458a4ab72fc1ca8952a0776dd1c7d20' into gingerbread-plus-aosp

* commit '3922484d7458a4ab72fc1ca8952a0776dd1c7d20':
  Optimize EventHub reads.
2010-08-18 13:37:44 -07:00
Jeff Brown
8fd80e924a 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.
2010-08-18 13:36:08 -07:00
Jens Gulin
c4554b9a08 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
2010-08-18 10:54:03 -07:00
Wu-cheng Li
c86960236d Merge "Document that autoFocus must be called in auto and macro mode." into gingerbread 2010-08-18 10:19:45 -07:00
Kenny Root
02ca31fbae 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
2010-08-18 09:34:58 -07:00
Jeff Brown
cc2e717f1d Optimize EventHub reads.
Change-Id: Id7d09c0a6e5c741c1e29becd2b6560772c5ff372
2010-08-17 19:40:26 -07:00
Jeff Brown
2cbecea4c9 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
2010-08-17 17:03:42 -07:00
Wu-cheng Li
f008f3ea82 Document that autoFocus must be called in auto and macro mode.
Change-Id: Ia52f8bc8a75a7473edff50326a4a0467f4295e6a
2010-08-17 13:44:35 -07:00
Jean-Baptiste Queru
0c316eeb43 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
2010-08-17 09:06:52 -07:00
Jean-Baptiste Queru
6525fca692 resolved conflicts for merge of be50507b to gingerbread-plus-aosp
Change-Id: Iaa5fb62f7b82b488bca192e7f374c044c7e1e6a7
2010-08-17 09:01:26 -07:00
Jean-Baptiste Queru
be50507bae Merge "Keep track of remaining fd when devices are removed" 2010-08-17 07:49:54 -07:00
James Dong
4ad5c707fa 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
2010-08-16 15:18:13 -07:00
James Dong
b72081966d 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
2010-08-13 18:12:48 -07:00
Wu-cheng Li
fd83b2f92e am 77a473fb: am ccaa0028: Merge "Improve camera documentation." into gingerbread
Merge commit '77a473fbcea0214832255af91e0a65d853757aae'

* commit '77a473fbcea0214832255af91e0a65d853757aae':
  Improve camera documentation.
2010-08-12 14:07:59 -07:00
Wu-cheng Li
699fe93979 Improve camera documentation.
Change-Id: I3c9e5e6de5ce64b8d7d892483930238fa9cc247c
2010-08-12 14:00:14 -07:00
James Dong
e63cccf006 am 8aa244ea: am 45cb3cfa: Merge "Handle large audio lost" into gingerbread
Merge commit '8aa244eab7ba834439cc919fd1f83d1e4ef49aff'

* commit '8aa244eab7ba834439cc919fd1f83d1e4ef49aff':
  Handle large audio lost
2010-08-12 10:22:58 -07:00
James Dong
45cb3cfacf Merge "Handle large audio lost" into gingerbread 2010-08-12 10:07:51 -07:00
Jeff Brown
b219a83ff6 am f66f8a58: am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread
Merge commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58'

* commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58':
  Add support for the PointerLocation overlay.
2010-08-11 16:22:47 -07:00
Jeff Brown
95af0c14a6 Merge "Add support for the PointerLocation overlay." into gingerbread 2010-08-11 16:15:48 -07:00
Jeff Brown
a41ca77fab 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
2010-08-11 14:46:32 -07:00
Kenny Root
1f5a8d96da am 80328ba0: am 8ea71511: Merge "Initial tool for OBB manipulation" into gingerbread
Merge commit '80328ba09606bd0825d7d4c9a4f213d1de09e53a'

* commit '80328ba09606bd0825d7d4c9a4f213d1de09e53a':
  Initial tool for OBB manipulation
2010-08-11 14:15:20 -07:00
Kenny Root
6e7ac5f0bc 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
2010-08-11 11:24:41 -07:00
Dianne Hackborn
7b6d0d99b6 am 679ac09a: am a5ae50cd: Merge "More native work." into gingerbread
Merge commit '679ac09a5c22175354f3a04b28456b323839530e'

* commit '679ac09a5c22175354f3a04b28456b323839530e':
  More native work.
2010-08-11 00:50:56 -07:00
Dianne Hackborn
08d5b8fad8 More native work.
Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
2010-08-11 00:29:59 -07:00
James Dong
afe5305855 Handle large audio lost
Change-Id: I2687ad855aac758946954d0b3fe7aff9f7b5ae7c
2010-08-10 19:59:04 -07:00
Jeff Brown
ea48ff4ba4 am 95105f3c: am c3fc2d03: Fix safe mode and KeyEvent.getMaxKeyCode().
Merge commit '95105f3c25110f28b236cfa71e9ad74533eef854'

* commit '95105f3c25110f28b236cfa71e9ad74533eef854':
  Fix safe mode and KeyEvent.getMaxKeyCode().
2010-08-10 16:39:10 -07:00
Jeff Brown
c3fc2d03d5 Fix safe mode and KeyEvent.getMaxKeyCode().
Bug: 2901731
Change-Id: I78617c1b9dee3790fc590e5af4b5083368873184
2010-08-10 16:28:03 -07:00
Andreas Huber
030af3439f 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.
2010-08-09 20:00:25 -07:00
Andreas Huber
520b2a7039 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
2010-08-09 10:01:26 -07:00
Kenny Root
91fc6e8c89 am d7ce227b: am 818490ab: Fix String8::operator+
Merge commit 'd7ce227bcb854f048124bbc487eba844c6599142'

* commit 'd7ce227bcb854f048124bbc487eba844c6599142':
  Fix String8::operator+
2010-08-06 19:04:09 -07:00
Kenny Root
818490ab2a Fix String8::operator+
The LHS was ignored when using:
  String8 + String8
  String8 + (const char*)

Add unit tests for above.

Bug: 2898473
Change-Id: Ic8fe7be668b665c36aaaa3fc3c3ffdfff0fbba25
2010-08-06 09:00:10 -07:00
James Dong
84d65c725b 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
2010-08-05 15:25:18 -07:00
James Dong
1441bdfc19 Merge "Use the target color format from the camera source if possible" into gingerbread 2010-08-05 15:10:03 -07:00
James Dong
afd97e82cf 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
2010-08-05 13:47:01 -07:00
Andreas Huber
0a3858b0de 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.
2010-08-05 11:46:04 -07:00
Brian Carlstrom
3c7c351a62 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
2010-08-04 23:47:38 -07:00
Nipun Kwatra
b70c1db70f 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
2010-08-04 14:04:07 -07:00
Andreas Huber
57648e4eec 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
2010-08-04 11:49:24 -07:00
Chris Tate
5bac1cc0b8 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.
2010-08-04 11:12:32 -07:00
James Dong
26d7a6df73 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
2010-08-04 11:12:03 -07:00
James Dong
6c8687cf1e am 51a260d8: am 23796e3b: Merge "Add lost frame handling in AudioSource" into gingerbread
Merge commit '51a260d8c6e9a5c6b6c2cf808554ae013c1a7bef'

* commit '51a260d8c6e9a5c6b6c2cf808554ae013c1a7bef':
  Add lost frame handling in AudioSource
2010-08-03 15:52:48 -07:00
Chris Tate
5d46ce24cc Merge "Enhanced VelocityTracker for > 5 pointers and fixed bugs." into gingerbread 2010-08-03 12:22:50 -07:00
James Dong
3d84280ccc Merge "File writer has a designated writer thread now" into gingerbread 2010-08-03 10:35:55 -07:00
James Dong
23796e3b62 Merge "Add lost frame handling in AudioSource" into gingerbread 2010-08-02 18:13:54 -07:00
James Dong
da8073c68e 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
2010-08-02 18:08:02 -07:00
Nipun Kwatra
b1fb6079ef 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
2010-08-02 09:49:07 -07:00
Jeff Brown
9e2ad36be8 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
2010-07-30 20:08:29 -07:00
Nipun Kwatra
51c2ec2411 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
2010-07-30 17:51:59 -07:00
Jeff Brown
bc6ed6c9f6 am 3b724c83: am 00e5c613: Merge "Improve thread safety of input mappers." into gingerbread
Merge commit '3b724c836b13b320b2b2c492c28660617e0d503e'

* commit '3b724c836b13b320b2b2c492c28660617e0d503e':
  Improve thread safety of input mappers.
2010-07-30 14:52:12 -07:00