From patchwork Tue Jan 14 18:21:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= X-Patchwork-Id: 22561 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 ECB20C3301 for ; Tue, 14 Jan 2025 18:21:55 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4B6DB684E4; Tue, 14 Jan 2025 19:21:55 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=protonmail.com header.i=@protonmail.com header.b="RhoZMEDe"; dkim-atps=neutral Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch [185.70.40.133]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 13321607D6 for ; Tue, 14 Jan 2025 19:21:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1736878912; x=1737138112; bh=bnYk2VJbhP1kQhncHOCnJGI1Gfdcurd4xR/7UCd4KXY=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector: List-Unsubscribe:List-Unsubscribe-Post; b=RhoZMEDe7ZrKTluzEWPR6KGRnx2HnO0kVS/YSJfE4M7C8Yge/YWAkgXCdKXzZ7cLG 5ZW9+X5RhMxgSqGBMeANNaeeElnK14VM1IdT1wSqacWgs5722VHGjBHrmjTLuUTE+1 66zguC0gcTzs6YRtJSF1cFLJgY61Jy9K00m3X8G1EyUz58G2MJvx03GNCRp4WrvvHo iCDlQUkIx7ekqiq4to3n63KFBOOiwfBGaRaGKL/w8XGciQMoIj5qT4g/uqHoNeMdSJ /PRG4dKIwLZM6nd0FXUxpuX/MVLwUjaVhMqzUazfM33vWbYkyjE+1BuqifU90L3aVW JQHZZ+4EYchQA== Date: Tue, 14 Jan 2025 18:21:46 +0000 To: libcamera-devel@lists.libcamera.org From: =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= Subject: [RFC PATCH v2 00/16] apps: lc-compliance: Multi-stream tests Message-ID: <20250114182143.1773762-1-pobrn@protonmail.com> Feedback-ID: 20568564:user:proton X-Pm-Message-ID: 7d28f28943c077cbf5871fd46b151de3eade6878 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 changeset adds multi-stream tests based on the last two commits of https://patchwork.libcamera.org/project/libcamera/list/?series=4234 Similarly, only two commits here deal with multi-stream tests directly: * Support multiple streams in helpers * Add multi-stream tests Most other changes are non-functional changes. One notable difference compared to the last patch of the aforementioned series is that no new test is created, the current tests are kept and are simply run with multiple streams. Another notable change is that the `CaptureBalanced` and `CaptureUnbalanced` are merged into the `Capture` base class. Changes in v2: * add a couple smalle `EventLoop` changes * remove https://patchwork.libcamera.org/patch/22442/ * merge `CaptureBalanced` and `CaptureUnbalanced` * run request completion handler in "main" thread Barnabás Pőcze (16): apps: common: event_loop: Take callbacks by rvalue ref apps: common: event_loop: Disable copy/move apps: common: event_loop: Use `std::deque` instead of `std::list` apps: common: event_loop: Use single event source for deferred calls apps: lc-compliance: Initialize `CameraManager` pointer in `Environment` apps: lc-compliance: Put tests into anonymous namespace apps: lc-compliance: Optimize `std::shared_ptr` usage apps: lc-compliance: Remove redundant getter call apps: lc-compliance: Don't allocate `FrameBufferAllocator` dynamically apps: lc-compliance: Use `std::vector` for argument array apps: lc-compliance: Use array instead of `std::vector` apps: lc-compliance: Add message to `GTEST_SKIP()` apps: lc-compliance: Merge `CaptureBalanced` and `CaptureUnbalanced` apps: lc-compliance: Support multiple streams in helpers apps: lc-compliance: Add multi-stream tests apps: lc-compliance: Run request completion handler in "main" thread src/apps/common/event_loop.cpp | 64 +++--- src/apps/common/event_loop.h | 22 +- src/apps/lc-compliance/environment.h | 2 +- src/apps/lc-compliance/helpers/capture.cpp | 217 +++++++++--------- src/apps/lc-compliance/helpers/capture.h | 54 ++--- src/apps/lc-compliance/main.cpp | 42 +--- src/apps/lc-compliance/tests/capture_test.cpp | 100 ++++---- 7 files changed, 243 insertions(+), 258 deletions(-) --- 2.48.0