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
* changes:
Camera: Check for transport errors during VTS
Camera: Add Hal version 1 get-/setParameter tests
Camera: Add Hal version 1 sendcommand tests
Camera: Add Hal version 1 autofocus test cases
Camera: Add Hal version 1 video recording test cases
Camera: Add Hal version 1 image capture test cases
Camera: Add device ver. 1 preview test cases
Camera: Extend camera test cases for camera 1.0 devices
Camera: Add flush test cases
Camera: Enable and check for torch callbacks
- 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
In order to make generic system image, these HAL implementation need to
be moved from system to vendor partition.
Bug: 36043196
Test: make, flash and make sure that they are at /vendor/lib[64]/hw.
Change-Id: I486cd32c36143102b3923acc58fda4f8aec30cb1
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 fixes a perf/feature regression from the legacy HAL definitions;
previously, vendor implementations could use custom values with this
field to implement custom features on their devices.
Add several enum values that can be used for this purpose.
Test: New CTS test passes
Bug: 34853980
Change-Id: I1b37a9511326178b8eb7536ff99e14d83be3b0c2
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
Native buffer handles should always get closed
and deleted during buffer release.
BUG: 35338606
Test: Manual using application
Change-Id: I5d7a4b02a28b29b872b66843d623166f04207c2e
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
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.
Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
The stream resources will be released by Hal most
likely only in cases of successful configuration.
If the configuration fails keep the deleted streams
for the next call.
BUG: 34131351
Test: 'CameraTest' API1 tests using Hal3.x and ZSL
Change-Id: I68696d561258571727b35b52ff326aac27edaad3
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