From patchwork Mon Oct 14 09:59:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 21612 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id E7775C326C for ; Mon, 14 Oct 2024 10:00:00 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 36D7C6537F; Mon, 14 Oct 2024 11:59:59 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="HTG6Idaq"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1206B65369 for ; Mon, 14 Oct 2024 11:59:57 +0200 (CEST) Received: from ideasonboard.com (unknown [5.77.95.224]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 006C18BE; Mon, 14 Oct 2024 11:58:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1728899896; bh=BywZRjeFh5VkKTS/NDCoEhZ4TznJoSDSH/wwvLNy5Go=; h=From:To:Cc:Subject:Date:From; b=HTG6IdaqATNhEadFzBEI8I2igpFTg0tOKcU5dHcDtgHzWRVEle+JS1mCzAPoYMm6t UfoNsdXIXByPavVPMBGx5lowZUOkxB0ceXr3OGJQXz83SzkUMyzSD1WA8CTmN44vLE U1vgXDvsvHRX8Waa/elCBy2Uj7/JZfUZveQscQYc= From: Jacopo Mondi To: libcamera-devel@lists.libcamera.org Cc: Jacopo Mondi Subject: [RFC 0/4] libcamera: Implement YamlEmitter Date: Mon, 14 Oct 2024 11:59:32 +0200 Message-ID: <20241014095937.24924-1-jacopo.mondi@ideasonboard.com> X-Mailer: git-send-email 2.46.2 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" This series collects Paul's [PATCH 0/2] libcamera: Add support for dumping capture script and implements a YamlEmitter class on top, replacing the usage of raw output streams with the YamlEmitter class. RFC mostly to collect opinions on the interface. Documentation mostly to be done, rough edges here and there :) Jacopo Mondi (2): libcamera: Implement YamlEmitter libcamera: pipeline_handler: Use YamlEmitter Paul Elder (2): pipeline: Add support for dumping capture script and metadata apps: cam: Add support for loading configuration from capture script include/libcamera/internal/camera.h | 3 + include/libcamera/internal/meson.build | 1 + include/libcamera/internal/pipeline_handler.h | 23 + include/libcamera/internal/yaml_emitter.h | 172 +++++++ src/apps/cam/camera_session.cpp | 22 +- src/apps/cam/capture_script.cpp | 164 +++++++ src/apps/cam/capture_script.h | 8 + src/libcamera/camera.cpp | 13 + src/libcamera/meson.build | 1 + src/libcamera/pipeline_handler.cpp | 87 ++++ src/libcamera/yaml_emitter.cpp | 427 ++++++++++++++++++ 11 files changed, 911 insertions(+), 10 deletions(-) create mode 100644 include/libcamera/internal/yaml_emitter.h create mode 100644 src/libcamera/yaml_emitter.cpp --- 2.46.2