[{"id":2379,"web_url":"https://patchwork.libcamera.org/comment/2379/","msgid":"<20190812083635.hjts5kbun4xt7i4j@uno.localdomain>","date":"2019-08-12T08:36:35","subject":"Re: [libcamera-devel] [PATCH v3 0/6] android: Add initial Camera\n\tHAL implementation","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hello,\n   I have now pushed the first 5 patches in the series and will\nre-submit the camera HAL implementation for one last review round.\n\nThanks\n   j\nOn Fri, Aug 09, 2019 at 12:03:59PM +0200, Jacopo Mondi wrote:\n> Hello,\n>   third version of initial Android Camera HAL implementation.\n>\n> I addressed (most) of Laurent's comments on v2, except the one making the\n> CameraHalManager a singleton and point the camera_module_t operations to its\n> static methods.\n>\n> I think the result is almost ready for merge, one last thing is the deletion of\n> the components created at CameraHalManager::init() time, such as proxies and\n> their associated data. Valgrind shows a big leak of camera_metadata_t packages,\n> created when static informations are required for the first time or when a\n> template request is requested, and deleted at CameraDevice delete time.\n> Being the CameraHalManager a static member of the camera module, its destructor\n> does not called at library unload time, causing memory to be effectively leaked.\n>\n> While this might be a minor issue, as library unloading should only happens at\n> system teardown time, this is something worth reporting and maybe investigating.\n>\n> Thanks\n>    j\n>\n> Jacopo Mondi (6):\n>   licenses: add Apache-2.0 license\n>   include: android: Add Android headers from Cros\n>   include: android: Add SPDX tags\n>   android: Add camera metadata library\n>   android: metadata: Add SPDX tag\n>   android: hal: Add Camera3 HAL\n>\n>  .../libhardware/include/hardware/camera3.h    | 3094 +++++++++++++++++\n>  .../include/hardware/camera_common.h          |  917 +++++\n>  .../libhardware/include/hardware/fb.h         |  174 +\n>  .../libhardware/include/hardware/gralloc.h    |  385 ++\n>  .../libhardware/include/hardware/hardware.h   |  239 ++\n>  include/android/meson.build                   |    5 +\n>  .../android/metadata/camera_metadata_hidden.h |  101 +\n>  .../android/metadata/system/camera_metadata.h |  581 ++++\n>  .../metadata/system/camera_metadata_tags.h    | 1006 ++++++\n>  .../metadata/system/camera_vendor_tags.h      |  159 +\n>  .../android/system/core/include/android/log.h |  145 +\n>  .../system/core/include/cutils/compiler.h     |   45 +\n>  .../core/include/cutils/native_handle.h       |   70 +\n>  .../system/core/include/system/camera.h       |  299 ++\n>  .../system/core/include/system/graphics.h     |  764 ++++\n>  .../system/core/include/system/window.h       |  955 +++++\n>  include/meson.build                           |    1 +\n>  licenses/apache-2.0.txt                       |  202 ++\n>  meson_options.txt                             |    5 +\n>  src/android/camera3_hal.cpp                   |  111 +\n>  src/android/camera_device.cpp                 |  817 +++++\n>  src/android/camera_device.h                   |   63 +\n>  src/android/camera_hal_manager.cpp            |  142 +\n>  src/android/camera_hal_manager.h              |   47 +\n>  src/android/camera_proxy.cpp                  |  199 ++\n>  src/android/camera_proxy.h                    |   45 +\n>  src/android/meson.build                       |   15 +\n>  src/android/metadata/camera_metadata.c        | 1205 +++++++\n>  .../metadata/camera_metadata_tag_info.c       | 2812 +++++++++++++++\n>  src/android/thread_rpc.cpp                    |   42 +\n>  src/android/thread_rpc.h                      |   54 +\n>  src/libcamera/meson.build                     |    9 +\n>  src/meson.build                               |    4 +\n>  33 files changed, 14712 insertions(+)\n>  create mode 100644 include/android/hardware/libhardware/include/hardware/camera3.h\n>  create mode 100644 include/android/hardware/libhardware/include/hardware/camera_common.h\n>  create mode 100644 include/android/hardware/libhardware/include/hardware/fb.h\n>  create mode 100644 include/android/hardware/libhardware/include/hardware/gralloc.h\n>  create mode 100644 include/android/hardware/libhardware/include/hardware/hardware.h\n>  create mode 100644 include/android/meson.build\n>  create mode 100644 include/android/metadata/camera_metadata_hidden.h\n>  create mode 100644 include/android/metadata/system/camera_metadata.h\n>  create mode 100644 include/android/metadata/system/camera_metadata_tags.h\n>  create mode 100644 include/android/metadata/system/camera_vendor_tags.h\n>  create mode 100644 include/android/system/core/include/android/log.h\n>  create mode 100644 include/android/system/core/include/cutils/compiler.h\n>  create mode 100644 include/android/system/core/include/cutils/native_handle.h\n>  create mode 100644 include/android/system/core/include/system/camera.h\n>  create mode 100644 include/android/system/core/include/system/graphics.h\n>  create mode 100644 include/android/system/core/include/system/window.h\n>  create mode 100644 licenses/apache-2.0.txt\n>  create mode 100644 src/android/camera3_hal.cpp\n>  create mode 100644 src/android/camera_device.cpp\n>  create mode 100644 src/android/camera_device.h\n>  create mode 100644 src/android/camera_hal_manager.cpp\n>  create mode 100644 src/android/camera_hal_manager.h\n>  create mode 100644 src/android/camera_proxy.cpp\n>  create mode 100644 src/android/camera_proxy.h\n>  create mode 100644 src/android/meson.build\n>  create mode 100644 src/android/metadata/camera_metadata.c\n>  create mode 100644 src/android/metadata/camera_metadata_tag_info.c\n>  create mode 100644 src/android/thread_rpc.cpp\n>  create mode 100644 src/android/thread_rpc.h\n>\n> --\n> 2.22.0\n>","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay12.mail.gandi.net (relay12.mail.gandi.net\n\t[217.70.178.232])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DCAB460E38\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 12 Aug 2019 10:35:10 +0200 (CEST)","from uno.localdomain\n\t(host64-130-dynamic.5-87-r.retail.telecomitalia.it [87.5.130.64])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay12.mail.gandi.net (Postfix) with ESMTPSA id 4D674200005\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 12 Aug 2019 08:35:10 +0000 (UTC)"],"Date":"Mon, 12 Aug 2019 10:36:35 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190812083635.hjts5kbun4xt7i4j@uno.localdomain>","References":"<20190809100406.22559-1-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\"; boundary=\"craejwrg6sofkvif\"","Content-Disposition":"inline","In-Reply-To":"<20190809100406.22559-1-jacopo@jmondi.org>","User-Agent":"NeoMutt/20180716","Subject":"Re: [libcamera-devel] [PATCH v3 0/6] android: Add initial Camera\n\tHAL implementation","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Mon, 12 Aug 2019 08:35:11 -0000"}}]