Commit graph

784 commits

Author SHA1 Message Date
Yin-Chia Yeh
6dc9b53abe Camera: fix open_legacy crash
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
2017-02-09 23:10:57 -08:00
Andreas Huber
d38f147c35 Updated makefiles
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.

Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
2017-02-09 17:20:45 -08:00
Emilian Peev
98014ff84d Camera: Delete streams after successful configuration
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
2017-02-09 08:35:33 +00:00
Tri Vo
ce608bec74 Migrate driver/profiler to test/vts-testcase/hal.
Bug: 34893894
Test: mmma hardware/interfaces

Change-Id: Ic72716577a5f93700c5056986aff55a76b170b5d
2017-02-07 19:13:28 -08:00
Yin-Chia Yeh
db4d6813ab Merge "Camera: remove BINDERIZED flag" 2017-02-06 22:21:54 +00:00
Yin-Chia Yeh
469c67b027 Camera: remove BINDERIZED flag
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
2017-02-03 14:43:08 -08:00
Zhuoyao Zhang
e9b43bbe2d Update Andriod.bp for hals.
* Add driver/profiler build rule for all hals.

Test: mma
Change-Id: I98325f7af14fec7dd1bb64b1668de8c7c20ace92
2017-02-03 10:03:01 -08:00
Yin-Chia Yeh
e466fc9c9f Merge "Camera: add a missing hidl_cb call" 2017-02-01 08:47:59 +00:00
Yin-Chia Yeh
2cee1b38c8 Merge "Camera: call setCallback before open_legacy" 2017-02-01 08:47:27 +00:00
Yin-Chia Yeh
fca2e74209 Camera: call setCallback before open_legacy
Some open_legacy implementations require a valid callback.

Test: the failing open_legacy call succeeds
Bug: 34854786
Change-Id: I461c7622bdf46a7cb7febfb7eeeb083288b4af03
2017-01-31 17:40:23 -08:00
Steven Moreland
7fd6ad80ee Camera: work with vintf toggle.
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
2017-01-31 16:48:52 -08:00
Yin-Chia Yeh
ff0bc02a1c Camera: add a missing hidl_cb call
Test: no fatal error from calling get_device_1_0
Bug: 30985004
Change-Id: I6f1cfce903773d22ff5bb21a6db98d3f4ffa0697
2017-01-31 16:12:35 -08:00
Eino-Ville Talvala
8f020eba8f Merge "Camera metadata: Add ENABLE_ZSL control." 2017-01-31 20:03:02 +00:00
Keun Soo Yim
b21bdc8b9f use the device's default binder/passthrough mode in vts tests
Test: mma
Change-Id: I3f2775873f5b6c091f70413adbdf7b7ae298ff44
2017-01-25 15:08:12 -08:00
Eino-Ville Talvala
92d0298ea3 Camera metadata: Add ENABLE_ZSL control.
This is a new public API feature for O, which needs to be plumbed
down to the HAL layer as well.

Test: New CTS tests pass
Bug: 30983997
Change-Id: Ie9f8a37cb0b149f7114f11fcf611a43cac60abe7
2017-01-25 12:44:35 -08:00
Yin-Chia Yeh
10d6834e6d Camera: binderize camera hal
Test: running marlin in binderized mode
Bug: 30985004
Change-Id: I9c3ab3c445e437a8a8b6f271f3c475f60563f488
2017-01-20 12:26:41 -08:00
Yin-Chia Yeh
a8f447d75c Camera: make fence import agnostic to hidl transport
This will introduce one more FD dup/close in passthrough mode, but
we have no other choice as camera server will not know whether
it is running in passthrough or binderized mode.

Test: running Camera2 API CTS
Bug: 30985004
Change-Id: I407d54a51c51fc09477dfb6236ab1b53bb1e0a21
2017-01-17 16:51:03 -08:00
Yin-Chia Yeh
d926f9334f Camera: add bufferId field to StreamBuffer
This gives each buffer a unique identifier and allow camera server
to only send one unique to HAL process once.

Bug: 30985004
Change-Id: I6aff498c5667dd71fd70b3881fd60b0ecc366e0a
2017-01-17 16:50:53 -08:00
TreeHugger Robot
a8d358fb63 Merge changes from topic 'bphwfoo'
* changes:
  Bp/nFoo -> Bp/nHwFoo.
  Bp/nFoo -> Bp/nHwFoo
2017-01-11 23:43:16 +00:00
Yifan Hong
a18049ad13 Bp/nFoo -> Bp/nHwFoo.
Test: mma
Bug: 33554989
Change-Id: I4b3f852d20fdfc49f2da671dd3c12d618ffb4140
2017-01-11 13:14:59 -08:00
Yin-Chia Yeh
7584624329 Camera: avoid double closing FD
Right now conventional HAL close the acquire_fence FD so wrapper
should not close it again. However, we might need to change this
behavior later to make camera service agnostic to passthrough or
binderized mode.

Bug: 34169301
Change-Id: I96b46521e4081b43e7a7e9c9efa98121739dda99
2017-01-09 14:29:06 -08:00
Yin-Chia Yeh
9c6dbd5979 Camera: patching treble camera HAL
Bug fixes like deadlock resolution, wrong enum usage etc.

Bug: 30985004
Test: run Camera2 API CTS tests on Angler
Change-Id: I661fa9197f66344ddecca8f68d343c891806eca1
2017-01-05 14:50:47 -08:00
Yin-Chia Yeh
2d9f144f75 Camera: add camera vts tests
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
2017-01-05 14:48:27 -08:00
Yin-Chia Yeh
f906b3bbbb Camera: Add default camera provider 2.4
Supports legacy camera HAL modules; also exports ICameraDevice
instances.

Test: compile
Bug: 30985004
Change-Id: I2b9624a412de95dd43979a5e6650b170010c577a
2017-01-05 14:48:27 -08:00
Yin-Chia Yeh
faef8f92c9 Camera: default implementation of device 3.2
Test: compile
Bug: 30985004
Change-Id: Ibb48673840de6a5f7c75dc6993d5457a272177a2
2017-01-05 14:48:27 -08:00
Eino-Ville Talvala
912e1b6952 camera.device@3.2: Clarify documentation
- Clarify handling of input/output buffer handles, and
  that they must be null in CaptureResults.
- Clarify handling of fence handles and when they may/must be null.

Test: Compiles; comment-only changes
Bug: 32991603
Change-Id: I70367aa490fb0027791e6e35bb34c54601a0d144
2016-12-22 11:48:15 -08:00
Eino-Ville Talvala
5e9a175bb1 camera.device@3.2: Minor updates
- All usage fields should be bitfields, as should dataspace.
- Remove Stream::maxBuffers. It was accidentally duplicated in the inbound
  stream configuration; it's only meant to be set by the HAL in the
  output HalStream structures.
- Clarify overrideFormat and usage field documentation.

Test: Compiles
Bug: 32991603
Change-Id: Iac922b439fafc6726ebb6cea5bc0b3dd8921bfa8
2016-12-20 17:28:22 -08:00
Eino-Ville Talvala
f651614c69 camera.device@3.2: Add missing field name to NotifyMsg
NotifyMsg's message union isn't actually instantiated.

Test: Compiles
Bug: 30985004
Change-Id: I214045208b624a1777ec0bd4353f268e4033166a
2016-12-19 17:18:22 -08:00
Yifan Hong
f35ee3b192 Revert "Revert "Update makefiles for Java package path.""
This reverts commit a8789f27cb.

Change-Id: I69980b580a556188ba868bb096ae1590b01759f5
2016-12-13 22:20:16 +00:00
Yifan Hong
a8789f27cb Revert "Update makefiles for Java package path."
This reverts commit ab0792ccdc.

Change-Id: I47fc272d9fa8875e3d7ccb10cb748c738fbf8135
2016-12-13 22:18:34 +00:00
Yifan Hong
ab0792ccdc Update makefiles for Java package path.
use V1_0 instead of 1.0.

Bug: 33554192

Test: hidl_test_java
Change-Id: Ic2d95265df10914a60a5bb743d75e839948838c3
2016-12-13 11:32:56 -08:00
Eino-Ville Talvala
2508e0cbc5 camera/device/1.0: Use a bitfield for the callback flags
Bug: 32991603
Test: Compiles
Change-Id: If5dd0d0fb7851589f8a72114bd528d3213724471
2016-12-06 14:43:21 -08:00
Yifan Hong
501839495f Update makefiles for hidlizing IBase.
A new dependency android.hidl.base@1.0 is added for
all projects.

Test: mma

Change-Id: Ia70d0eb0d74de06475a339698386d383d491a43a
2016-12-03 01:01:14 -08:00
Zhijun He
8486e4179c Camera: HIDLized camera HALs, first set
* 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
2016-12-02 19:43:39 +00:00