External camera@3.5 supports the new buffer management
API that allows HAL to request buffer when needed to
optimize the memory usage.
Test: smoke test TestingCamera
Bug: 109829698
Change-Id: Icfbb75a26d8e92e4eb82a680e94e183041a5174d
Hal must be able to recommend efficient stream
configurations for common client use cases. Add the
necessary static metadata keys.
Bug: 64029608
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I0c2306501094383af78cb7ced1fa700b259d2b08
Also includes:
- Add test for getPhysicalCameraCharacteristics.
- Doc update for the new HIDL API.
- Tighten boundary check for camera ID in CameraModule.
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Bug: 79523700
Bug: 115969176
Bug: 116512585
Change-Id: I051d1b0c91834781a1f8d893ed5ebfa579b03774
Verify that device implementations do not set the
new privacy characteristics key:
ANDROID_REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION
As required by API contract.
Bug: 112160024
Bug: 115969437
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I8d8f0d0e1cdec24117d47e7ae45602f56573376f
- Add version 3.5 for ICameraDevice for physical camera characteristics
query.
- Add version 3.5 for ICameraDeviceSession to work around HIDL
versioning bug.
Test: Camera CTS
Bug: 79523700
Change-Id: I8df6cdd4ee6ac5755758510c0dc1ea1cec31aa73
The advertised ISO ranges may not be entirely supported on
some devices. Expect a 3% tolerance when comparing the applied
results versus the expected ISO value.
Bug: 80025874
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Merged-In: Ibd2758e48a0924e81877e35dd27433669274fdb3
Change-Id: Ibd2758e48a0924e81877e35dd27433669274fdb3
(cherry picked from commit 0fdd7cdc0e)
Claim torch API support though there is no device
actually has a flash unit. This is to workaround
an issue in camera service where it falls back
to legacy camera HAL1 control if the device does
not report torch API support (and external camera
HAL does not implement HAL1)
Test: CtsVerifier FlashLight test
Bug: 113336515
Change-Id: I945b35fecfed3b2698b1e9bb1d8faad8699258d2
After flushing the camera requests don't try to close the
camera session while still holding 'mLock'. Different Hals
could still try and return additional results which then will
get blocked on 'mLock'. Closing the session could potentially
introduce a deadlock if the Hal implementation waits for any
of the result calls to return.
Bug: 111836165
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I0f309f435cc76db3f9b6ba500da65a232b014717
Merged-In: I0f309f435cc76db3f9b6ba500da65a232b014717
(cherry picked from commit 8e92056837)
Per API specification "physicalCameraId" must not
contain any logical camera ids. The test case
should only use the physical ids it receives from the
camera static metadata.
Bug:109874630
Test:run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I82c5bf44f4572b3a6abdbb3101a11140907b1c9e
Added a secondary Camera Provider for 64bit HALs
Test: GCA and normal camera usecases, CTS
Bug: 73173997
Change-Id: I2d9b9a916edc71b73086375f541368b080f5eca9
Vendor-specific property should have "vendor." prefix.
Bug: 36513925
Test: succeeded building and tested with taimen
Change-Id: I80f17fb6b8017a761122ddd2f8863e63c72e5623
Camera graphic buffers should always be allocated using the
respective HIDL API.
Bug: 77681294
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ibef88548fc3d29df606e4f66f5f3f4e89d3bf654
Camera provider types should not be limited to a particular set
of pre-defined values. All providers will be treated equally
by camera framework regardless of their specific type.
Bug: 73738052
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I379c015d9e2fc4f68a7ad3ae7cd92b9d230dea33
1. Add EXIF MAKE/MODEL tag
2. Add retry loop for V4L2 open failure
3. Do not add external camera if ExternalCameraDevice cannot be
initialized
Bug: 72261912
Bug: 72569850
Change-Id: I06df1fbbb4afabea1a9a74aca9e288b24966cb0b
Also remove the length check for getCameraIdList as external
camera providers are supposed to report 0 there.
Test: atest VtsHalCameraProviderV2_4Target (on marlin)
Bug: 69473913
Change-Id: I9059a699a6c46a3aac76454e7e8673d2539d0fa1
A test is needed which will generate a burst request
that contains alternating sensor sensitiviry values.
The corresponding results need to be verified accordingly.
Bug: 37533777
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I58ccb645b83c48ba3360aae5ad44036ce213964d
Empty individual physical settings should be allowed after
one initial successful request.
Bug: 72524845
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I18d22a56f5f0e6e1d81a6e8c844697c02bc343a1
Individual physical camera requests should only be allowed
in case the respective physical Ids are among the last
configured Hal streams.
Bug: 72524603
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ia5715398f74f03528d7fe2e52e5b9e32ad654a2c
Add camera removal support to CameraProvider and CameraModule.
Change-Id: I047e486d1665ba9e0b1455f77a7bbbb5e0d66653
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>
Multi-camera devices should be able to accept and process
individual settings for all physical sensors backing the
logical camera. 'CaptureRequest' must be extended to hold
these additional physical camera settings.
Test: Manual using camera application,
camera_client_test,
run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Bug: 64691172
Change-Id: Ia38d1e7681a9385be7578c11e40f4e35e9101d75
- Add physical cameraId field in stream structure.
- Override processCaptureRequest due to physicalCameraId change.
- Update 3.3 metadata with logical camera characteristics.
Test: Camera CTS on Taimen, LogicalCamera CTS test on C1
Bug: 64691172
Change-Id: I65bd1ae38381ecb89fae439ae14b813c9bcc3248
To avoid glitches and unexpected behavior, session parameters
should be included in the stream configuration before invoking
capture requests.
Bug: 70560715
Test: run vts --skip-all-system-status-check --skip-preconditions
--primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Id4ecd40533157f1a3299099a984ffab21654548a
According to the camera_module_t::get_number_of_cameras() description
in camera_common.h, it should only return the number of "fixed"
cameras, i.e. cameras, facing to the front and to the back. Any
cameras, with the facing value of "external," i.e. externally connected
cameras, should not be reported by it, instead they should later be
reported, using the
camera_module_callbacks_t::camera_device_status_change() callback.
However, this doesn't work. When a camera is reported this way, it is
ignored as unknown. Fix this by adding a new camera, when its status
change is reported.
Change-Id: I18874ed005f477e32fb723c00c16b67a81cde6ce
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>
Camera devices supporting version 3.4 will be able to receive
session parameters during the stream configuration phase.
Bug: 64450664
Test: Camera CTS
run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --primary-abi-only --module
VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ifd83bfe0e512fe75b63602b4aba98f4cc1cdeb53
Transitive includes accidentally added by hidl-gen
were getting added to import lists. This import isn't
actually required and is now properly excluded from
hidl-gen update makefiles.
Bug: 65055216
Test: none
Merged-In: I4fb4de8ef5547a3081cd55b3c75f6288cc518ba6
Change-Id: I4fb4de8ef5547a3081cd55b3c75f6288cc518ba6
- Cross check device version in name with ICameraDeviceSession version
- Switch all calls to configureStreams to configureStreams_3_3 when
a v3.3 ICameraDeviceSession is available
Test: Test passes on v3.3 devices, doesn't regress on v3.2
Bug: 62358514
Change-Id: I7450e5d5119c5ec1fe9f1360bfc99fc8a47d0936
A new 3.3 Camera device API is available and devices supporting it
need to be tested as well.
Bug: 67028051
Test: run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --primary-abi-only --module
VtsHalCameraProviderV2_4Target -l INFO
For passthrough devices: run commandAndExit vts
--skip-all-system-status-check --skip-preconditions --abi armeabi-v7a
--module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I91adb3c1867cdd8f8f810a2bd5b0a8ba2b0c1fcf
Transitive includes accidentally added by hidl-gen
were getting added to import lists. This import isn't
actually required and is now properly excluded from
hidl-gen update makefiles.
Bug: 65055216
Test: none
Change-Id: I4fb4de8ef5547a3081cd55b3c75f6288cc518ba6
Inherit as much as possible from camera.device@3.2
- Refactor CameraDeviceSession@3.2 implementation to separate out the
HIDL session interface from the main implementation object. This
avoids multiple inheritance issues
- Create CameraDeviceSession@3.3 with support for the new
overrideDataspace field
- Add virtual factory method for CameraDevice to create the right version
of Session.
- Create CameraDevice@3.3, which overrides createSession to return a
CameraDeviceSession@3.3.
- Add system property to override selection of which minor HIDL
version is used for legal HAL version 3.x; set the default to the
newest available minor version.
Test: Camera CTS passes on device using @3.3.
Bug: 62358514
Change-Id: I497e4bc0de798b56ecdb2ea6467b79afccaf89f7
To prevent property name collisions between properties of system and
vendor, 'vendor.' prefix must be added to a vendor HAL service name.
You can see the details in http://go/treble-sysprop-compatibility.
Test: succeeded building and tested on a walleye device
Bug: 36796459
Change-Id: I4e8fbee791ec917a8f627a1366f4d44ec7e6febc
* For registerTestService/getServiceName, no need to pass
any hard coded string of HAL service FQName.
* Affect test: VtsHalCameraProviderV2_4TargetTest,
VtsHalGraphicsComposerV2_1TargetTest,
VtsHalNeuralnetworksV1_0TargetTest
Bug: 62946472
Bug: 64203181
Test: make vts
vts-tradefed run vts -m VtsHalCameraProviderV2_4Target
Merged-In: If365ab2ed9a91eb4013d71769804b9d4bf089d66
Change-Id: Id0bddbc2949337147557f45cc60dbfaa114ce25e
(cherry picked from commit d71b654d6d)
* For registerTestService/getServiceName, no need to pass
any hard coded string of HAL service FQName.
* Affect test: VtsHalCameraProviderV2_4TargetTest,
VtsHalGraphicsComposerV2_1TargetTest,
VtsHalNeuralnetworksV1_0TargetTest
Bug: 62946472
Bug: 64203181
Test: make vts
vts-tradefed run vts -m VtsHalCameraProviderV2_4Target
Change-Id: Id0bddbc2949337147557f45cc60dbfaa114ce25e
Calls to 'cancelPicture' should be no-ops in case image capture
is not active.
Bug: 64569316
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --primary-abi-only --module
VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I5fad0a5b7aafd208c3a1b2f62a2b9046cde858d1
Calls to 'cancelPicture' should be no-ops in case image capture
is not active.
Merged-In: I5fad0a5b7aafd208c3a1b2f62a2b9046cde858d1
Bug: 64569316
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --primary-abi-only --module
VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I5fad0a5b7aafd208c3a1b2f62a2b9046cde858d1
This test now statically links to HAL def libs which
are not guaranteed to be on the device.
Bug: 64040096
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target
Change-Id: Ib33fdfd45b10840cce363fcda291a62e56b1d4c8
Update the Android.bp generated with hidl-gen.
Test: build with and without BOARD_VNDK_VERSION=current
Bug: 63866913
Change-Id: I1a9db1df49e0f13c5790da2b118ae9ec63ba34a7
Allow HAL definition libs to be static.
Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1483d572bea6799717d1614fb7d52fe225e31104
It is possible that the current default consumer usage
flag may not be supported by some provider implementations.
Use either HW composer or some other flag that is appropriate
for the specific use case.
Merged-In: I04f89bf67166805191d6d40e5bd93c15ebc97ea6
Bug: 63913159
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --primary-abi-only --module
VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I04f89bf67166805191d6d40e5bd93c15ebc97ea6
Also fix wrong return values for processCaptureRequest in default
wrapper.
Test: running camera VTS
Bug: 64041692
Change-Id: I397390af7c85a776713f6287bef1c4d11c721c9a
Merged-In: I397390af7c85a776713f6287bef1c4d11c721c9a
It is possible that the current default consumer usage
flag may not be supported by some provider implementations.
Use either HW composer or some other flag that is appropriate
for the specific use case.
Bug: 63913159
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --primary-abi-only --module
VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I04f89bf67166805191d6d40e5bd93c15ebc97ea6
Also fix wrong return values for processCaptureRequest in default
wrapper.
Test: running camera VTS
Bug: 64041692
Change-Id: I397390af7c85a776713f6287bef1c4d11c721c9a
Merged-In: I397390af7c85a776713f6287bef1c4d11c721c9a
Also fix wrong return values for processCaptureRequest in default
wrapper.
Test: running camera VTS
Bug: 64041692
Change-Id: I397390af7c85a776713f6287bef1c4d11c721c9a
Back port from master
Test: VTS test pass
Bug: 63570734
Change-Id: Ic0eecaf843b5c2e78f60325090ea652d43a74a0b
Merged-In: Ic0eecaf843b5c2e78f60325090ea652d43a74a0b
It is possible that the current default consumer usage
flag may not be supported by some provider implementations.
Use either HW composer or some other flag that is appropriate
for the specific use case.
Merged-In: I04f89bf67166805191d6d40e5bd93c15ebc97ea6
Bug: 63913159
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --primary-abi-only --module
VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I04f89bf67166805191d6d40e5bd93c15ebc97ea6
Some provider implementations could still be using direct
transfer of the result metadata through hw binder.
Merged-In: Ib2adaff005af77385767a32c1ed069371a6e9b7a
Bug: 63970723
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ib2adaff005af77385767a32c1ed069371a6e9b7a
Some provider implementations could still be using direct
transfer of the result metadata through hw binder.
Bug: 63970723
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ib2adaff005af77385767a32c1ed069371a6e9b7a
Some provider implementations could still be using direct
transfer of the result metadata through hw binder.
Merged-In: Ib2adaff005af77385767a32c1ed069371a6e9b7a
Bug: 63970723
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ib2adaff005af77385767a32c1ed069371a6e9b7a
* Use VtsHalHidlTargetTestEnvBase to run test against different service name
Bug:62946472
Test: make vts
vts-tradefed run vts -m VtsHalCameraProviderV2_4Target
Change-Id: I12edce57c237cb6674e0aff437c3389e5ad9e028
Listing by interface on passthrough only devices doesn't
return the legacy implementation that might be present.
For this case try to connect to the legacy provider and
check whether such implementation does in fact exist.
Bug: 62835396
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ifdc1b15392f5418fd0d949953bb6bdb1f3612ee8
Check whether different types of camera providers got
registered and try to test them if present.
Merged-In: I5c0c678e74d56cd8307d2f4e63b7c6dfa95d210d
Bug: 62835396
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I5c0c678e74d56cd8307d2f4e63b7c6dfa95d210d
Check whether different types of camera providers got
registered and try to test them if present.
Merged-In: I5c0c678e74d56cd8307d2f4e63b7c6dfa95d210d
Bug: 62835396
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I5c0c678e74d56cd8307d2f4e63b7c6dfa95d210d
Check whether different types of camera providers got
registered and try to test them if present.
Bug: 62835396
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: I5c0c678e74d56cd8307d2f4e63b7c6dfa95d210d
Currently the result handling is very basic. Partial
results and inflight queues are not supported. More
elaborate test cases like burst or streaming will
require such functionality to be present.
Merged-In: I3769d4ccc0047dc4eda173ea3bca538b026be8d2
Bug: 62550376
Bug: 37533777
Test: adb shell
/data/nativetest/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest
Change-Id: I3769d4ccc0047dc4eda173ea3bca538b026be8d2
Currently the result handling is very basic. Partial
results and inflight queues are not supported. More
elaborate test cases like burst or streaming will
require such functionality to be present.
Bug: 62550376
Bug: 37533777
Test: adb shell
/data/nativetest/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest
Change-Id: I3769d4ccc0047dc4eda173ea3bca538b026be8d2
The CameraParamters class is widely used by many of the camera-related
vendor libs. However, they have been using the class from the
libcamera_client.so which is not a VNDK library.
By moving the class to the common@1.0-helper, which is available to
vendors, we can eliminate the dependency to libcamera_client.so from the
vendor libs.
Bug: 62523241
Test: 2016/2017 Pixel devices build and boots. Camera functionalities
work.
Change-Id: I3f69f1591663390c050d1e75ac2957d3ecc38ba7
The camera test cases already already run in binderized mode
for any devices that have this mode enabled.
Additionally remove the missing camera device todo as well.
This should be handled by the VTS infrastructure.
Camera provider service constant updated as well.
Bug: 38137798
Test: VtsHalCameraProviderV2_4TargetTest
Change-Id: I45ddf224dd4dac3ddfbbd751fa297e4631283537
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
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
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
Otherwise some bits will be set incorrectly.
Also move device@1.0 to use ProducerUsageFlags instead of ProducerUsage,
and add a compatibility workaround to set the gralloc0 HW_CAMERA_ZSL flags
when ConsumerUsage::CAMERA is passed in.
Test: Camera CTS passes, updated VTS tests pass
Bug: 35215313
Change-Id: I981dc1a650f838f94d932944fe835fd267f2004d
Currently only batching high speed recording request/results.
Test: GCA slow motion recording working
Bug: 34899394
Change-Id: Id83b9d1cefe011391c86a5e7e898262a169cc9e7
Each concurrent camera device in use needs 1 thread to maintain
operational semantics, plus we probably need threads for sensor service
calls, misc camera service calls, etc.
Up thread count to 6. That should be enough for everybody.
Test: Camera still works on sailfish
Change-Id: I2262c69985756fbf762034663ce24f45bf7ce2f1
getDeviceVersion calls get_camera_info, which could contain vendor tags.
As a result, we need to set up vendor tag before that.
Test: Verify vendor tag in static metadata works.
Bug: 33641150
Change-Id: Id4cfea52235542b19170a757b4c6bea3ad1d190d
- Check for transport errors during IPC calls.
- Some code clean up and refactoring.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I71f96704f82db629d1982997940d8d1b7525ffea
Tests are required for checking the basic camera parameters
functionality.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I5725fef0bb4f5ac08ecae94def5cae66a640409a
Tests are needed for verifying 'sendCommand' API call.
Several new test cases will be available:
"sendCommandFaceDetection" - This will check whether face detection is
available and try to enable&disable it.
"sendCommandSmoothZoom" - Will try to verify whether smooth zoom can
be enabled&disabled in case the camera supports it.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: Ib56f363126907f24b1af04187b093aa6c8e8ac99
Tests should be available for autofocus verification. The new
cases include:
"autoFocus" - Check whether the camera supports autofocus. In case
auto is supported it will continue and test all available modes that
allow 'autoFocus' calls.
"cancelAutoFocus" - In case auto is supported, the test will trigger
full AF scan and cancel it immediately.
'CameraParameters' functionality is also required and should be included.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I3bef25c5fdb6bbfa87517e6d255e4e6e01544d7d
Tests involving Hal version 1 video recording APIs are
required. Several cases will be available:
- 'startStopRecording' - Verifies basic video recording
functionality. Metadata support will be tested if available.
- 'startRecordingFail' - Checks that recording can be enabled
only after preview starts.
Bug: 32022758
Test: compile and run the gtest binary on device
Change-Id: Id9dd8d3a554a1aa3bbbae9b836e4d14da5c4446b
Tests involving Hal version 1 image capture APIs are
required. Several cases cover this:
- 'takePicture' - Regular image capture after preview gets enabled.
- 'takePictureFail' - Checks correct behavior in case preview is not
running.
- 'cancelPicture' - Verifies that image capture can be cancelled.
- 'cancelPictureFail' - Checks that image capture cancel fails as
expected in case 'takePicture' didn't get called.
Switch to BufferItemConsumer instead of CpuConsumer and use GLConsumer
default usage flags.
Bug: 32022758
Test: compile and run the gtest binary on device
Change-Id: I8db60aa8a21b6f829574fc9538da5644a4051e49
Test cases enabling/disabling preview using version 1
camera devices are needed. Test case is also available
for "setPreviewWindow".
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I234881fe940309dbb6ac11bfee7d01cc76d09f59
Test cases involving camera version 1.0 devices are
required. The API methods which overlap between 3.x and 1.0
devices should be considered in the respective test cases.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I044b6586b812aed14d66867d51f97123addcd718
Camera should flush pending requets and buffers
correctly. Two new test cases will help with
the verification of this method:
- 'flushPreviewRequest' - Constructs a valid camera request
and sends it to camera. The test will not wait for the request
to complete instead it will call flush immediately. The results
and notifications that follow are checked for consistency with
expected behavior.
- 'flushEmpty' - Triggers flush without any pending request. Check
whether the camera behaves as expected.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: Iab9e37b3864491f970a783a68952a9c0c1703520
The expected torch callbacks can be verified during
the torch set test.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: Idaa1a4c6eb5306f1a2e1d126f54fcb26aaa1dc7c
Also some updates to HIDL interface:
- Add releaseRecordingFrameHandle to ICameraDevice
for native handle metadata recording mode
- Add handleCallbackTimestamp to ICameraDevieCallback
for native handle metadata recording mode
- Add missing face detection metadata to
ICameraDeviceCallback::dataCallback
- Instead of passing native handle, pass buffer ID
in dequeueBuffer/enqueueBuffer/cancelBuffer in
ICameraDevicePreviewCallback
- Add CameraFrameMetadata in types.hal for face
metadata
Test: Camera CTS passing (except FlashLightTest) on Angler
Bug: 30985004
Change-Id: Idf72a4b5f4c934845ac698f0b13536608ffd0100
This SELinux context doesn't have permission to access stdout
in read/write mode. Doing so will result in violation and
subsequent failure when running in binderized mode. Switch to
'/dev/null' which still can be used with SELinux enabled.
BUG: 35701060
Test: adb shell
/data/nativetest/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest
Change-Id: Ib1cf2766ca41cfe3600ad8a4442a334dfab0e2c1
Use single camera capture requests to verify basic
'processCaptureRequest' functionality:
- 'processCaptureRequestSinglePreview' will generate
a valid preview capture request. The result needs to
include both valid stream Id and frame number.
- 'processCaptureRequestInvalidSinglePreview' will
omit the settings from the first capture request. Hal
should handle this by returning an appropriate error.
- 'processCaptureRequestInvalidSingleSnapshot' will
have a valid blob request but no valid output buffers.
Hal should again return appropriate error in this case.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I021dd150b12d4be39fae47e13ba82d3db105bfa3
Further tests concerning camera configurations. The
additional tests corver:
- The available stream configurations.
- Invalid stream parameters.
- Constrained mode if available.
- ZSL mode if available.
- Stream combinations including preview and still capture.
- Stream combinations including video and snapshot.
BUG: 32022758
Test: compile and run the gtest binary on device
Change-Id: I5111ac96b4aaa7ad9f163f990f6b0d0c229993f9
We need google shims on the vendor partition because they are providing
an implementation of a vendor defined interface. They were written by
google just as a courtesy/to make the transition easier. They're
basically a set for vendors to assemble their hal implementations
from.
Bug: 34135607
Test: marlin persist.hal.binderization on/off
Change-Id: I2e2af5af39264cf290259755bb9b2eb9827a21f5
And definitely don't stop init if there are no vendor tags defined at
all.
Instead, just log about it.
Test: gce camera HAL init succeeds; no regression to sailfish camera
Bug: 35036220
Change-Id: I7f4481d7ec1a88df0c67a66c364f351b3321b221
If the torch callback is fired during CameraProvider
constructor, the sp will cause it being deleted
when the callback returns.
Test: fix the crash
Bug: 35216523
Change-Id: I133d866ed603d6c7e549b57d20a911af7a7e0698
No longer needed. This also enable us to switch to
defaultPassthroughImplementation.
Also rename camera device wrapper library to signal it's not a
top level HAL entry.
Test: marlin camera app with passthrough/binderzied mode
Bug: 34817742
Change-Id: I78ad5afbf78b2679be3efe0e82f430958ef6bfea
Camera is currently compiled separately in passthrough and binderized
modes. Until that is resolved, adding a call to internal hidl logic.
Bug: 34817742
Test: camera starts up and works and respects binderization toggle in
both modes on marlin.
Change-Id: I20733cbc82a68a1da1c4f1b3754aef2887ca718a
Bug fixes like deadlock resolution, wrong enum usage etc.
Bug: 30985004
Test: run Camera2 API CTS tests on Angler
Change-Id: I661fa9197f66344ddecca8f68d343c891806eca1
Fully covered: ICameraProvider@2.4 ICameraDevice@3.2
ICameraDeviceSession@3.2 is partially covered.
(configure_stream/process_capture_request tests to be added later)
Test: compile and run the gtest binary on device
Bug: 30985004
Change-Id: I61f20d14a11bd69fc19b06062c489dd8833b09a4
Supports legacy camera HAL modules; also exports ICameraDevice
instances.
Test: compile
Bug: 30985004
Change-Id: I2b9624a412de95dd43979a5e6650b170010c577a
* Common camera definitions (camera.common/1.0)
* Basic status codes, shared types
* Provider 2.4 API (camera.provider/2.4), including vendor tag APIs
* Enumerate and acquire camera device instances
* Mostly equivalent to legacy camera module v2.4.
* Device 1.0 API (camera.device/1.0)
* Mostly equivalent to legacy camera HAL v1.0.
* Device 3.2 API (camera.device/3.2)
* Mostly equivalent to legacy camera HAL v3.2.
* Metadata 3.2 API (camera.metadata/3.2)
* Definitions for valid metadata fields for device 3.2
Only the key initial interfaces are added; default implementations are
in a later CL. Other interfaces that will likely need to be added:
* Other provider minor versions
* Other device 3.x minor versions
Test: make -j32
Bug: 30985004
Bug: 32991603
Change-Id: I1c6a9a269bf45276055707bbc58cfc50d29fa919