From patchwork Tue Jan 8 20:42:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 186 Return-Path: Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id D7FE260B2E for ; Tue, 8 Jan 2019 21:42:44 +0100 (CET) X-Originating-IP: 2.224.242.101 Received: from uno.lan (2-224-242-101.ip172.fastwebnet.it [2.224.242.101]) (Authenticated sender: jacopo@jmondi.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 6C4B560006; Tue, 8 Jan 2019 20:42:44 +0000 (UTC) From: Jacopo Mondi To: libcamera-devel@lists.libcamera.org Date: Tue, 8 Jan 2019 21:42:38 +0100 Message-Id: <20190108204241.10674-1-jacopo@jmondi.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 0/3] MediaDevice class and MediaObject classes X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2019 20:42:45 -0000 Hello this is 3rd version of MediaDevice and associated MediaObject classes. v1 available for reference here: https://lists.libcamera.org/pipermail/libcamera-devel/2018-December/000120.html v2 available for reference here: https://lists.libcamera.org/pipermail/libcamera-devel/2018-December/000181.html This iteration addresses comments received from Laurent on v2. Notable changes: - Use references to class instances and not global ids to reference MediaObjects from other MediaObjects - Remove devnode path from entities: they will be reworked anyhow when integrating with DeviceEnumerator - Add public method to get a list of entities in the media device - Remove functions to enable MediaLinks from the MediaDevice: it requires better discussions on which API to expose. - Make the media graph printout functiona part of media device tests. - Expand documentation for classes and public methods, polish doxygen and remove doxygen comments from private members. Tested locally using the printout test on VIMC and integrated webcam media devices. Valgrind does not report memory leaks. Thanks j Jacopo Mondi (3): libcamera: Add MediaObject class hierarchy libcamera: Add MediaDevice class test: Add media device test src/libcamera/include/media_device.h | 61 ++++ src/libcamera/include/media_object.h | 107 +++++++ src/libcamera/media_device.cpp | 370 ++++++++++++++++++++++++ src/libcamera/media_object.cpp | 281 ++++++++++++++++++ src/libcamera/meson.build | 4 + test/media_device/media_device_test.cpp | 175 +++++++++++ test/media_device/meson.build | 5 + test/meson.build | 4 + 8 files changed, 1007 insertions(+) create mode 100644 src/libcamera/include/media_device.h create mode 100644 src/libcamera/include/media_object.h create mode 100644 src/libcamera/media_device.cpp create mode 100644 src/libcamera/media_object.cpp create mode 100644 test/media_device/media_device_test.cpp create mode 100644 test/media_device/meson.build --- 2.20.1