[RFC v2 0/4] libcamera: Implement YamlEmitter

Jacopo Mondi jacopo.mondi at ideasonboard.com
Thu Oct 17 14:52:15 CEST 2024


v1->v2:
- Remove YamlEvent
- Remove heap allocation
- Remove YamlObject::close()
- Do not inherit std::unordered_map from YamlDict
- Remove YamlScaler << libcamera::Orientation

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     | 162 ++++++++
 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            |  93 +++++
 src/libcamera/yaml_emitter.cpp                | 362 ++++++++++++++++++
 11 files changed, 842 insertions(+), 10 deletions(-)
 create mode 100644 include/libcamera/internal/yaml_emitter.h
 create mode 100644 src/libcamera/yaml_emitter.cpp

--
2.47.0



More information about the libcamera-devel mailing list