Added here is the header file that defines HDMI-CEC HAL interface.
Its main purpose is to support major CEC features such as 'one touch
play', 'standby' for playback device. But basic skeleton for supporting
other kinds of devices(like TV) is also in place.
Change-Id: Iccbbec398bc675d69cb78ad6848ec57ac727cb8d
For HAL3.2 or above, the HAL must return the input buffer in capture result
rather than capture request.
Change-Id: I0108cda1cdf51556d7273b2c3cfbaf0e6ecd1d76
There's a discrepancy in the order of arguments between the interface
and the implementation. bluedroid swaps the |error| and |local_role|
arguments when calling back so this change redefines the interface
for consistency.
http://b/12853951
Change-Id: I0ccfc6d6d2002d647d484ab7f53744863b569502
The upstream goldfish_pipe driver uses goldfish_pipe as a name instead
of qemu_pipe. Try using this name if the old name (qemu_pipe) fails.
For: ABIT-15
Change-Id: I8c6178faf27b1cdb31cc4343cf1af396e929f7e4
Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Signed-off-by: Jun Tian <jun.j.tian@intel.com>
- Deprecates vendor tag specification in camera3 device.
- Moves vendor tag ops declaration to camera metadata library and
cleans up definitions.
- Updates the example HAL.
Change-Id: Ifb16bb0d4bbc896bc32d33dd150e7e174af57dad
Android's implementation of vibrator needs to be done inside a
hardware module, so that it can make a vendor implementation possible.
Hw module's name becomes vibrator.default.so.
This change is related to other changes in:
- frameworks/base
- hardware/libhardware_legacy
- device/generic/goldfish
- platform/build
Change-Id: I844279f5535289f079d412fdc44c5cb3c9c1130c
Author: Vincent Becker <vincentx.becker@intel.com>
Signed-off-by: Vincent Becker <vincentx.becker@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: David Wagner <david.wagner@intel.com>
Author-tracking-BZ: 49760 94611
Ensure none of the HAL structs change size over time.
Issues might arise when making changes without taking the different
pointer sizes for specific architectures into account.
Change-Id: I63f00004a23f09b2f46df01e7c69296766a5d03f
For wrapping the disk encryption secret, we add a flag that indicates it
can be done without having to start some storage daemon which the
trusted OS will query to get data needed to load up the keys. This
usually means that the "key blob" we store is actually just the RSA key
encrypted with the device's KEK and not a reference to an encrypted
filesystem stored on /data
Also to allow other providers to upgrade to V3 of the header, we add
flags to show whether the keymaster supports different key types. This
allows keymaster HALs to support the whole device encryption secret
wrapping without needing to implement DSA and EC key handling. The V2
header made support implicit.
Change-Id: Ic5b13e2e84dd91e7a4ae443048ecc16cc805cb97
Needed to support the real case of continuous focus giving up on a
scene for a while (say, a blank wall), during which we shouldn't claim
the lens is in motion.
Also add new states for INACTIVE to clarify it as the starting state
after mode transitions or enabling AF/AE/AWB.
Bug: 10860639
Bug: 10446772
Change-Id: Ie4c1ac73e5a9eb6d1894d83dbded49a2767a8ffd
The original version of this HAL used a field in keymaster_module to
represent the module's version number, but a later revision of the HAL
interface added a distinguisher between HAL module and device versions.
This is needed to support upgrade code in keystore.
(cherry picked from commit c124b23f94)
Bug: 10600582
Change-Id: Ia2b0cbeca5c507600228c39ec7a8402f819f8804
This updates the camera module API to have vendor-specific tag support.
Vendor-specific metadata tags could be contained in static camera
characteristics, so we need a method of accessing vendor tag information
from the module level (and not just with a device open).
Bug: 10612133
Change-Id: I28e8c769f8112ff4f745f3f1b5472e8a718f1356
The original version of this HAL used a field in keymaster_module to
represent the module's version number, but a later revision of the HAL
interface added a distinguisher between HAL module and device versions.
This is needed to support upgrade code in keystore.
Bug: 10600582
Change-Id: Ied34cf382e2b7725e648faada00df2dee993e6c5
Added EFFECT_CMD_OFFLOAD command to audio effect control
interface. It is used by the framework to indicate if
the playback thread the effect is attached to is offloaded
of not.
Added effect flag EFFECT_FLAG_OFFLOAD_SUPPORTED indicating if
the effect implementation supports offloading to a DSP.
Change-Id: I26553576657d3aa9cd0cdcd5785c813b02f48136
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
Both surfaceflinger and HWC implementations have been defining these
themselves, making future changes more difficult. Better to define
them centrally, where they can be updated easily.
Change-Id: I793158b858c84b2470b05f9ea77cc5a0c7e247f1
If a remote devices offers multiple descriptors with the same UUID, the
instance ID is used to differentiate between them.
Change-Id: Ia5ab989f222a5cf1b7cb66966ad4f91f2b660708
Step count can reset when android restarts
When calling activate() without calling setDelay() before, use a default rate
Uncalibrated magnetometer should not be low pass filtered
The accelerometer can be used for the geomagnetic rotation vector
When batching call retuns an error, it shouldn't change the state. In particular, it shouldn't change the rate.
batch(timeout=0) must always return success
Wake upon fifo full will never be specified when timeout=0
setDelay is not called when in batch mode
Change-Id: I8a437eeedbdc54e5f1f3e644a92e9f781d7add0d
- 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