Commit graph

195 commits

Author SHA1 Message Date
Eino-Ville Talvala
e224f065b8 Camera: Update VTS for new camera@3.3 interfaces
- 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
2017-10-02 12:35:32 -07:00
Emilian Peev
5eb1aa3f2b Camera: Enable VTS tests for 3.3 camera devices
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
2017-10-02 11:02:16 -07:00
Eino-Ville Talvala
3f55d8735e Merge "Camera: Add default implementation of camera.device@3.3" into oc-mr1-dev 2017-09-19 15:53:43 +00:00
Eino-Ville Talvala
50fe430994 Camera: Add default implementation of camera.device@3.3
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
2017-09-15 11:08:48 -07:00
Yin-Chia Yeh
6550022dba Camera: synchronize access to mMemoryMap
Test: stress test on partner device
Bug: 64831570
Change-Id: Ib9ece2f876ccb309c4f1bb8f90242a3e91081f47
2017-09-12 16:35:29 -07:00
Zhuoyao Zhang
6afb992759 Update vts test to use the updated test template.
* 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)
2017-08-29 17:44:10 +00:00
Eino-Ville Talvala
d09e5651ed Camera: Add new minor revision camera.device@3.3
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
2017-08-23 11:31:40 -07:00
TreeHugger Robot
1f789fc39c Merge "Camera test statically links to dependencies." into oc-mr1-dev 2017-08-21 18:34:31 +00:00
Emilian Peev
e2ecbe00f0 Camera: Switch 'cancelPictureFail' to 'cancelPictureNOP'
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
2017-08-15 18:22:08 +00:00
Tri Vo
7a998e53bc Camera test statically links to dependencies.
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
2017-08-07 16:29:28 -07:00
Justin Yun
608d773ef8 Update make file for vndk enabled.
Update the Android.bp generated with hidl-gen.

Test: build with and without BOARD_VNDK_VERSION=current
Bug: 63866913
Change-Id: I1a9db1df49e0f13c5790da2b118ae9ec63ba34a7
2017-08-04 14:12:23 +09:00
Tri Vo
f5d136c231 Update Android.bp HIDL makefiles
Allow HAL definition libs to be static.

Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1483d572bea6799717d1614fb7d52fe225e31104
2017-08-03 00:30:01 +00:00
Emilian Peev
bba0a5498a Camera: Update stream consumer usage flag
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
2017-07-28 10:07:50 +01:00
Yin-Chia Yeh
d17bb31a0d Merge "Camera: reset callback after test done" into oc-mr1-dev 2017-07-27 22:09:12 +00:00
TreeHugger Robot
34c5caaa9f Merge "Camera: fix various VTS issues" into oc-mr1-dev 2017-07-27 22:04:59 +00:00
Yin-Chia Yeh
e9ab8227ae Camera: fix various VTS issues
Also fix wrong return values for processCaptureRequest in default
wrapper.

Test: running camera VTS
Bug: 64041692
Change-Id: I397390af7c85a776713f6287bef1c4d11c721c9a
2017-07-27 11:43:24 -07:00
Yin-Chia Yeh
feb0ddde26 Camera: add camera owners
Test: none
Change-Id: I1a221feea480139d78c9b10dcd6c7c88955901bd
Merged-In: I1a221feea480139d78c9b10dcd6c7c88955901bd
(cherry picked from commit 14a5810a2e)
2017-07-27 18:21:51 +00:00
Yin-Chia Yeh
557cce559a Camera: reset callback after test done
Back port from master

Test: VTS test pass
Bug: 63570734
Change-Id: Ic0eecaf843b5c2e78f60325090ea652d43a74a0b
Merged-In: Ic0eecaf843b5c2e78f60325090ea652d43a74a0b
2017-07-26 17:13:30 -07:00
Emilian Peev
3b740fa689 Camera: Don't enforce result metadata queue support
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
2017-07-25 15:09:41 +01:00
Zhuoyao Zhang
6e87e4c864 Update VtsHalCameraProviderV2_4TargetTest
* Use VtsHalHidlTargetTestEnvBase to run test against different service name

Bug:62946472
Test: make vts
      vts-tradefed run vts -m VtsHalCameraProviderV2_4Target

Change-Id: I12edce57c237cb6674e0aff437c3389e5ad9e028
2017-07-14 16:48:52 -07:00
Jiyong Park
ec648686db Build camera.device@1.0-impl with BOARD_VNDK_VERSION
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
2017-07-10 12:37:00 +09:00
Emilian Peev
2fe705b726 Merge "Camera: Try adding a passthrough legacy service" into oc-dr1-dev am: efe973102a
am: 3518e360ca

Change-Id: I52e70a41a8e74f6cbb7ec4be041417da6089d2a2
2017-06-30 18:14:01 +00:00
Emilian Peev
48a0992dd4 Camera: Try adding a passthrough legacy service
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
2017-06-30 08:19:19 -07:00
Emilian Peev
81ac4074fe Merge "Camera: Try to test additional types of camera providers" into oc-dr1-dev am: c68231d171
am: 6d600e571c

Change-Id: I22e29abfa964c0448b39987e92b0173c49d59a49
2017-06-28 16:51:59 +00:00
Yifan Hong
a04a913c77 Fix missing includes in camera.common
Test: mma -j BOARD_VNDK_VERSION=current
Bug: 33241851
Change-Id: I471f05cf66e4c8532c428f9894fa4642139e03e2
2017-06-27 11:34:02 -07:00
Emilian Peev
a37b73598b Camera: Try to test additional types of camera providers
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
2017-06-26 16:35:41 -07:00
TreeHugger Robot
c60ec1c2ac Merge "Camera: Add support for testing partial results" into oc-dr1-dev 2017-06-26 18:42:48 +00:00
Yahan Zhou
2ff1f7e687 Merge "Camera: fix recursive lock in CameraDevice 1.0" into oc-dev
am: eed6653f2a

Change-Id: I66f434944d2a00bee6c06d0883b916c5c87d1243
2017-06-23 17:59:25 +00:00
Yahan Zhou
77dd4aaad3 Camera: fix recursive lock in CameraDevice 1.0
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
2017-06-23 00:28:11 +00:00
Emilian Peev
9af635c564 Camera: Add support for testing partial results
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
2017-06-21 15:00:12 +01:00
Martijn Coenen
14adc6ebc0 Make camera/drm helper classes available to system.
As VTS tests are considered system and link against these.

Bug: 38302533
Bug: 62523241
Test: builds
Change-Id: Iac5c872c58ec9646d6d6974aacceb930daad7e5e
2017-06-20 08:57:46 -07:00
TreeHugger Robot
e599e41a1e Merge "Move CameraParameters class to android.hardware.camera.common@1.0-helper" into oc-dr1-dev 2017-06-20 07:17:47 +00:00
Yin-Chia Yeh
8bc10783a9 Merge "Camera: fix camera_metadata address expectation" into oc-dev
am: e812feb56f

Change-Id: Id3e433048cf25e8c50aa20e97dca6e3112f0fb57
2017-06-16 19:37:00 +00:00
Yin-Chia Yeh
92d885b558 Camera: fix camera_metadata address expectation
On 32bits architecture, binder driver might allocate
non-8 bytes aligned buffers.

Test: compile (problem not reproducible on 64bit SOCs)
Bug: 62637461
Change-Id: I8ef2b3ecba783a8d189ebe18733082d32cff4899
2017-06-15 14:27:13 -07:00
Jiyong Park
b9b59bdca4 Move CameraParameters class to android.hardware.camera.common@1.0-helper
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
2017-06-12 22:45:10 +09:00
Yin-Chia Yeh
2912d05274 Merge "Camera: fix release fence FD leaks" into oc-dev am: 6e7ca4e166
am: a9576758e2

Change-Id: I3fe086caa15f5ab3fd065cba312b6693f8da828d
2017-05-30 22:47:14 +00:00
Yin-Chia Yeh
a9576758e2 Merge "Camera: fix release fence FD leaks" into oc-dev
am: 6e7ca4e166

Change-Id: I82df851760e0d85890fcc85496afb302f38d3ed7
2017-05-30 22:39:03 +00:00
Yin-Chia Yeh
aa6993121e Camera: fix release fence FD leaks
Test: use sw_sync to fake release fence FDs, GCA, CTS
Bug: 62070085
Change-Id: Iae77a2e112df5363e55e4177656a5dd41b830cbd
2017-05-26 16:28:45 -07:00
TreeHugger Robot
0c2a8f7d73 Merge "Camera: Remove binderized todo comment" 2017-05-26 15:23:25 +00:00
Shuzhen Wang
32f0b047dc Camera: Silence log spam am: 207867716a
am: 6ccc129e91

Change-Id: Ida70914135764b034aff9c09b288df5a31cb9c60
2017-05-25 23:16:58 +00:00
Shuzhen Wang
6ccc129e91 Camera: Silence log spam
am: 207867716a

Change-Id: I697d551878713f56ed5845b3ebd87db76e1b513e
2017-05-25 22:57:13 +00:00
Shuzhen Wang
207867716a Camera: Silence log spam
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
2017-05-25 11:21:09 -07:00
Eino-Ville Talvala
5f8d14e07d Merge "camera.device@3.2 wrapper: Close release fence FDs" into oc-dev am: 1c20927f43
am: 86d314012e

Change-Id: Ic036732ddbd750d47915e3f033d1384499ccea6b
2017-05-25 01:58:54 +00:00
Eino-Ville Talvala
86d314012e Merge "camera.device@3.2 wrapper: Close release fence FDs" into oc-dev
am: 1c20927f43

Change-Id: I81840052731f509509cde33ba773b5972ed08d66
2017-05-25 01:55:55 +00:00
Eino-Ville Talvala
4ebf53f450 camera.device@3.2 wrapper: Close release fence FDs
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
2017-05-24 15:23:56 -07:00
Steven Moreland
7708449766 Update makefiles. (2/2) am: 76cfb84140
am: f203167814

Change-Id: I1f13401266f3c2f78c627088b09c79cd7c8d0276
2017-05-22 17:29:04 +00:00
Steven Moreland
f203167814 Update makefiles. (2/2)
am: 76cfb84140

Change-Id: I24d21438a5b2f447d2160929c6ff6e17b2b66820
2017-05-22 17:15:20 +00:00
Steven Moreland
76cfb84140 Update makefiles. (2/2)
Adds default configuration for all hals.

Bug: 38415912
Test: pass
Change-Id: Idd1f3a2b7b16ad956d31784a513e93a066cdd02e
2017-05-19 15:54:03 -07:00
Emilian Peev
8bdbf00a34 Camera: Remove binderized todo comment
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
2017-05-19 11:42:08 +01:00
Chih-Hung Hsieh
7eb57b60ab Remove unused lambda capture
New clang compiler gives warning to unused lambda captures.
Apply clang-format.

Bug: 37423073
Test: Build

Change-Id: Icdf019df1a6c9dcadeb35551377d7afa09eebb3e
2017-05-15 14:02:45 -07:00