Commit Graph

139 Commits

Author SHA1 Message Date
Yahan Zhou
a61c24c091 Merge "Camera: fix recursive lock in CameraDevice 1.0" into oc-dev
am: eed6653f2a

Change-Id: Ia962664983096059da8ecbffa7f13ef525e4a6e4
2017-06-23 17:59:26 +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
Yin-Chia Yeh
1ea71cc4f2 Merge "Camera: fix camera_metadata address expectation" into oc-dev
am: e812feb56f

Change-Id: I9142f4bb7a55f9c1e6547a038b21f7cbb4e5adba
2017-06-16 19:40:12 +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
Chih-Hung Hsieh
d3bc681f26 Remove unused lambda capture
New clang compiler gives warning to unused lambda captures.
Apply clang-format.

Bug: 37423073
Test: Build

Change-Id: Icdf019df1a6c9dcadeb35551377d7afa09eebb3e
(cherry picked from commit 7eb57b60ab)
2017-06-07 12:57:20 -07: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
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
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
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
Steven Moreland
a32ebce372 Update makefiles for c++-sources and c++-headers. (2/2)
am: bc71124120

Change-Id: Icf36068a4d863a8520854c7a83e51f960c188e12
2017-05-11 00:48:55 +00:00
Martijn Coenen
b05e4c9414 Merge "Start processes that need real-time with CAP_SYS_NICE." into oc-dev
am: 6c062f77c1

Change-Id: I921160390dc9f90e7872729194ed1d1240ce68b7
2017-05-11 00:47:30 +00:00
Steven Moreland
4be51a8512 Merge changes from topic 'fix-hidl-generate' into oc-dev
* changes:
  Update makefiles for c++-sources and c++-headers.
  Update makefiles for c++-sources and c++-headers. (2/2)
2017-05-10 20:02:40 +00:00
Martijn Coenen
6c062f77c1 Merge "Start processes that need real-time with CAP_SYS_NICE." into oc-dev 2017-05-10 17:55:47 +00:00
Steven Moreland
bc71124120 Update makefiles for c++-sources and c++-headers. (2/2)
Test: pass
Bug: 38174080
Change-Id: Icad451f9f9ad5f46412356a4171a8a1222f8e545
2017-05-09 19:58:43 -07:00
Eino-Ville Talvala
569dbdc90e Camera: Remove TODOs in interfaces
am: 71619beef7

Change-Id: I43e85210ab1972f8245376831f578816be4dea78
2017-05-09 21:32:28 +00:00
Eino-Ville Talvala
e643da4e19 Merge "Camera: Clean up TODOs that aren't going to be addressed." into oc-dev
am: 0b3d86e05a

Change-Id: Ic0ca4e1eff6716466ef86bc6a660bc371da875d6
2017-05-09 21:32:10 +00:00
Eino-Ville Talvala
71619beef7 Camera: Remove TODOs in interfaces
These are tracked elsewhere and won't be addresed for the initial
interface versions.

Update current.txt hashes; comment-only update

Test: Compiles
Bug: 34108979
Bug: 33269977
Bug: 33262893
Change-Id: I0c0521cf69649d871f64a67773ce822db2487044
2017-05-09 11:32:27 -07:00
Martijn Coenen
f9b3fb49df Start processes that need real-time with CAP_SYS_NICE.
Bug: 37293077
Test: verified CAP_SYS_NICE granted in /proc/pid/status
Change-Id: If404450cbeb077d331b231bda1af2d6eae774b75
2017-05-09 09:57:00 -07:00
Eino-Ville Talvala
e0a0a1c239 Camera: Clean up TODOs that aren't going to be addressed.
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
2017-05-08 15:29:28 -07:00
Steven Moreland
5c63b11f76 Remove redundant dependencies
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
2017-05-02 15:29:30 -07:00
TreeHugger Robot
d4fc468392 Merge "Camera: use framework header for VideoNativeHandleMetadata" into oc-dev 2017-04-28 08:01:49 +00:00
Yin-Chia Yeh
1ee279df20 Camera: use framework header for VideoNativeHandleMetadata
Test: build
Bug: 35625849
Change-Id: I8159dd571b6b390fa089d497d45b76c1ec5bda31
2017-04-27 16:13:52 -07:00
TreeHugger Robot
02b745ff40 Merge "Camera: use gralloc mapper for handle import" into oc-dev 2017-04-27 23:00:50 +00:00
Yin-Chia Yeh
519c1675c3 Camera: use gralloc mapper for handle import
Bug: 37540361
Test: marlin, smoke test GCA
Change-Id: I9d58d9c6af20b37c016f036bce2dcf55817c59aa
2017-04-27 14:11:07 -07:00
Emilian Peev
c9ded51848 CameraProvider: Check camera device version
Make sure we are working with supported devices.

Bug: 34392075
Test: Manual using application
Change-Id: I834612303f3e02e79924efbdcc25cff890defefb
2017-04-25 20:05:41 +01:00
Emilian Peev
a13ac99f34 Camera: Insert default RAW boost if needed
RAW boost key inside result and request metadata could be
absent depending on CameraHal. In case RAW boost range is
supported, the RAW boost value must always be present.

Bug: 34392075
Test: runtest -x
cts/tests/camera/src/android/hardware/camera2/cts/DngCreatorTest.java
Change-Id: I4c27b3fe5228ff604e3f2796abc670be5c17da67
2017-04-25 20:04:25 +01:00
Emilian Peev
cf5813702a Camera: Override AE pre-capture trigger cancel
CameraHal version 3.2 doesn't support cancel AE pre-capture
trigger. Camera request metadata that contains this value
needs to be overriden respectively. The corresponding results
also require the same kind of modification.

Bug: 34392075
Test: runtest -x
cts/tests/camera/src/android/hardware/camera2/cts/StillCaptureTest.java
-m testAePrecaptureTriggerCancelJpegCapture
Change-Id: If8bcf7e97ca8691cf890d5d6306d49dc3ddd087a
2017-04-25 20:04:19 +01:00
Emilian Peev
7d52a6fd25 Camera: Map stream dataspaces
Older CameraHal versions are still using deprecated dataspace
definitions. Mapping between these dataspaces is needed to avoid
discrepancies.

Bug: 34392075
Test: Manual using camera application
Change-Id: I811dec879494445736b4e3731b2d516e396a9058
2017-04-25 20:04:12 +01:00
Chris Forbes
58a80300aa camera: Adjust for libui gralloc flags change
Change-Id: Ia09737c28a78a8a50a9f751ed2774299ecc3d58c
Bug: b/33350696
Test: Bullhead: booted to launcher, take photo, watch youtube
2017-04-21 17:32:37 +00:00
Yifan Hong
993e3d0286 Use fmq for camera capture result.
Test: camera works.

Bug: 35788245 [Treble] Pass camera metadata using shared memory

Change-Id: Ia8ba8ac4c8f7d1a89035f549c0281a30190554bb
2017-04-14 14:28:48 -07:00
TreeHugger Robot
8afd952d48 Merge "Changed the naming scheme for Treble java libraries (both static and dynamic)" into oc-dev 2017-04-14 02:13:28 +00:00
Andreas Huber
6fa374ad30 Changed the naming scheme for Treble java libraries (both static and dynamic)
android.hardware.foo@1.0-java => android.hardware.foo-V1.0-java

Bug: 37207894
Test: make
Change-Id: I177f4cfd42f635aaf096107af8309d1a82ed41c0
Merged-In: I8b91881dfaf507c0d852d56ebbb53ff0987e5a34
2017-04-13 15:23:46 -07:00
Yifan Hong
1192e1d109 Use fmq for camera capture request.
Test: camera works.

Bug: 35788245 [Treble] Pass camera metadata using shared memory
Change-Id: I4a1585315bf448c8c57def2964237cae21bdbe03
2017-04-13 13:25:29 -07:00
TreeHugger Robot
f8b85e63e4 Merge "android.hardware.camera.common@1.0-helper: vendor" into oc-dev 2017-04-13 04:12:12 +00:00
Iliyan Malchev
b4488af17c android.hardware.camera.provider@2.4: set up /dev/vndbinder
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>
2017-04-13 00:24:39 +00:00
Steven Moreland
7d774e7937 android.hardware.camera.common@1.0-helper: vendor
Test: links/camera works
Bug: 33241851
Change-Id: I5bb846fabca29b789692fe8c253383fd821b8ba6
2017-04-11 20:58:31 -07:00
Steven Moreland
3b36a83a2e Update makefiles (2/2).
Test: pass
Change-Id: Ic7e6289c7b69785491708ce0acbb657f4c704229
2017-04-11 09:58:03 -07:00
Chia-I Wu
79d13ff0f5 graphics: revise gralloc interfaces
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
2017-04-10 11:15:54 -07:00
Steven Moreland
4e7a307730 Fix transitive includes.
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
2017-04-06 22:04:05 +00:00
Greg Hartman
7b63265377 Merge "CameraProvider: Refactor legacy name regex code" into oc-dev 2017-04-05 22:20:21 +00:00
Andreas Gampe
0b171f1ff2 CameraProvider: Refactor legacy name regex code
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
2017-04-05 10:34:04 -07:00
Yin-Chia Yeh
ae880e4922 Merge "Revert "camera: Map between legacy gralloc0 usage, and HIDL gralloc1 usages"" into oc-dev 2017-04-04 22:22:03 +00:00
Yin-Chia Yeh
c25c54f4b1 Revert "camera: Map between legacy gralloc0 usage, and HIDL gralloc1 usages"
This reverts commit 2d80c0d66f.

Test: fix b/36876770
Bug: b/36876770
Change-Id: Ia251ec97273d71fd5bc759aa1161960f6266358a
2017-04-04 13:19:09 -07:00
TreeHugger Robot
73bae67b5d Merge "Camera: HAL1: remove libbinder usage" into oc-dev 2017-04-04 19:24:26 +00:00
TreeHugger Robot
2fc995846c Merge "Camera: add interface to evict obsolete buffer caches" into oc-dev 2017-04-04 00:31:01 +00:00
Eino-Ville Talvala
4cea813a35 Merge "camera: Map between legacy gralloc0 usage, and HIDL gralloc1 usages" into oc-dev 2017-04-03 22:03:15 +00:00