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
The metadata version for the available session keys should be 3.3 .
Bug: 64450664
Test: Builds, hidl-gen/hidl-doc are happy
Change-Id: Id53cfeda8c7d528d10c3dd26c64bdb56d9404cb2
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
To be used by camera.device@3.4; unfortunately the versioning is
now skewing since no metadata additions were needed for device@3.3
Includes the earlier-added control.afSceneChange entry.
Test: hidl-gen, hidl-doc, builds
Bug: 64847201
Change-Id: I341a018a7eccf63758e356e9b426a41b575ade9f
Replace hand-written types.hal with one autogenerated from the
metadata definitions, like the SDK, NDK, and camera_metadata C library
definitions are.
No changes to actual definitions; only formatting changes and basic
documentation of each entry are added.
Add the new hash of camera.metadata@3.2::types to current.txt.
Bug: 33262893
Test: Manual inspection of new vs. old types.hal, builds, hidl-doc output
is acceptable
Change-Id: Idd8c228359e45de3609bc16ac19e878b0ed0a557
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
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
As VTS tests are considered system and link against these.
Bug: 38302533
Bug: 62523241
Test: builds
Change-Id: Iac5c872c58ec9646d6d6974aacceb930daad7e5e
* 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
This adds a single new member to the HalStream structure, used by
camera.device@3.2::ICameraDeviceSession.configureStreams, for
HALs to override the requested stream dataSpace.
This override may be used when the requested format is
IMPLEMENTATION_DEFINED.
Test: Builds
Bug: 62358514
Change-Id: Ie43e6cfd2ac52657c9366ff5297daa22c0bfa46c
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
This reverts commit 8ac1971678.
Reason for revert: Didn't remove automotive changes from this CL.
Merged-In: I8608c8f636c35f21e4246a805a9eff6d14124e0a
Change-Id: I1c660cffc8817ad0b33da9f6eceb3d88e7c48416
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
Add the dependency to media_plugin_headers since global include path is
not provided when building with BOARD_VNDK_VERSION
Bug: 37342627
Test: BOARD_VNDK_VERSION=current m -j camera.device@1.0-impl.vendor
(cherry picked from commit ef25b10aeb5134046c9acc3fbddbda1783fd32f0)
Change-Id: I506ad4d70b708d129cdc7842cc772c20d9b4197b
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
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
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
As VTS tests are considered system and link against these.
Bug: 38302533
Bug: 62523241
Test: builds
Change-Id: Iac5c872c58ec9646d6d6974aacceb930daad7e5e
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
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