{"id":1756,"url":"https://patchwork.libcamera.org/api/covers/1756/?format=json","web_url":"https://patchwork.libcamera.org/cover/1756/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20190809100406.22559-1-jacopo@jmondi.org>","date":"2019-08-09T10:03:59","name":"[libcamera-devel,v3,0/6] android: Add initial Camera HAL implementation","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/?format=json","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"mbox":"https://patchwork.libcamera.org/cover/1756/mbox/","series":[{"id":450,"url":"https://patchwork.libcamera.org/api/series/450/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=450","date":"2019-08-09T10:03:59","name":"android: Add initial Camera HAL implementation","version":3,"mbox":"https://patchwork.libcamera.org/series/450/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/1756/comments/","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net\n\t[217.70.183.198])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 377F160E2F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  9 Aug 2019 12:02:47 +0200 (CEST)","from uno.homenet.telecomitalia.it\n\t(host150-24-dynamic.51-79-r.retail.telecomitalia.it [79.51.24.150])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 802E4C0013;\n\tFri,  9 Aug 2019 10:02:46 +0000 (UTC)"],"X-Originating-IP":"79.51.24.150","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Fri,  9 Aug 2019 12:03:59 +0200","Message-Id":"<20190809100406.22559-1-jacopo@jmondi.org>","X-Mailer":"git-send-email 2.22.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v3 0/6] android: Add initial Camera HAL\n\timplementation","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":"Fri, 09 Aug 2019 10:02:47 -0000"},"content":"Hello,\n  third version of initial Android Camera HAL implementation.\n\nI addressed (most) of Laurent's comments on v2, except the one making the\nCameraHalManager a singleton and point the camera_module_t operations to its\nstatic methods.\n\nI think the result is almost ready for merge, one last thing is the deletion of\nthe components created at CameraHalManager::init() time, such as proxies and\ntheir associated data. Valgrind shows a big leak of camera_metadata_t packages,\ncreated when static informations are required for the first time or when a\ntemplate request is requested, and deleted at CameraDevice delete time.\nBeing the CameraHalManager a static member of the camera module, its destructor\ndoes not called at library unload time, causing memory to be effectively leaked.\n\nWhile this might be a minor issue, as library unloading should only happens at\nsystem teardown time, this is something worth reporting and maybe investigating.\n\nThanks\n   j\n\nJacopo 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--\n2.22.0"}