Commit Graph

7 Commits

Author SHA1 Message Date
Avichal Rakesh
1fa4142e1a ExternalCameraHAL: Fix memory leak when copying buffer fence
Pointer to native_handle_t created using native_handle_create should
be cleaned up using native_handle_delete even if the fds in the
native_handle is no longer managed by it. ExternalCameraDeviceSession
creates native_handle_t as an intermediate to convert to AIDL
NativeHandle but doesn't call native_handle_delete on the
intermediate object which led to memory leaks.

This CL removes the intermediate object and copies the fence fd
directly.

Bug: 305638723
Test: No functional change. Compilation successful.
Change-Id: Ie3c558ee1ae6d2e84053b65eed7db179118395bb
2023-11-03 16:16:57 -07:00
Avichal Rakesh
e6a88a8119 ExternalCameraHAL: Check for empty native handle instead of null.
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
2023-11-02 17:27:43 -07:00
Steven Moreland
7387c88980 Merge "cleanup camera OWNERS" 2023-01-20 20:48:35 +00:00
Steven Moreland
0d1d685860 cleanup camera OWNERS
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
2023-01-18 21:05:44 +00:00
Avichal Rakesh
740c256079 Clean up external HAL reference implementation.
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
2023-01-05 01:51:01 -08:00
Greg Kaiser
9b77fd1272 Fix NULL check
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
2022-12-05 17:06:02 -08:00
Avichal Rakesh
e1857f8dbd Migrate reference external HAL implementation to AIDL
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
2022-12-01 05:09:18 -08:00