AIDL cannot send nullptr when parceling NativeHandles. Instead, it
sends an empty handle. Logic which previously relied on null
checks should now rely on checking if the native_handle is
empty or not.
This CL updates ExternalCameraUtils to check for empty handles
instead.
Bug: 299170474
Test: CameraAidlTest#processCaptureRequestInvalidBuffer passes
Change-Id: Id4ba928defaa061708a3c1cd68aa510b376f6cb3
Revert submission 24913374-revert-24747509-camera_fail2-OVHUVTAXRP
Reason for revert: 32-bit TV build is fixed with `%zu` instead of `%lu` for size_t argument.
Reverted changes: /q/submissionid:24913374-revert-24747509-camera_fail2-OVHUVTAXRP
Change-Id: I16287ce2dbea034db41450a3a5e9c3f729e76335
Revert submission 24747509-camera_fail2
Reason for revert: DroidMonitor-triggered revert due to breakage
b/302990858.
This may cause CtsAppOpsTestCases b/300115646 to fail again,
unfortunately (b/300115646).
Bug: 302990858
Reverted changes: /q/submissionid:24747509-camera_fail2
Change-Id: I0191b3ee88846f5b2c6e37ebd6be6d1369d9dba9
HIDL mapper HAL is deprecated and instead of adding more support for the
new replacement explicitly, we can move the GraphicBufferMapper which
handles all of the backwards compatbility with the HIDL HALs for us.
Test: atest CtsCameraTestCases CtsAppOpsTestCases
Bug: 285605852
Bug: 300115646
Change-Id: Ib97e429a0f3dd1c66ec008fbf3860c9c5667bddd
External USB camera hal service crashes when disconnecting the camera.
ExternalCameraDeviceSession's desctructor is called and deletes mLock,
but mBufferRequestThread is still running and waiting on the same
mLock, which causes the "pthread_mutex_lock called on a destroyed
mutex" error.
Fix the issue by stopping the thread in destructor. Also refactors the
functions and remove unused conditions.
Bug: 289741662
Test: Test with USB camera
Change-Id: I06b1ff6e192a4bca16822785d65d68a6aae53414
For data analysis from HAL logs, it is helpful to get some higher level
information of the camera usage (such as the client's package name).
HALs are denied access to this higher level information at runtime.
To help data with data analysis, cameraservice will now pass a session
identifier when configuring streams. This identifier can be used to
correlate HAL logs with cameraservice logs at the time of log
consumption. However this correlation cannot be made at runtime. This
identifier is randomly generated and has no functional purpose and can
be safely disregarded by HAL implementations that don't want to
correlate their logs to cameraservice logs.
Bug: 271171714
Test: Manually verified that cameraservice sends correct logId to the
HAL.
Change-Id: Ib0823a9de8f573233a6e037c178a4398eb26e7ef
For private reprocessing, the ImageReader used to produce images into
the ImageWriter isn't aware of the overridden format. If the HAL decides
to override the input IMPLEMENTATION_DEFINED format, reprocessing will
fail.
Document this limitation in the HAL interface.
Test: Build
Bug: 266954992
Change-Id: I9bd05e9682e4d11870bf9bd25763f28291faef75
I wrote a script for this, see my email
"introducing: ownersfix.py - basic cleaning script for simple OWNERS files"
Bug: 265168485
Test: N/A
Change-Id: I47ab60785b193764a96d7b63820c87ec4fa81f7f
This CL cleans up the reference external HAL implementation.
Specifically, it makes the following changes:
- Removes mSupportBufMgr from ExternalCameraDeviceSession as it never
needed to be used.
- Makes ExternalCameraOfflineSession final to prevent other classes
from accidentally inheriting from it. ExternalCameraOfflineSession
calls the virtual function `close()` on destruction which depends on
the implementation details of other virtual functions.
Bug: 219974678
Test: Builds successfully
Change-Id: I645f8164cd2426219943d9407f0c282c468c90d3
- Backport similar fix from AIDL to HIDL to protect
from malformed metadata
Bug: 256166626
Test: CTS test
Change-Id: If8f83520144824e38ed102b7468d6d5ee2e6d963
We were checking 'info' twice and not checking 'msgs'. So we
fix that up, and fix a typo in the message.
Bug: 219974678
Test: TreeHugger
Change-Id: Ia52178b758dc3d9753731b043da01743ff59e10c
Android T migrated the HAL interface to AIDL, but the reference HAL
was never updated to use AIDL. This CL migrates the reference
HAL implementation for external cameras to use AIDL as well. The
external HAL uses V4L2 standard to expose USB cameras to the
cameraserver.
The reference HAL implementation for internal camera was dropped
because it is not possible to write a generic HAL that works with some
large percentage of internal cameras.
Bug: 219974678
Test: Existing CTS tests pass with external camera connected.
Change-Id: I35f3dc32c16670eca7735a4ac00fed3daf36aa65
Test: Ran CtsCameraTestCases.
Test: Ran VtsAidlHalCameraProvider_TargetTest.
Test: Created app to test display P3 camera, switching between color spaces
Bug: 238359088
Change-Id: I382dea5d13582817959001246240141e83d8172d
Some are still in VNDK because they are used in other VNDK libs.
Ignore-AOSP-First: some libs are still in internal master only.
Bug: 234181591
Test: m
Merged-In: If999df9c78a20df931177da11742b1c5de19bc08
Change-Id: If999df9c78a20df931177da11742b1c5de19bc08
(cherry picked from commit 5527adfd7f)
- This interface is only suitable for special camera injection hal,
general camera hal does not need to implement it.
Test: Camera VTS
Bug: 219684073
Change-Id: I9b70e4640dff205008f3d6270f402b720b6b4434
Initial set of native API extensions to support 10-bit
output capable device:
- Identification
- Configuration
- Data plumbing
Bug: 195946346
Test: adb shell
/data/nativetest64/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest
--gtest_filter=PerInstance/CameraHidlTest.process10BitDynamicRangeRequest/0_internal_0
Change-Id: I526120944232ce211259cbd215935db7e445a6c5
The new version of ICameraDevice supports interfaces for torch
strength control feature. New VTS test has been added to test the
emulator HAL-side implementation of the newly added interfaces.
bug: 200174275
Test: Camera VTS test pass.
Change-Id: Ia5652a96e09bd716b5079fe9ed071dffc53b5b12
Due to sensor crop, readoutTimeout - startOfExposure may be larger than
exposureTime. Update the VTS test to reflect the spec change.
Test: processCaptureRequestPreview
Bug: 208270993
Change-Id: I51a373ecbc5c7c086f84c5479a43dffbe8fcc0c2
The new version of ICameraDeviceCallback supports shutter notify with readout
timestamp.
The readout timestamp is used to re-time viewfinder frames to reduce
jitter. When camera runs at fixed frame rate, the start_of_exposure time
intervals may change, but start_or_readout intervals are constant.
Test: Camera VTS test
Bug: 189380857
Change-Id: I4c3856a4e30caa8cdf8417d437de1de3190c6fd6
Add ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR as an available
test pattern for ExternalCameraDevice (v3.4).
Bug: 182204067
Test: Connect an USB camera.
Enable camera privacy toggle.
Apps using the camera should get a black preview
Change-Id: Ie0d4d5b3f555eb9e1b1fc255b612668736daeaa4