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
- 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
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
- 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
- High-level behavior is identical to device HAL 2.0
- Interface is cleaned up and simplified greatly
Change-Id: Ia867bbf9484be2256470f4acfab7fc3d47e408f4