[libcamera-devel] [PATCH v3 0/6] android: Add initial Camera HAL implementation
Jacopo Mondi
jacopo at jmondi.org
Fri Aug 9 12:03:59 CEST 2019
Hello,
third version of initial Android Camera HAL implementation.
I addressed (most) of Laurent's comments on v2, except the one making the
CameraHalManager a singleton and point the camera_module_t operations to its
static methods.
I think the result is almost ready for merge, one last thing is the deletion of
the components created at CameraHalManager::init() time, such as proxies and
their associated data. Valgrind shows a big leak of camera_metadata_t packages,
created when static informations are required for the first time or when a
template request is requested, and deleted at CameraDevice delete time.
Being the CameraHalManager a static member of the camera module, its destructor
does not called at library unload time, causing memory to be effectively leaked.
While this might be a minor issue, as library unloading should only happens at
system teardown time, this is something worth reporting and maybe investigating.
Thanks
j
Jacopo Mondi (6):
licenses: add Apache-2.0 license
include: android: Add Android headers from Cros
include: android: Add SPDX tags
android: Add camera metadata library
android: metadata: Add SPDX tag
android: hal: Add Camera3 HAL
.../libhardware/include/hardware/camera3.h | 3094 +++++++++++++++++
.../include/hardware/camera_common.h | 917 +++++
.../libhardware/include/hardware/fb.h | 174 +
.../libhardware/include/hardware/gralloc.h | 385 ++
.../libhardware/include/hardware/hardware.h | 239 ++
include/android/meson.build | 5 +
.../android/metadata/camera_metadata_hidden.h | 101 +
.../android/metadata/system/camera_metadata.h | 581 ++++
.../metadata/system/camera_metadata_tags.h | 1006 ++++++
.../metadata/system/camera_vendor_tags.h | 159 +
.../android/system/core/include/android/log.h | 145 +
.../system/core/include/cutils/compiler.h | 45 +
.../core/include/cutils/native_handle.h | 70 +
.../system/core/include/system/camera.h | 299 ++
.../system/core/include/system/graphics.h | 764 ++++
.../system/core/include/system/window.h | 955 +++++
include/meson.build | 1 +
licenses/apache-2.0.txt | 202 ++
meson_options.txt | 5 +
src/android/camera3_hal.cpp | 111 +
src/android/camera_device.cpp | 817 +++++
src/android/camera_device.h | 63 +
src/android/camera_hal_manager.cpp | 142 +
src/android/camera_hal_manager.h | 47 +
src/android/camera_proxy.cpp | 199 ++
src/android/camera_proxy.h | 45 +
src/android/meson.build | 15 +
src/android/metadata/camera_metadata.c | 1205 +++++++
.../metadata/camera_metadata_tag_info.c | 2812 +++++++++++++++
src/android/thread_rpc.cpp | 42 +
src/android/thread_rpc.h | 54 +
src/libcamera/meson.build | 9 +
src/meson.build | 4 +
33 files changed, 14712 insertions(+)
create mode 100644 include/android/hardware/libhardware/include/hardware/camera3.h
create mode 100644 include/android/hardware/libhardware/include/hardware/camera_common.h
create mode 100644 include/android/hardware/libhardware/include/hardware/fb.h
create mode 100644 include/android/hardware/libhardware/include/hardware/gralloc.h
create mode 100644 include/android/hardware/libhardware/include/hardware/hardware.h
create mode 100644 include/android/meson.build
create mode 100644 include/android/metadata/camera_metadata_hidden.h
create mode 100644 include/android/metadata/system/camera_metadata.h
create mode 100644 include/android/metadata/system/camera_metadata_tags.h
create mode 100644 include/android/metadata/system/camera_vendor_tags.h
create mode 100644 include/android/system/core/include/android/log.h
create mode 100644 include/android/system/core/include/cutils/compiler.h
create mode 100644 include/android/system/core/include/cutils/native_handle.h
create mode 100644 include/android/system/core/include/system/camera.h
create mode 100644 include/android/system/core/include/system/graphics.h
create mode 100644 include/android/system/core/include/system/window.h
create mode 100644 licenses/apache-2.0.txt
create mode 100644 src/android/camera3_hal.cpp
create mode 100644 src/android/camera_device.cpp
create mode 100644 src/android/camera_device.h
create mode 100644 src/android/camera_hal_manager.cpp
create mode 100644 src/android/camera_hal_manager.h
create mode 100644 src/android/camera_proxy.cpp
create mode 100644 src/android/camera_proxy.h
create mode 100644 src/android/meson.build
create mode 100644 src/android/metadata/camera_metadata.c
create mode 100644 src/android/metadata/camera_metadata_tag_info.c
create mode 100644 src/android/thread_rpc.cpp
create mode 100644 src/android/thread_rpc.h
--
2.22.0
More information about the libcamera-devel
mailing list