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
Fix external camera HAL crash (android::RefBase::incStrongRequireStrong)
Bug: 184190315
Test: android.hardware.camera.provider@2.5-external-service does not crash
Change-Id: I2406099078fd3c9bddf05afc4011fbece5072139
With current implementation cameraId is part of something like:
device@3.5/external//dev/video0
This doesn't work well with Camera2 API based apps.
Adding CameraIdOffset tag to Provider as a base offset.
Change-Id: I6309d16be565616f048fb24a70e9be5b2f5ed480
First CL to setup webcam HAL to support HIDL camera device 3.6.
Follow up CL will add actual offline processing capability.
Test: TestingCamera.apk
Bug: 135142453
Change-Id: Ifcd1b22f42d08b0fa5dc6039125c1d979b8104c2
To allow for implementation inheritance of @2.4 legacy wrapper and
@2.4 external webcamera HALs in the @2.5 implementations, restructure
the existing default provider to separate the service interface into a
thin shim that calls the implementations.
Test: Camera starts as usual after refactor, VTS tests pass
Bug: 121379978
Change-Id: Id40790ed4fb495577fd2b885c706b2ed7a96d64e