Commit graph

620 commits

Author SHA1 Message Date
Jean-Michel Trivi
eec87706d2 Remote audio submix: blocking writes and sleeping reads.
Change how the remote audio submix is handling piping audio
 through the pipe:
 - use a MonoPipe as audio sink for blocking writes,
 - use a MonoPipeReader as audio source for non blocking reads,
  and keep track of when recording started to align the
  time at which the in_read() call should return with the
  projected time of the recording duration.

Change-Id: I8b0f8c56a0486806101e272dfbf9c6d2d1c11112
2012-09-17 09:59:42 -07:00
Jean-Baptiste Queru
4fbd199696 Delete headers that have been moved
Change-Id: I72e81a3ea789fe15d5a6cea281ebe43f82220669
2012-09-15 09:24:58 -07:00
Mathias Agopian
7f9067f0fc Merge "Layer flags won't change between prepare and set" into jb-mr1-dev 2012-09-14 17:41:14 -07:00
Jesse Hall
6b01e2eaf7 Layer flags won't change between prepare and set
Change-Id: I0f25766976e4f783066e5b6fd917d1769906e43e
2012-09-14 17:21:22 -07:00
Martijn Coenen
1c970f1a49 Initial NFC HAL for NCI controllers.
Bug: 7123942
Change-Id: Ic64aa6477f2eb65b489b3be5d49ad21ccce63e2d
2012-09-14 13:56:58 -07:00
Eino-Ville Talvala
9633d506b7 Camera2: Add CAMERA2_HAL_PIXEL_FORMAT_ZSL temporarily.
Until all HAL implementations move to the new gralloc format selection
scheme, define FORMAT_ZSL for indicating ZSL streams.

Bug: 6243944
Change-Id: I90249beaaca5da80c9464eedd6aa9d3648bb56cc
2012-09-13 16:32:14 -07:00
Jean-Michel Trivi
1df8c7a52b Merge "Remote submix audio module: sleep less, log errors" into jb-mr1-dev 2012-09-13 13:36:13 -07:00
Jean-Michel Trivi
6acd966320 Remote submix audio module: sleep less, log errors
Neither write nor read are blocking, but write simulates
 timing by checking the clock between two writes and
 computing how long the next sleep should last.

Change-Id: I495ae6d44b0cf75a24fe4b70662cfac679049c67
2012-09-13 12:23:43 -07:00
Jesse Hall
7cb03d79b3 Add outbuf fields for HWC 1.2 virtual displays
Also rename HWC_DISPLAY_RESOLUTION_* to HWC_DISPLAY_WIDTH and
HWC_DISPLAY_HEIGHT for consistency.

Change-Id: Iabe6db0816f6f6eaaac24c3c9ae554177bcabf1d
2012-09-12 09:41:57 -07:00
Eric Laurent
5d85c537fc update audio remote submix API revision
Update remote submix audio HAL API revision to 2.0
(new audio device enums).

Change-Id: I61d5faf498144002929e570ee50375b059fb17c5
2012-09-10 10:36:09 -07:00
Eric Laurent
43110fa5e5 Merge "audio: new audio devices enums" into jb-mr1-dev 2012-09-07 14:52:28 -07:00
Jean-Michel Trivi
416d37b37b Audio remote submix in hardware modules
Change-Id: I878c6f36685eff48a3cd51acceec812b61994945
2012-09-07 11:25:59 -07:00
Eric Laurent
85e08e2625 audio: new audio devices enums
Changed audio device API version to 2.0 because of
new enums for audio input and output devices.

Removed implementations of get_supported_devices() in
stub and usb audio modules.

Change-Id: I09345d38929d931e5015e36d18259f5a5f950298
2012-09-07 10:32:57 -07:00
Jean-Michel Trivi
88b79cb001 Add audio module for remote submix
New definitions of audio devices for remote submix: one representing
  a sink for writing the audio buffers that won't be played directly
  locally, another representing the audio source that can be read from
  to obtain the audio mix.

New audio hardware module encapsulating the submix loop functionality.
  Create a Pipe to serve as non-blocking audio ring buffer between
  the output device (the sink) and the input device (the source).

Change-Id: I527f4721a69ced0430a99ebba3b4db7d419f2bb2
2012-09-06 18:33:04 -07:00
Eric Laurent
3f014b988e Merge "audio effects: add audio source indication" into jb-mr1-dev 2012-09-06 18:04:40 -07:00
Eino-Ville Talvala
207466367a Merge "Revert "Revert "Add reprocess method, redefine gralloc ZSL usage flag""" into jb-mr1-dev 2012-09-04 16:22:06 -07:00
Eino-Ville Talvala
7f8dd0ad2d Revert "Revert "Add reprocess method, redefine gralloc ZSL usage flag""
Missing project ready to go.

This reverts commit 536148699beffcc4e6a2ced7c41fbbc3bcfa9886

Change-Id: I101343b443be6febe160685de6d72ddbf7e6aea5
2012-09-04 14:21:07 -07:00
Jesse Hall
47eb07f389 Merge "Make HWC_MODULE_API_VERSION fit in uint16_t again" into jb-mr1-dev 2012-09-04 13:59:20 -07:00
Eino-Ville Talvala
49b1d6baeb Merge "Revert "Add reprocess method, redefine gralloc ZSL usage flag"" into jb-mr1-dev 2012-09-04 12:28:11 -07:00
Eino-Ville Talvala
3b98ffb168 Revert "Add reprocess method, redefine gralloc ZSL usage flag"
More dependent projects than I realized

This reverts commit 7fa4a7e706cd8da0a4fd6722ff3b00b8088a01ae

Change-Id: I813ffde0f8d602fd6d75186bf82e93c7ffed9a9a
2012-09-04 12:27:14 -07:00
Eino-Ville Talvala
fcc5ea2b3e Merge "Add reprocess method, redefine gralloc ZSL usage flag" into jb-mr1-dev 2012-09-04 12:08:54 -07:00
Jesse Hall
903811cd00 Make HWC_MODULE_API_VERSION fit in uint16_t again
Change-Id: I4e32c3b7be9826cfac1e7226f7fd8894b6c97c1e
2012-09-04 11:43:06 -07:00
Eino-Ville Talvala
70d87bf07e Add reprocess method, redefine gralloc ZSL usage flag
- Camera2: Add allocate_reprocess_stream_from_stream for ZSL usecases
- Gralloc: Make GRALLOC_USAGE_HW_CAMERA_ZSL be simply
  GRALLOC_USAGE_HW_CAMERA_READ | GRALLOC_USAGE_HW_CAMERA_WRITE
- Gralloc: Add GRALLOC_USAGE_HW_CAMERA_MASK

Change-Id: Icd8ac1f786e3adb6a422f27f03a5a4cb04a815cc
2012-09-01 18:28:38 -07:00
Eric Laurent
a07ef69482 audio effects: add audio source indication
Added a command to audio effect API to indicate the
audio source to audio pre processings.

Change-Id: Ia9d68bc095b8bc5d3cf847a406ec0a719a1c14ac
2012-08-31 18:42:35 -07:00
Jesse Hall
b3f211aa06 Merge "Add new HWC 1.1 queries and hotplug callback" into jb-mr1-dev 2012-08-31 12:56:58 -07:00
Jesse Hall
2c13759c61 Add new HWC 1.1 queries and hotplug callback
Change-Id: I40164e60b33174e98a3843ec99f1680b1bb1c675
2012-08-31 09:25:46 -07:00
Jesse Hall
673a810469 Merge "Encode header version in api versions" into jb-mr1-dev 2012-08-30 13:53:14 -07:00
Jesse Hall
3f5b522ac9 Encode header version in api versions
Change-Id: I0216bef3ba0cfaed2fe908f735e546d0734c0b13
2012-08-29 10:36:36 -07:00
Eino-Ville Talvala
2388a2dc91 Camera2: Use HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED
Align camera2's management of platform-opaque formats with rest of
framework. Instead of using CAMERA2_PIXEL_FORMAT_OPAQUE, use
HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED as the format for both the
camera HAL and for gralloc, and depend on the gralloc usage flags to
let the gralloc module select the appropriate real format for specific
stream endpoints.

Add a new gralloc usage for ZSL mode, where the camera service will
hold a streaming circular buffer of opaque full-resolution images
during camera preview. Since this is an opaque format that needs to be
optimized for 30fps operation, need gralloc to be aware of this use
case.

Bug: 6243944
Change-Id: If7f2516649381ce9bcffe4e319b63cbc068f643f
2012-08-28 14:22:53 -07:00
Eino-Ville Talvala
b8b6439598 Camera2: Make static_camera_characteristics const.
Disallow modification to static characteristics structure, and clarify
ownership and lifetime of the structure.

Also update test code accordingly.

Bug: 6243944
Change-Id: I6921d6889937212867efb99aa3881ab3ffc4f6f9
2012-08-27 10:30:04 -07:00
Eino-Ville Talvala
43a2bbb9de Merge "Revert "Camera2: Make static_camera_characteristics const."" into jb-mr1-dev 2012-08-26 14:44:46 -07:00
Eino-Ville Talvala
dde2a9d4b5 Revert "Camera2: Make static_camera_characteristics const."
Needs a third change that's not yet done with review.

This reverts commit c9ec8a656b59912f496880d3a63c0decd490f09d

Change-Id: Ic3e465e1308cbf107a250ec17b73a59a35e52f9f
2012-08-26 14:44:38 -07:00
Eino-Ville Talvala
f186f98fb0 Merge "Camera2: Make static_camera_characteristics const." into jb-mr1-dev 2012-08-26 14:15:55 -07:00
Eino-Ville Talvala
d959ec5297 Camera2: Make static_camera_characteristics const.
Disallow modification to static characteristics structure, and clarify
ownership and lifetime of the structure.

Also update test code accordingly.

Bug: 6243944
Change-Id: Ib8de5e9d6580187b21a5ae9a28a3d24f1d083f7b
2012-08-24 14:28:54 -07:00
Jesse Hall
0a0a41653d Simplify and clean up legacy decisions
During the HWC 0.x evolution, some fields were left optional or
organized strangely to avoid breaking backwards compatibility. Since
we're breaking it in the transition to HWC 1.0 anyway, we can clean
these up a little.

* The current callbacks are now registered immediately after the
  device is opened and guaranteed to be present, so the implementation
  can rely on them being present.

* The hwc_methods_t structure is gone, with its two methods folded
  into the main hwc_composer_device_1_t.

* All methods and callbacks are now required except dump(). New
  methods and callbacks we add in the future will still be optional
  for backwards compatibility.

Change-Id: I5d58774a5144016993c12df3dd6ad2a5d746bee9
2012-08-22 12:10:06 -07:00
Jesse Hall
43b51d9fdd Add NUM_DISPLAY_TYPES query and refine display list semantics
Change-Id: I740859bfa2b126edcdf06f7b2c8208770bc864f9
2012-08-22 12:10:06 -07:00
Jesse Hall
f4e4624ef7 Define HWC_DEVICE_API_VERSION_1_1
Change-Id: I925e010fb6367979de9b7657607ea5b444820a7e
2012-08-21 15:24:55 -07:00
Jesse Hall
43923defb7 Merge "HWC 1.1: add FRAMEBUFFER_TARGET layer type" into jb-mr1-dev 2012-08-20 16:34:03 -07:00
Jesse Hall
d18c83fc04 HWC 1.1: add FRAMEBUFFER_TARGET layer type
Change-Id: I61965c343dceb4137bc439b49ea90ec13183b719
2012-08-16 16:21:13 -07:00
Colin Cross
705d2912b7 hwc: update blank documentation to specify that blank is synchronous
Change the documentation of the blank function in the hw composer to
specify that the screen state transition must be complete when the
function returns.

Change-Id: Ibd0a9cdef13991c36cabada5fc0e4f7bb8fa7af9
2012-08-16 14:46:45 -07:00
Matthew Xie
1098f9d7e9 Merge "Enhanced bluetooth HAL with DUT mode APIs" into jb-mr1-dev 2012-08-13 23:55:27 -07:00
Kenny Root
23c9cfde22 am 42a70b67: Merge "Enhance keymaster tests"
* commit '42a70b67abf0fce9c0f898c92a6e3c36e92773e9':
  Enhance keymaster tests
2012-08-13 17:31:00 -07:00
Kenny Root
42a70b67ab Merge "Enhance keymaster tests" 2012-08-13 16:33:05 -07:00
Kenny Root
53c71df3bc Enhance keymaster tests
Check the key values of successful attempts.

For imported keys, the key values should match the
input values when they're returned.

For generated keys, the modulus size should be correct and the public
exponent should be correct.

(cherry-pick of 280dbc7e691304cccb2a32683d1a5a13cc188e41)

Bug: 6736252
Bug: http://code.google.com/p/android/issues/detail?id=34212
Change-Id: Ieaf922ec83e0b81feb08f6ac3977e4aabd09ce14
2012-08-13 15:47:11 -07:00
Kenny Root
af5a7f7978 Merge "Enhance keymaster tests" into jb-mr1-dev 2012-08-13 15:09:08 -07:00
Kausik Sinnaswamy
e7ae6be42a Enhanced bluetooth HAL with DUT mode APIs
These APIs are needed to allow the bluetooth chip to be put into DUT
mode so that RF/BB BQB tests can be run

Change-Id: I0b01943256bb77ad7924bf67cabfc468662a2299
2012-08-13 12:08:44 -07:00
Eino-Ville Talvala
f7a60c464a Camera2: Add ZSL pixel format, AF CANCEL trigger, lots of docs
- Add CAMERA2_HAL_PIXEL_FORMAT_ZSL
- Add CAMERA2_TRIGGER_CANCEL_AUTOFOCUS
- Add documentation to describe how AUTOFOCUS and CANCEL_AUTOFOCUS
  triggers interact with AF state, mode, and notifications.
- Other minor edits

Bug: 6243944
Change-Id: I679c40cfe08e62d3a5851839f748fe2292bbfae7
2012-08-10 09:25:49 -07:00
Kenny Root
8467a6d291 Enhance keymaster tests
Check the key values of successful attempts.

For imported keys, the key values should match the
input values when they're returned.

For generated keys, the modulus size should be correct and the public
exponent should be correct.

Bug: 6736252
Bug: http://code.google.com/p/android/issues/detail?id=34212
Change-Id: I37ed97d36ebfbe4301b43426129928bcb53c39f8
2012-08-09 12:12:28 -07:00
Jamie Gennis
8655693eff Merge "Simplify prepare and set semantics (comments only)" into jb-mr1-dev 2012-08-07 16:20:07 -07:00
Jesse Hall
ac3f7e195c Simplify prepare and set semantics (comments only)
Documentation updated for semantic changes vs. HWC 0.x:

* Prepare won't be called with NULL pointers. This used to be used to
  disable hardware composition, though that wasn't documented. Now
  we'll call prepare with non-NULL pointers but the layer list will
  have zero layers.

* Set won't be called with NULL pointers. This used to cause the
  display to turn off; that is now done by calling the blank() method,
  which is no longer optional.

Change-Id: I9c69dc34f64e499a5ba5f8729836e7c216f8c733
2012-08-07 16:08:35 -07:00