- Add non-blocking write support, set_callback() function
- Add pause, resume, flush, drain functions to audio output stream
- Add audio parameter defines for compressed audio metadata
- Extend audio_config_t to include an audio_offload_info_t field
- Add is_offload_supported() function to test whether there is
hardware decode support for a given compressed audio format
- Change audio_stream_frame_size() to handle offloaded streams.
For an offloaded stream the size is always counted in bytes
(frame size == 1) and the number of channels is irrelevant.
Change-Id: I5b82c3fdcfa1456502d0042888f166bf02d8d54b
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
Flush is used to quiesce a camera device as quickly as possible, which
can be used to deal with a pathological client (requests a frame
duration of hours then dying) as well as speed up stream configuration
changes when the outstanding requests data isn't required.
Change-Id: Ie822efae8c705bd64d63c0eab7e9c291ecb570ef
HALs seem to need to know the gralloc usage flags of the opposite
endpoint (producer/consumer) of a stream at configure time.
Instead of adding another call to pass stream information, we just
pass the usage flags in the existing usage field.
Change-Id: I745baf2c4dd9123273d811b9bd52ae68c854b70c
Add hints for video encode and decode use cases. These
hints are sent when the relevant use case starts and ends.
Clients can also send metadata along with the hint to provide
context to the power HAL so that it can make more informed
decisions about how to tweak system-level parameters.
Bug: 9325608
Change-Id: I4731acbe50a7401a95ec9231c4e1a4795098fcd4
Signed-off-by: Iliyan Malchev <malchev@google.com>
Fused location allows for fusion of information from
multiple source like GPS, Wifi, Cell, Bluetooth, Sensors etc
to get a location. Doing this in hardware is useful because
it can be done completely in the baseband without waking up the AP.
Change-Id: Ib007839ff51b7e87e8d62f0ff9fea1c4a474b1d1
This method is meant for locking the flexible YCbCr format documented in
the system graphics header.
Bug: 8734880
Change-Id: I45ae8937dcc16d0ae8a204a136121f78b4cc51e0
- Clarify ownership of fence file descriptors, including in case of
errors.
- Make it clear notify SHUTTER must be called before the first
process_capture_result.
Change-Id: I644054a7a055c2e8a6a164c5ab6439ef2a0d1df1
This method is meant for locking the flexible YCbCr format documented in
the system graphics header.
Change-Id: I98b196bab06f1d05fce725da44760180ce487034
Allow the HAL to split the capture result across multiple calls to
process_capture_result, so that when the sync framework cannot be
used, some output buffers can still be returned later than others.
Change-Id: Iea7f77a3d28daac3a94045ab4566f677aa53a7f9
Improve explanation of Batch mode
Put the 4th component of the unit quaternion back in the rotation vector
Modify rotation vector description
Modify definition of uncalibrated sensor event
Remove query()
Change-Id: I7564073fac0e2467bcfca040b259d9d20e2688c5
- Detailed documentation of the 3A state machines
(autofocus, autoexposure, auto-whitebalance)
- Add error return value for out-of-sequence device calls
- Spelling fixes
Change-Id: Icc4e1980b1ff058425a42bc665d345070944b173
- Array of streams given to configure_streams() must be an array of
pointers to streams, to allow framework to fulfill stream structure
lifetime guarantees.
- buffer_handle_t needs extra level of indirection to match HAL1 & 2.
Change-Id: Iee071da39218a748933c3dfa7bccb66fe92c05f1
Specified more precisely what the uncalibrated magnetometer should be
Added uncalibrated sensors event struct
Specified that rotation vector and game rotation vector have to use gyroscopes
Added magnetic field rotation vector
Added accuracy field to rotation vector and magnetometer rotation vector
Added section on comparative importance of batching different sensors
Specified that one-shot sensors must deactivate themselves before sending an event.
Change-Id: Ibc30ce6fc30e698af49a91930bd5a8316b6568b9
- Support a simple callback from camera HAL module to framework, to
indicate a change to module configuration or status.
- Add support for per-instance metadata to camera 2 device HAL.
Change-Id: I25699ff096c4f3578b9e54c7e6e60ce2449adc82
- High-level behavior is identical to device HAL 2.0
- Interface is cleaned up and simplified greatly
Change-Id: Ia867bbf9484be2256470f4acfab7fc3d47e408f4
A special value for NULL effect UUID is declared as const
in audio_effect.h. This prevents several modules including
audio_effect.h to be linked together.
The fix consists in declaring the value as static const.
Change-Id: I86e74dc9da8eaed13a3ad44765abb9cd1e80f316
mainly update the documentation, add new sensor types
and add a batch mode.
- TYPE_PEDOMETER, defines a pedometer sensor
- TYPE_SIGNIFICANT_MOTION, defines a sensor that triggers an
event when the device is moving "enough". This sensor must allow
the SoC to go into suspend, while it is enabled.
- TYPE_STEP_COUNTER, defines a pedometer but returns a step count
(and looses precise timestamps, per step).
Change-Id: I3e20ff165851b7cb318f3c6637a6580de156b8fe
- add support for SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED
- add support for SENSOR_TYPE_GAME_ROTATION_VECTOR
- add support for SENSOR_TYPE_GYROSCOPE_UNCALIBRATED
Change-Id: I83048eb239d2123b5ec1f411b99f1883080a646f
Add support for querying whether there is currently a recording
underway from the specified audio source.
Bug 7314859
Change-Id: I270f27eff4dcf1cc179089859a4c690140825ad1
The way buffers are passed to JPEG encoders makes it difficult to
account for a header offset. This explains moving the header to
the end, and clarifies the required header packing.
Bug: 7108816
Change-Id: I569cd0cde37bd6fd7110fbc95d7fced9a55cff9c
The hotplug callback is non-reentrant. The display config functions
return an error if called for a disconnected display type.
Change-Id: I52d11a53f9b30a7c39e98b0a9b07eb97a3d2becd
To simplify passing compressed JPEG data between the HAL and the
camera service, add a transport header for use with JPEG streams.
Bug: 7108816
Change-Id: I91060051f59032e66eaaab3ee9f651badd1f2ac0
Until all HAL implementations move to the new gralloc format selection
scheme, define FORMAT_ZSL for indicating ZSL streams.
Bug: 6243944
Change-Id: I90249beaaca5da80c9464eedd6aa9d3648bb56cc
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
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
More dependent projects than I realized
This reverts commit 7fa4a7e706cd8da0a4fd6722ff3b00b8088a01ae
Change-Id: I813ffde0f8d602fd6d75186bf82e93c7ffed9a9a
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
Disallow modification to static characteristics structure, and clarify
ownership and lifetime of the structure.
Also update test code accordingly.
Bug: 6243944
Change-Id: I6921d6889937212867efb99aa3881ab3ffc4f6f9
Needs a third change that's not yet done with review.
This reverts commit c9ec8a656b59912f496880d3a63c0decd490f09d
Change-Id: Ic3e465e1308cbf107a250ec17b73a59a35e52f9f
Disallow modification to static characteristics structure, and clarify
ownership and lifetime of the structure.
Also update test code accordingly.
Bug: 6243944
Change-Id: Ib8de5e9d6580187b21a5ae9a28a3d24f1d083f7b
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
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
- 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
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
(cherry picked from commit d245968b7ef0be5c776c9aefff3eca9e293d1b35)
> Extend the audio HAL interface to support get/set master mute
>
> Hand merge from ics-aah
>
> > Extend the audio HAL interface to support get/set master mute: DO NOT MERGE
> >
> > Extend the audio HAL interface to allow HALs to optionally support HW
> > level master mute. This follows the same pattern as master volume and
> > is part of the fix for bug 6828363. Because of the divergences
> > between ICS and master, this change will need to be merged by hand.
> >
> > Signed-off-by: John Grossman <johngro@google.com>
> > Change-Id: Ica6f5e37e13d13dde60463966f41f271ffa104fd
>
> Change-Id: I5e7aea6d7da0012dcc077281f9077fc04cfb9889
> Signed-off-by: John Grossman <johngro@google.com>
Change-Id: I2011cc5bc41ca7081ce255a4bfba65f36f899bc4
Signed-off-by: John Grossman <johngro@google.com>
GRALLOC_USAGE_HW_CAMERA_WRITE is for camera outputs in the new camera HAL.
GRALLOC_USAGE_HW_CAMERA_READ is for sending previously captured camera
data back into the camera pipeline for further processing. For
example, for converting a raw sensor image into YUV or JPEG data.
Bug: 6243944
Change-Id: If9011ec320a1a804f3337704243ed7fc410fec91
Add a new blank operation to be called by surfaceflinger when the screen
turns on or off. Also rev the API version to 1.1 for the new field.
Change-Id: I266fb33f66184538e34cfc319f63cf809dcb2f18
The new version adds an acquire and release fence to each layer,
providing explicit producer->hwc and hwc->producer synchronization.
Change-Id: Ibd6e3c7b3515c012c767246e6d6514274fdef01d
Added definitions for querying supported channel masks, sampling rates and
format with out_get_parameters().
Change-Id: Icb28fcef504c7e0a0b2daeb1bc7e704d20d3b738
hwcomposer_defs.h now contains enums, which are essentially names.
This won't change when we rev the h/w composer API (new ones will be added instead).
we do this to avoid having to abstract all these constants in higher
level APIs; instead hwcomposer_defs.h can be included without exposing
the hwcomposer's data structures (which are a lot more fragile wrt.
backward compatibility)
Change-Id: Ifb514f64de02a599fdd2d31c188327209ccb0ffc
- Clean up const/struct usage in HAL
- Add user pointer to notify callback
- Revamp allocate_stream, now it picks its own ID.
- Much simpler stream interface
- Merged request/reprocess input queues
- Frame queue interface no longer a mirror of request queue
- Added triggers/notifications
- Added default request creation
- Lots of comments
Unit tests added:
- Lots of utility code to speed up test writing
- Basic open/close
- Capturing 1 raw buffer (request input, frame output, buffer output)
- Capturing a burst of 10 raw buffers
Bug: 6243944
Change-Id: I490bd5df81079a44c43d87b02c9a7f7ca251f531
This change clarifies the meaning of the HWC vsync timestamp to specify that
the timestamp must be relative to the system monotonic clock.
Change-Id: I4386ce90511fd5b8f8e988917da637d84d86f026
Modified open output and input stream functions to add new
parameters needed by audio HAL. Also grouped parameters
in a config structure for clarity.
Change-Id: I60832d8e5b5e4a48f209a6d83f5ca9c044be61f1
- Add missing method in stream_ops (set_buffers_geometry)
- Remove extra method in stream_ops (set_swap_interval)
- Document metadata queue protocol
- Change metadata queue methods to be set/get through function calls
only, instead of a struct member in the HAL device ops.
- Change vendor extension tag query methods to be retrieved by a get
call, instead of a struct member in the HAL device ops.
- Add basic gtest unit test skeleton, which currently just returns
static info from all camera devices.
Change-Id: I94117097b0243023ad60638070cc7f0cefec18e6
Added methods to audio_policy_service_ops to load an audio hw module.
Added methods to open an output or input stream on a particualr module.
Change-Id: Ia0618053bec9978c1b7d2a5f6c02b78209557256
These constants should be used by HAL implementations to indicate
which versions of the module and device APIs they support.
Change-Id: I4b6eae278481545694e6a1827833b5958c26720c
The first flag is something for the default implementation to use to
indicate that its keys are importable to hardware keymasters. This
allows easy migration from the default software implementation to
hardware implementations as they become available.
Change-Id: Ideb26a4b1ac91ca8c330a4fe4df323f028b2f855
In order to aid keymasters erase their memory efficiently, introduce new
delete_all API to tell keymasters to forget everything. This will be
triggered when keystore itself is told to reset.
Change-Id: I730375f1f32cd1ea0bf1fa38d5b1bec2f81ba492
This allows all the existing modules to have source level
compatibility until they are fixed to use the new field names.
Since the binary compatibility has not been altered, we do not
need to force all the implementors to rev their version numbers.
This change should be reverted when all the clients have been updated.
Change-Id: Ie543d3a972d8abe03ca5123e3000966f048d1771
Signed-off-by: Dima Zavin <dima@android.com>
The previous names and documentation were not clear as to how the
version fields should be used. As a result, they were often either
unused or used improperly.
It became clear that there were two version fields necessary. One
to version the implementing module and the other to version the
hw_module_t interface itself.
This change renames version_major and version_minor members of
hw_module_t to module_api_version and hal_api_version. It also
provides in-depth descriptions for all the fields and clarifies
the purpose of the version field in hw_device_t structure.
Change-Id: I3e33e5a922cdc17c5e3b1c30a00e211394f18e86
Signed-off-by: Dima Zavin <dima@android.com>
Switch from unspecified encoding for import of keys to PKCS#8 (Java
standard encoding).
Add function for obtaining the public key from a keypair.
Add fields for RSA key generation that indicate modulus size and desired
public exponent.
Add in placeholder fields for possible digest and padding types for
signatures. Currently the only thing supported is "none" and "none"
respectively.
Change-Id: I19ee02cf35321aee859e2460a963c7213791414b
Add I2C slave address. Multiple I2C addresses are possible
for PN544 module. Configure address according to board design.
Change-Id: I847e8f3db631f5039cf15143a9982f4b9b209f27
This is a squashed merge of the following changes:
Commit f560da61a5e128ca9f82f7fe939afcf1f09188c7
Author: John Grossman <johngro@google.com>
Date: Thu Aug 11 15:34:55 2011 -0700
Fill out a missing entry in the audio HAL function table.
The entry for get_initial_master_volume was missing from the non-legacy audio
HAL and needs to be filled out. Also fix up the order of the comments
describing the get_initial_master_volume method.
Change-Id: I87d5415ef92611497a6dab4c657fc00367c4d80b
commit cea82facb63fd237a4ea6fb770605fcb500850ff
Author: Jason Simmons <jsimmons@google.com>
Date: Thu Jun 16 14:24:24 2011 -0700
Define a replacement for getSampleDelta that returns a DMA start time and count of samples queued
Change-Id: I2d13f57b5a8c5b97fb3aa0a90834ce91c56864ef
commit 60a9acd7eee470a8d870218e8be618bfa3be15a5
Author: Mike J. Chen <mjchen@google.com>
Date: Tue Jun 7 09:13:23 2011 -0700
Add Android@Home extensions to new Audio HAL interface.
Change-Id: I3ea4676d4b7d2afd78a5a7a7003ad5c437276d05
Signed-off-by: Mike J. Chen <mjchen@google.com>
Change-Id: I09f3756d12a1ce4f9af39610ed857890742a72df
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
Conflicts:
include/hardware/audio.h
modules/audio/audio_hw.c
This is a squashed merge of the following changes:
commit 9def1ae65f6b4d6a8fdec147fdcd34f22f08174a
Author: John Grossman <johngro@google.com>
Date: Fri Aug 12 11:47:20 2011 -0700
Change the signature of set_local_slew.
Changed the definition of the slew function in the local time HAL to take an
int16 instead of an int32 and to use the full range of the int instead of
attempting to imply any particular PPM range.
Change-Id: Ia67f50e77f1fe674a63ec69460e830d1191ef5a0
commit afab51327453d1bfc7423f8ce7a28933d8fc49b2
Author: John Grossman <johngro@google.com>
Date: Mon Jun 27 17:29:07 2011 -0700
Remove "primary" from the local_time HAL.
Interface instances are a pattern which should only be used by audio. Remove
its use from the local_time HAL.
Change-Id: If4c458cf16a02d9dc63c04185111ae793fc57801
commit 1c26e59a66e75ccb31027f42183aaa32bde6e456
Author: John Grossman <johngro@google.com>
Date: Fri Jun 17 14:19:24 2011 -0700
Refactor the local/common clock services.
This change is one of a set of 5 changes made to different repositories. Look
for this comment in all of them.
Refactor the local/common clock services to match android best
practice. Notable changes include
+ The kernel no longer knows anything about common time. Common time has been
moved completely up into user land. This has an impact on the accuracy of the
timesync debugging code, and the netfilter assisted approach to network based
timesync is going to have to be modified.
+ The timesync driver used by A@H is now just local time driver.
+ The kernel no longer needs access to the linear transform math code, and it
has been removed.
+ A new HAL has been introduced to expose the concept of local time to the
system.
+ A non-slewable stub implementation of the local time HAL based on
CLOCK_MONOTONIC has been added.
+ The old library has been eliminated. Its functionality has been
distributed among the common time binder service, the local time hal and the
linear transform utility code.
+ All clients of the old library have been changed to be clients of
the binder service, the hal and the utility code.
+ The reset_tt utilities have been removed, they no longer have a purpose in the
system.
Change-Id: I39843b94f9b6d13f63b22145a2edcafe4ca87349
Change-Id: Ib264c992d564b99ef7c7847a788e4fa7f5e101b4
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
Conflicts:
modules/Android.mk
At higher levels, SurfaceTextures include timestamp information in
their buffers. For accurate timestamps, they need to be set by the
driver code. This change adds the needed method into
preview_stream_ops.
Timestamp behavior is documented in SurfaceTexture.java, and
system/core/include/window.h, as well as here.
Bug-Id: 5081132
Change-Id: Id285f8e26edecf605444bc4b9e6eea9b224f9d31
Improve volume management by keeping track of volume for each type
of device independently.
Added functions at the audio policy interface to set and get stream volume
for a particular device.
Change-Id: Ic8899e82e48193cb65b3673e9d20383efed943b5
Added API to query and configure effects supporting auxiliary channels.
An auxiliary channel contains an additional audio signal helping in the
processing of the main channel. An example is a dual mic noise suppressor
were the main channel contains the signal from the main mic and the aux channel
containss the signal from the sub mic.
Change-Id: Ibb7a19d7f492720ebad0be45f78f996e0beba272
Renamed audio effect library interface command for audio format
configuration from EFFECT_CMD_CONFIGURE to EFFECT_CMD_SET_CONFIG.
This makes the naming more consistent with other exixsting commands
and allow adding new a command to get the configuration (EFFECT_CMD_GET_CONFIG).
Same change for reverse channel configuration renamed from
EFFECT_CMD_CONFIGURE_REVERSE to EFFECT_CMD_SET_CONFIG_REVERSE.
Change-Id: I1cc462aa50e58ceec900b3da9bd3873d2d098098
This change adds a new Gralloc usage bit to indicate that a buffer will
be passed to the HW video encoder.
Change-Id: I75c3fc514906e5b18fb60345a2d9c5a606403633
First implementation of a NFC HAL. This implementation doesn't
offer a generic NFC device HAL (yet), but offers typed interfaces
for different NFC controllers. Currently only the PN544 is supported.
Change-Id: I3ac04dcd767fb12a433edbe88ec7068eb1930a57
the current API / Documentation would not allow to set the
rate of "non continuous" sensors.
Most sensors HAL implementation already support changing the rate
(technically they're not compliant with the doc), so it's easier
to change the doc (and also allows more control).
Change-Id: I4ad324ddc3b569ec61770b3cf927c06f8ff4af4e
This header is required by our GLES emulation guest code to be able
to access the emulator services provided through the /dev/qemu_pipe
special device.
Change-Id: Ia9782256048d7340237f3e1d18d7452dd815e561
Added a method on audio policy interface to register
audio effect CPU usage on enable and unregister on disable
instead of when the effect is created or destroyed.
Change-Id: Iee20bf70fee7302f817ec4c7d9bf7640caca2e95
This change adds a new Gralloc usage bit to indicate that the Gralloc
buffer being allocated will be passed to the HWComposer HAL module.
Change-Id: If901f886cb22fc8379811898db3a380a61c0e442
The <hardware/qemu_pipe.h> header was missing an include
that causes the code under development/tools/emulator/opengl
to fail to compile on OS X.
You need to define BUILD_EMULATOR_OPENGL=true in your
environment, otherwise this code doesn't get built yet by default.
Change-Id: Ia1b48c0ab84f493f3c9f95030d9165961069fb6e
With the new model, we will try to connect client via pipe first, and only if
the pipe connection is not available we will fall back to the socket connection.
Change-Id: I7112ff3cb63e1f82a004b80b9ae579d97e15e029
Added definitions of keys and values used to enable or disable
AEC and NS via set_parameters according to BT headset capabilities.
Change-Id: Id3fba06edfe77e2832b8256c0c4c46eeef17b816
This is useful in various situations, for instance if the HAL
wants to change its compositing strategy.
Bug: 4488017
Change-Id: Idc410c689af30a2c9613dc3141e323d6e02a5648
Giving HAL control of locking buffer instead of locking in dequeue buffer.
Change-Id: I2640b784218fa67ccb051c13b24f2d3dda48ce9a
Signed-off-by: Iliyan Malchev <malchev@google.com>
-- add a callback to camera_memory_t that can be used to free the requested
memory
-- memory requests are in the form of N buffers S bytes each
-- data callbacks pass an index to a buffer in addition to the camera_memory
pointer
Change-Id: I368139809f25a662d8895f205e3b87fa5046a4b2
Signed-off-by: Iliyan Malchev <malchev@google.com>
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.
Change-Id: I32fd752e449337410115121c1c60c699d95247c2
fb and gralloc are part of the same HAL for now,
but for clarity we split them into these two headers.
Change-Id: I8e9e3068e47f0d94dd7c145d72fdc2e9fff24af5
camera.h
-- a HAL module for the camera, camera_module_t, which can be queried for the
number and orientation of the available camera sensors. A camera sensor is
also opened through this module, and is represented by:
-- a HAL device for each camera sensor, camera_device_t, which encapsulates all
the functionality of the base class CameraHardwareInterface;
Change-Id: I79a9524ceeafc4275581c009d7b9c0fa05eed764
Signed-off-by: Iliyan Malchev <malchev@google.com>
These definitions now live under system/core/include/android/graphics.h
Change-Id: I65ca8226cb42387748c3aaa1432423153d1dad33
Signed-off-by: Iliyan Malchev <malchev@google.com>
This header is used to implement qemu pipes, a very fast way to exchange
messages between the guest and the emulator program. See implementation and
tests under development/tools/emulator/system/libqemu/
Change-Id: I8272435cb9bf6e2a96ac62b9a56cbc5930052682
Needed for things like audio and audio effects. Provides a
new interface to loading modules named 'hw_get_module_by_class'.
This takes two parameters: 'class_id' and 'instance' which are
used to construct the filename for the module to be loaded. If
instance is NULL, then this function acts identically to
hw_get_module where 'class_id' == 'id' (and in fact the latter
implemented exactly this way).
For audio, this new mechanism allows us to load multiple audio
interfaces by doing:
hw_get_module_by_class("audio", "primary", &module);
hw_get_module_by_class("audio", "a2dp", &module);
hw_get_module_by_class("audio", "usb", &module);
...
In the future we will likely want to add the ability to load a set of
module instances based on a config file, which will have a standard
syntax and the mechanism will be provided by libhardware.
Change-Id: I9976cc6d59a85a414b18e7b398a36edfbce4abd8
Signed-off-by: Dima Zavin <dima@android.com>
the rotation-vector sensor must transmit the W component of the
unit quaternion in data[4].
This change doesn't cause a compatibility issue because nothing in the
system relies on the W component being present.
Change-Id: If4f699ac8d41d8b957925b375e355a138a82dcf8
This change adds a gralloc usage flag to indicate that a buffer should
be displayed full-screen on an external display if one is present.
Change-Id: I3230a8dd2c49c89c81bf0ee9e646a448028bda2e
Merge commit 'ccacbce375af6422fa24f81bdc771a5460f60fed'
* commit 'ccacbce375af6422fa24f81bdc771a5460f60fed':
fix part of [Issue 3114236] [Crespo] The order of FLIP_H and ROT_90 is different from other devices
there are a typo in hardware.h where FLIP_V and FLIP_H were inverted.
this change will probably break all the overlay HALs which
implement FLIP_V/H, which thanksfully are not many.
Change-Id: Ie824d9a924354d637e44eb6476cb4e5e945c3594
Merge commit 'ee1b98f8b3016173b3aadcb652cc53c5ca09c093'
* commit 'ee1b98f8b3016173b3aadcb652cc53c5ca09c093':
added a new hint to tell SF it should clear the FB for some layers
Merge commit '754c7a01d76493a2c3afafe21c3d52abbada3ef0'
* commit '754c7a01d76493a2c3afafe21c3d52abbada3ef0':
first stab at hwcomposer HAL and default implementation.
Merge commit 'bb2c87ea03c6bff09ea05dc6ba69796efe31ebdb'
* commit 'bb2c87ea03c6bff09ea05dc6ba69796efe31ebdb':
improved comments and added a minDelay attribute to sensor_t
Merge commit 'f0e4ec1a04701c40e38a09a97e6f1c417163e0c2'
* commit 'f0e4ec1a04701c40e38a09a97e6f1c417163e0c2':
Be more explicit about the rate at which sensor events must be returned
Merge commit '97ba26bb6de7dd7317c36ac0a3406919dd09bdaf'
* commit '97ba26bb6de7dd7317c36ac0a3406919dd09bdaf':
new sensor_event_t structure for the new HAL that can handle bigger payloads