| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Validate template ID before creating a default request.
Bug: 26866110
Bug: 27568958
Change-Id: Ifda457024f1d5c2b1382f189c1a8d5fda852d30d
|
|
|
|
|
|
|
|
| |
Bookkeeping reprocess shutters separately so regular and reprocess
shutters together don't need to come in order.
Bug: 24497512
Change-Id: I4aaf22045131e9e2e26bf163f7df9ff4c5cd6259
|
|
|
|
|
|
|
|
|
|
| |
- Move SchedulingPolicyService from audioservice to mediautils
- When starting up a high speed stream config, set request queue thread
to SCHED_FIFO using SchedulingPolicyService
Bug: 24227252
Change-Id: I224b59142bd111caf563779f55cddd62385b9bac
|
|
|
|
|
|
|
|
| |
Make the Vector of next requests a RequestThread member variable
to avoid memory allocation in every threadloop.
Bug: 23360060
Change-Id: I4f33e5c49f0f4deb1f9f45bada0909da748849e4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor request threadLoop to three parts: waiting for next
batch of requests, preparing HAL requests and output buffers for
next batch of requests, and submitting the batch of requests to
HAL.
Set the batch size to the size of the request list if it's a video
recording request in a high speed video configuration.
Add a flush lock so that HAL's flush() won't be called while
submitting a batch of requests.
Bug: 23360060
Change-Id: Icd395b1f955a9b336eec6fa5aff6b17741ce08c7
|
|
|
|
|
|
|
|
|
| |
The HAL device shutdown will likely need to wait on various events and
queues to drain, and holding the mutex will prevent, for example, error
notifications from being processed. This can lead to deadlocks.
Bug: 23501571
Change-Id: I873ac23ef30545adf533e7839445448573ab5048
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 18949148
Change-Id: I8f73e68ea2e3acc60d98954106f364d13f439a82
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Potential deadlock conditions this addresses, include:
- Not waking up waiting threads for several situations where
the status had been updated.
- Not waking up all waiting thread when status had been updated
(only one thread was awoken due to use of signal).
- Threads clear status transitions before other waiting threads
have a chance to examine them.
Bug: 22448586
Change-Id: I53ba669d333a83d2bfa1ca3170d34acc6d8fe6e3
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Relax InFlightMap size check for high speed configurations to
allow more pending capture requests.
Bug: 23162274
Change-Id: I955fe9a0754f0daed001f4a2b34ccb50f2465a11
|
|/
|
|
|
| |
Bug: 20537722
Change-Id: I9fa2fcdcfd41cd3370732c70414914993d3dc94e
|
|
|
|
|
| |
Bug: 18949148
Change-Id: Ie86ec7d1ec3db54e1154563b2339a208a935f849
|
|
|
|
|
|
|
|
|
| |
Pass whether AE lock is available when creating the request thread
because when the request thread was created, its parent's info
was not set yet.
Bug: 20494782
Change-Id: I11ed3f99c473955c437e81f3e1d704c15a9ca1a4
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Support AE precapture trigger CANCEL for devices <= API
version 3.2.
Bug: 20494782
Change-Id: I6003ba8057ca4ec9e8dfda47b8411ae6be913d22
|
|/
|
|
|
|
|
|
| |
If high speed mode changed, HAL needs to reconfigure the streams
even when the stream configurations don't change.
Bug: 21900311
Change-Id: I76aee456b3b6d8c8f599a1638dcd38d75553a235
|
|
|
|
|
|
|
|
|
|
| |
Also switch use of ANativeWindow to Surface, to get to the
getConsumerName() method where necessary.
Surface can always be cast to ANativeWindow, but not the other way
around, so it's a better option anyway.
Change-Id: Ie5c2d30821c1a754f9e382699ff50b4b328288b3
|
|
|
|
|
|
|
|
| |
Since configureStreams is only called by CameraDeviceClient,
the operation mode could default-initialize to CONSTRAINED_HIGH_SPEED
for API1 operation.
Change-Id: Ide71af07ca3925db8e450d00def1daeb44d8046a
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Support new set video format/dataspace command in camera service
- HALv3: Select gralloc usage flags based on format
- HALv1: Pass format command directly to HAL layer
- Use format/dataspace command in CameraSource
- Switch all API1 recording to use metadata mode
- Switch all >= HALv2 API1 recording to use kMetadataBufferTypeANWBuffer
Bug: 13222807
Change-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42
|
|
|
|
|
| |
Bug: 21442271
Change-Id: Ia0ae5bbd3e8c81bad293c29987301a2457817d12
|
|
|
|
|
|
|
|
|
|
|
|
| |
Get an input buffer right after camera service takes one
reprocess capture request from the request queue to prevent
the input buffers getting out of order.
When aborting pending reprocess requests in the request queue, also
abort the same amount of input buffers.
Bug: 21028914
Change-Id: I7cfacecb4c24509f59c983abd587db5a403237bd
|
|
|
|
|
|
|
| |
Double-acquiring a non-recursive mutex tends to work poorly.
Bug: 21498811
Change-Id: I1d59959fca69c97684522195808019797f7a6a7d
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's a narrow window in which a capture request is neither in the
request queue or handed off to the HAL, which can be expanded to some
size if buffers have to be allocated. During this window, the
prepare() method will not correctly notice that a stream should be
considered in use.
Add a member to contain the current request being processed, and check
against it in prepare as well.
Change-Id: I3a198d617f5feee0a3332af4b4439f24eda28ea3
|
|
|
|
|
|
|
|
|
| |
- Mutexes _might_ be a good idea
- Don't be surprised by behavior that's expected
- Use the existing logging macros
Bug: 20537148
Change-Id: Ie62985a786d7e6645b4e4fe019dd98b02891a1f7
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 19395059
Change-Id: I42bbd99fef6055173062266c1a490311105c6814
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The prepare call asynchronously pre-allocates buffers for a given
output stream, and then fires the onPrepared callback.
Not implemented for Camera2Device or used in Camera2Client.
Change-Id: I1cccdfff846dd6985133c591dbdceed823929ade
|
|/
|
|
|
|
|
| |
Add support to create input stream, submit reprocess capture requests,
and receive reprocess capture results.
Change-Id: Iee2d4313f3d52616a484eaea7a28f5ef9d8a674b
|
|
|
|
| |
Change-Id: I0f4343a0bfa7bf09ba887c78a1da1c08daa35333
|
|
|
|
|
|
|
| |
- Remove unused arguments from ICameraDeviceUser::createStream
- Add dataSpace as a stream parameter, plumb it through everything
Change-Id: I608cafe694785d1c512276e71b2016f8ac3b0ccb
|
|
|
|
|
|
|
|
|
| |
Implement flashlight for HAL v1 devices and remove
CameraHardwareInterface's dependency on CameraService to avoid
circular dependency.
Bug: 2682206
Change-Id: Id5bbccef085b607a6189763fd7fbe2e3f26868c8
|
|
|
|
|
|
|
|
| |
Wrap camera module returned from HAL so get_camera_info returns
static_camera_characteristics processed by framework, which
generates keys added after HAL3.2 is released.
Change-Id: Ief423a1571cf06c7ef80b98b403a33969baf95f6
|
|
|
|
|
|
|
|
| |
Assuming the jpeg header can take up to 256KB, make sure we always
allocate enough size for the image data.
Bug: 18962703
Change-Id: I08eb3d198d12f71f3ab7266324e80fe7410bdc89
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the code to remove in-flight requests from processCaptureResult
to a separate function so it can be called when the framework
receives a result or a shutter event. An in-flight request will only
be removed when both results and the shutter event arrive in the
case of a successful request.
Also send out results only after the shutter event receives.
Bug: 18135776
Change-Id: I340db1a495c711b0913784d43fd0f144871e4420
|
|
|
|
|
|
|
|
|
|
|
| |
For per-frame error notifications, camera3.h requirements state that all the
buffer handles for a failed frame capture must be returned via
process_capture_result() call(s). Hence, Camera3Device needs to ensure that
the frame entry is not deleted from mInFlightMap until all buffers for that
frame have been returned by HAL.
Bug: 17757940
Change-Id: I2579ca7980d2fd67d53abc530e2706538f7d3d3a
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 16899526
Change-Id: Ia995aac6360c9c41ed654af5a7052480f23903d8
|
|/
|
|
|
|
|
|
|
| |
Update ZSL processing tags according the still capture template
Also cache the request template to avoid extra cost of querying
into HAL every time.
Bug: 17463102
Change-Id: I2eeffefb0a4131c99a85dd3e4484cc6f0f025efa
|
|
|
|
|
|
|
|
| |
When recording fails to start due to stream configuration failed,
try configure stream again by setting jpeg stream to video size.
Bug: 16162133
Change-Id: Ib20271e787ae07719ce419f0b15c7f86434f7ebb
|
|
|
|
|
|
|
|
|
|
|
| |
A workaround for a camera device HAL v3.2 or older specification hole - it's
not acceptable to configure_streams with 0 output streams. However, we allow for
this at the public API level, to allow an application to release all output streams.
So in this case, create a dummy stream that doesn't actually do anything as a placeholder.
Bug: 17220694
Change-Id: Ib25242ffc2c9f2b2f619fd5fe6d652266579da85
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add more error codes to the binder camera2 callbacks
- Translate HAL errors to callback errors
- When flushing, report failures for queued requests
- Treat stream config failure as nonfatal
- Send request errors when buffers aren't available for captures
Bug: 15524101
Bug: 14448494
Bug: 11272459
Bug: 17160301
Change-Id: I81aa54e805a9cce1cb8a6a9374549daa7666deb2
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix missing triggerId introduced by previous cleanup change.
bug 17108154
bug 17053130
Change-Id: Ifda55d5fbe992d98f335a8427aa256d78a856586
|
|/
|
|
|
|
|
|
|
| |
This makes the configuration more eager (no more waiting until the first
request) and also allows any errors to immediately be sent back to the
client.
Bug: 16629195
Change-Id: I0c365bc8f760466916dcc089217a43c43f9f4c9d
|
|
|
|
|
|
|
|
|
| |
- Only one place calculating the jpeg size-the device layer, Camera2Device and
Camera3Device.
- Remove size argument for CameraDeviceBase and cleanup related code.
Bug: 14327010
Change-Id: I45d2ab4859ee0cc9273e579254f0569108c748f1
|
|
|
|
|
|
|
|
|
|
|
| |
- Refactor where availability listeners are called to centralize behavior,
ensuring that all client creation/destruction invokes the listeners
- Clean up some of the client hierarchy
- Filter error codes from key HAL calls to ensure proper reporting
Bug: 16514157
Bug: 16483222
Change-Id: I59875a865b6a508b47423946c78862da8df34cd1
|
|
|
|
|
|
|
|
|
| |
Also override the disconnectLocked method in Camera3ZslStream to make sure the
Camera3ZslStream specific buffer queue is cleaned up properly.
Also revert 0be123df1897fd3fe1b7ba30f24d8ae4c91b4dc7, as it was not the right
fix.
Change-Id: I89bdcb2e206379ae1f2602421e7fdbcde9a31399
|
|
|
|
|
|
| |
Otherwise, the metadata entries will be duplicated.
Change-Id: If0cd96e09960fdf746a70913d380e9036745a944
|