[RFC PATCH v3 00/21] apps: lc-compliance: Multi-stream tests
Barnabás Pőcze
pobrn at protonmail.com
Thu Jan 30 12:50:04 CET 2025
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 v3:
* propagate exceptions from deferred calls
* cancel related deferred calls when capture session is stopped
* make `EventLoop` a member of `Capture`
* rename `CaptureUnbalanced` to `StopWithRequestsQueued`
Changes in v2:
* add a couple small `EventLoop` changes
* remove https://patchwork.libcamera.org/patch/22442/
* merge `CaptureBalanced` and `CaptureUnbalanced`
* run request completion handler in "main" thread
v2: https://patchwork.libcamera.org/project/libcamera/list/?series=4951
v1: https://patchwork.libcamera.org/project/libcamera/list/?series=4923
Barnabás Pőcze (21):
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: common: event_loop: Remove unused type alias
apps: common: event_loop: Add way to cancel deferred calls
apps: common: event_loop: Make it possible to exit with exception
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
apps: lc-compliance: Make `EventLoop` a member
apps: lc-compliance: Rename `CaptureUnbalanced`
src/apps/common/event_loop.cpp | 109 ++++++---
src/apps/common/event_loop.h | 31 ++-
src/apps/lc-compliance/environment.h | 2 +-
src/apps/lc-compliance/helpers/capture.cpp | 218 +++++++++---------
src/apps/lc-compliance/helpers/capture.h | 54 ++---
src/apps/lc-compliance/main.cpp | 42 +---
src/apps/lc-compliance/tests/capture_test.cpp | 102 ++++----
7 files changed, 289 insertions(+), 269 deletions(-)
--
2.48.1
More information about the libcamera-devel
mailing list