Several functions call close() while they are holding a lock, which
results in recursive locking. This CL implements close_locked() to avoid
such behavior.
Bug: 62919192
Test: run vts -m VtsHalCameraProviderV2_4Target, and camera should still
work after it
Change-Id: Ib38e1de19ed3c927bfb645c0c777c04f157f2b88
HAL is allowed to return captureResult from different thread contexts.
Do not do ALOGW if this is the case.
Test: Run camera and check logspam is gone
Bug: 62068207
Change-Id: I86e77fc578953cefecf10ebc4d395edf33627e8c
Freeing the native handle isn't enough; we need to close the fence FDs
after sending them to the camera service, since that's the behavior
that the legacy HAL interface requires.
Test: Camera CTS continues to pass.
Bug: 38482274
Change-Id: I879de566dcafecc1b899d79e68b38ea39b91a37e
These are tracked elsewhere and won't be addresed for the initial
interface versions.
Update current.txt hashes; comment-only update
Test: Compiles
Bug: 34108979
Bug: 33269977
Bug: 33262893
Change-Id: I0c0521cf69649d871f64a67773ce822db2487044
These TODOs aren't in scope for the wrapper libraries.
Leave the few TODOs that have bugs tracking them, and the ones that
are from autogenerated metadata.
Test: Builds
Bug: 34108979
Change-Id: Ib28467a4fbcfaab4a0809334bc62eabb9290797a
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Merged-In: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
RAW boost key inside result and request metadata could be
absent depending on CameraHal. In case RAW boost range is
supported, the RAW boost value must always be present.
Bug: 34392075
Test: runtest -x
cts/tests/camera/src/android/hardware/camera2/cts/DngCreatorTest.java
Change-Id: I4c27b3fe5228ff604e3f2796abc670be5c17da67
CameraHal version 3.2 doesn't support cancel AE pre-capture
trigger. Camera request metadata that contains this value
needs to be overriden respectively. The corresponding results
also require the same kind of modification.
Bug: 34392075
Test: runtest -x
cts/tests/camera/src/android/hardware/camera2/cts/StillCaptureTest.java
-m testAePrecaptureTriggerCancelJpegCapture
Change-Id: If8bcf7e97ca8691cf890d5d6306d49dc3ddd087a
Older CameraHal versions are still using deprecated dataspace
definitions. Mapping between these dataspaces is needed to avoid
discrepancies.
Bug: 34392075
Test: Manual using camera application
Change-Id: I811dec879494445736b4e3731b2d516e396a9058
The camera-HAL implementation may need to communicate with other vendor
components over /dev/vndbinder. Route all libbinder traffic to that
node.
b/36651814
b/36651237
b/35870313
b/36683636
Test: sailfish
Change-Id: I9b80fefbcdf5ce18a2d788e8582ea8791a604435
Signed-off-by: Iliyan Malchev <malchev@google.com>
Revise IAllocator and IMapper to reduce IPC and to support gralloc0
devices.
Specifically, IAllocator is trimmed down to have essentially only
allocate(BufferDescriptor descriptor, uint32_t count)
generates (Error error,
uint32_t stride,
vec<handle> buffers);
The ability to allocate buffers with shared backing store is
removed. ProducerUsage and ConsumerUsage are moved to the
graphics.common package and are merged and renamed to BufferUsage.
BufferUsage's bits follow gralloc0.
IMapper gains
typedef vec<uint32_t> BufferDescriptor;
createDescriptor(BufferDescriptorInfo descriptorInfo)
generates (Error error,
BufferDescriptor descriptor);
where BufferDescriptor is an implementation-defined blob. lockFlex
is replaced by lockYCbCr. All getters are removed.
Reference counting with retain/release is replaced by
importBuffer/freeBuffer.
Most if not all gralloc1 features are not used by the runtime yet.
There is also not too much test written for them. As such, they
tend to behave differently between implementations and cannot be
used reliably.
Bug: 36481301
Test: builds and boots on Pixel
Change-Id: I1d31105120517ea2c128c7a19297acf3bfd312bb
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h
Test: pass
Merged-In: Iff316b21bef556bb026378b7f89e97ded3febef4
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
The match will use iterators that will be invalidated when the
used string input goes out of scope. Refactor the API to return
the two components of the match.
Bug: 36871785
Test: m && m SANITIZE_TARGET=address
Change-Id: I2418541234a09e53856ea61e0fbc4b67d8036308