platform_hardware_interfaces/camera/provider
Avichal Rakesh b8863f6a03 camera: Fix prefix length path for External Camera HAL
The default External Camera HAL accidentally used `sizeof` on a `char *`
to get the length of the string. This "worked" because the string in
question "/dev/" has length of 5, while on a 32-bit system `char *`
has a size of 4. This difference of 1 was handled a few lines later.

However on 64-bit system `sizeof(char *)` returns 8 which breaks the
logic later in code.

As `sizeof` was being used as a proxy for strlen, this CL converts the
uses C++'s std::char_traits::length to determine the string lengths
at compile time.

Bug: 265168485
Test: Manually tested that the calculated length is correct after the
      fix.
Change-Id: I92481a2bcb74fdbbb483ef552168debf07b2d68a
2023-06-08 17:00:35 -07:00
..
2.4 camera: Fix prefix length path for External Camera HAL 2023-06-08 17:00:35 -07:00
2.5 cleanup camera OWNERS 2023-01-18 21:06:05 +00:00
2.6 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
2.7 camera: Fix prefix length path for External Camera HAL 2023-06-08 17:00:35 -07:00
aidl Camera Provider VTS: auto-gen 2023-06-05 19:55:32 +00:00
README.md Add pointer to default AIDL Camera HAL Implementation in README.md 2022-11-13 04:29:49 +00:00

Camera Provider HAL


Overview:

The camera.provider HAL is used by the Android camera service to discover, query, and open individual camera devices.

It also allows for direct control of the flash unit of camera devices that have one, for turning on/off torch mode.

More complete information about the Android camera HAL and subsystem can be found at source.android.com.

Version history:

types.hal:

@0.0:

Common enum and struct definitions for all camera HAL interfaces. Does not define any interfaces of its own.

ICameraProvider.hal:

@2.4:

First HIDL version of the camera provider HAL, closely matching the feature set and operation of the pre-HIDL camera HAL module v2.4.

ICameraProviderCallback.hal:

@2.4:

First HIDL version of the camara provider HAL callback interface, closely matching the feature set and operation of the pre-HIDL camera HAL module callbacks v2.4.

AIDL Camera HAL Default Implementation

The default implementation can be found at $ANDROID_BUILD_TOP/hardware/google/camera/common/hal/aidl_service and $ANDROID_BUILD_TOP/hardware/google/camera/devices/EmulatedCamera