1. Add EXIF MAKE/MODEL tag
2. Add retry loop for V4L2 open failure
3. Do not add external camera if ExternalCameraDevice cannot be
initialized
Bug: 72261912
Bug: 72569850
Change-Id: I06df1fbbb4afabea1a9a74aca9e288b24966cb0b
Add camera removal support to CameraProvider and CameraModule.
Change-Id: I047e486d1665ba9e0b1455f77a7bbbb5e0d66653
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>
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
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
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
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>
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
Each concurrent camera device in use needs 1 thread to maintain
operational semantics, plus we probably need threads for sensor service
calls, misc camera service calls, etc.
Up thread count to 6. That should be enough for everybody.
Test: Camera still works on sailfish
Change-Id: I2262c69985756fbf762034663ce24f45bf7ce2f1
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
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
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
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
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
Bug fixes like deadlock resolution, wrong enum usage etc.
Bug: 30985004
Test: run Camera2 API CTS tests on Angler
Change-Id: I661fa9197f66344ddecca8f68d343c891806eca1
Supports legacy camera HAL modules; also exports ICameraDevice
instances.
Test: compile
Bug: 30985004
Change-Id: I2b9624a412de95dd43979a5e6650b170010c577a