Android T migrated the HAL interface to AIDL, but the reference HAL
was never updated to use AIDL. This CL migrates the reference
HAL implementation for external cameras to use AIDL as well. The
external HAL uses V4L2 standard to expose USB cameras to the
cameraserver.
The reference HAL implementation for internal camera was dropped
because it is not possible to write a generic HAL that works with some
large percentage of internal cameras.
Bug: 219974678
Test: Existing CTS tests pass with external camera connected.
Change-Id: I35f3dc32c16670eca7735a4ac00fed3daf36aa65
This API was added to work around an AIDL versioning issue that has now
been fixed.
The changed imports now count as a change to the interface, so this
placeholder API is no longer needed.
Test: m
bug: 237048744
Change-Id: I6c3edb156435b5d66578fe8250716333e0f54d6e
Add a frame number field in HAL capture result metadata to indicate
the frame number of newer request overriding this capture.
This is needed so that ZoomRatioMapper can look up the newer request's
zoom ratio.
Also add VTS test for transition between OFF and ZOOM.
Test: Camera VTS on cuttlefish
Bug: 239822823
Change-Id: I7439950cdb9f346bf36c4cc872fd7865eb9cf669
This reverts commit f415f561a8.
Current HAL assumes that no new setCallback() is called after the start
of camera provider. Having more than one callback listeners breaks that
implicit assumption. It may not be trivial for HAL to add support for
multiple callback listeners
Test: CameraAidlTest#setTorchMode passes
Bug: 251111588
Change-Id: Idd2a250dc325b1a1080c1fa6562507e563cf545c
The new API can be used to speed up certain controls (such as
zoom) with capture request.
Auto-generated file from changes in metadata_definitions.xml
Bug: 239822823
Test: Successful build
Change-Id: I73faf396e8e050b4fda19c013a1542cc03b9af08
Test: Ran CtsCameraTestCases.
Test: Ran VtsAidlHalCameraProvider_TargetTest.
Test: Created app to test display P3 camera, switching between color spaces
Bug: 238359088
Change-Id: I382dea5d13582817959001246240141e83d8172d
The reason for this problem is: local variables are used when saving
PhysicalCameraCharacteristics. When its life cycle ends, physChars will
be released. Since Entry uses a pointer, data will be null. So physChars
should be defined outside else to ensure that physChars is not released
during use
Bug: 248221707
Test: VtsHalCameraProviderV2_4TargetTest
Test: VtsAidlHalCameraProvider_TargetTest
Signed-off-by: kongchenrui <kongchenrui@xiaomi.com>
Change-Id: I4c05e695d255f210f310f8ce78ec2fa71a42cee9
Test below sequence:
- ICameraProvider::setCallback
- setTorchMode(on)
- verify torch mode on callback is received
- ICameraProvider::setCallback
- verify torch mode on callback is received again
This makes sure if torch is on, a new callback registration will trigger
a flash-on callback.
Test: atest VtsAidlHalCameraProvider_TargetTest
Bug: 247038031
Change-Id: I6cea64fcd08fd68fda78b3c0efb7763b7de6edbc
interfaces.
- Add new Android.bp in graphics folder and wrap composer and common
AIDL in to separate cc_defaults.
- remove composer3 dependency from allocator's VTS .bp file.
Bug: 243429120
Test: builds
Change-Id: Ia91e4ab87b7ac86248094317185b317d5604e654
Raw buffer handles do not support metadata queries and need
to be imported first.
Additionally map the result buffer ids to the inflight
buffers and queue the maximum amount of inflight buffers
as advertised by Hal. Since we will be streaming a set
of buffers, use an appropriate preview size.
Bug: 237576060
Test: adb shell
/data/nativetest64/VtsAidlHalCameraProvider_TargetTest/VtsAidlHalCameraProvider_TargetTest
--gtest_filter=PerInstance/CameraAidlTest.process10BitDynamicRangeRequest/0_android_hardware_camera_provider_ICameraProvider_internal_0
Change-Id: Id854c2a8d1588a151240d1b32197dbace7e1a057
Some are still in VNDK because they are used in other VNDK libs.
Ignore-AOSP-First: some libs are still in internal master only.
Bug: 234181591
Test: m
Merged-In: If999df9c78a20df931177da11742b1c5de19bc08
Change-Id: If999df9c78a20df931177da11742b1c5de19bc08
(cherry picked from commit 5527adfd7f)
Some are still in VNDK because they are used in other VNDK libs.
Ignore-AOSP-First: some libs are still in internal master only.
Bug: 234181591
Test: m
Change-Id: If999df9c78a20df931177da11742b1c5de19bc08
The anonymous namespace in camera_aidl_test.cpp contained a buggy
implementation of `matchDeviceName` can was being called into by a few
tests. This CL removes the buggy implementation and fixes the faulty
calls to call into the correct function.
Bug: 233252432
Bug: 233221359
Test: atest VtsAidlHalCameraProvider_TargetTest
Change-Id: Icfe9bbc75e38d4d23bdcf64a048120708045b639
The AIDL interface specificies that ICameraProvider::setCallback should
return Status::ILLEGAL_ARGUMENT if the provided callback is null. The
setCallback test incorrectly checked for the return value to be OK
instead.
This CL fixes the test to check for ILLEGAL_ARGUMENT and removes setting
callback to null from setTorchMode test. In addition it fixes
`setCallback` test to use Bn* variant of ICameraProviderCallback to
ensure that the object makes it through the binder.
Bug: 233221359
Test: atest VtsAidlHalCameraProvider_TargetTest
Change-Id: Ia33226b15efd9628bf8e1b53ec2a3012b08eaaac
I23a4324602 updated stream use cases to use 64 bit integers. The
`configureStreamUseCases` test was still using a pointer to 32 bit
integer to determine supported use cases. This CL updates how supported
use cases are populated to use a pointer to 64 bit integers instead.
Bug: 226171215
Test: `configureStreamUseCases` which was failing on cuttlefish is now
passing
Change-Id: I5b1ef4e8e344e43b10ea5c992afaace03608660d
This CL fixes two tests:
* `systemCameraTest`: Fix incorrect vector initialization. The test was
accidentally using the size constructor instead of initialization list
constructor.
* `processMultiCaptureRequestPreview`: Allow unsupported stream configs.
The test assumed that all stream combinations from physical cameras
that back a LogicalMultiCamera were supported. This led to false
test failures. This CL allows the test to exit early if the HAL
reports that a stream combination is not supported.
Bug: 222648486
Test: `test VtsAidlHalCameraProvider_TargetTest` pass on failing devices
Change-Id: I009cc2f4b8b94a26b813883cdc1403ae0eb5c477
The default value of a Stream's `dynamicRangeProfile` field is invalid,
which means the caller needs to set it to a sensible default with each
call. This CL updates the Stream creation in VTS test to use
`ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD`
wherever a Stream object was being created with implicit default.
Bug: 210912368
Test: Existing VTS tests now pass on Cuttlefish
Change-Id: Iaae2f6dfde852fc9c076a6029854ccdf8f68d39a
ag/16982347 and ag/16988237 were submitted around the same time, but
can cause build failure when put together. This CL fixes the
compilation issues and a few other other warnings.
Fix: 221154052
Test: Existing
Change-Id: Ia865e3bfc6cd77e7eff1efa5729d6db0d58c279d
This CL migrates the existing camera VTS tests to AIDL
Bug: 210912368
Test: Migrated all HIDL tests to AIDL
Change-Id: I4da6d38105d96908684a754da73699486295da8b
Additionally extend the dynamic range profile map to include
hints about extra lookahead latency.
Bug: 215396395
Test: Camera CTS
Change-Id: I600a3147d94a9aad1a312b92aacee014c05db16f
* Timed out runs do not show any warning messages.
* These test files cannot finish clang-tidy runs with
the following settings:
TIDY_TIMEOUT=90
WITH_TIDY=1
CLANG_ANALYZER_CHECKS=1
* When TIDY_TIMEOUT is set, in Android continuous builds,
tidy_timeout_srcs files will not be compiled by clang-tidy.
When developers build locally without TIDY_TIMEOUT,
tidy_timeout_srcs files will be compiled.
* Some of these test modules may be split into smaller ones,
or disable some time consuming checks, and then
enable clang-tidy to run within limited time.
Bug: 201099167
Test: make droid tidy-hardware-interfaces_subset
Change-Id: I1de28f1572fff368f67eab512fffec9f2e5c2a9b
Added a check that HAL does not advertise multiple preview rates for
the same recording rate and size.
Bug: 200310682
Change-Id: Ia213f152ad00c846a533577e552b668efdde6f3d