[RFC,v2,0/4] libcamera: Implement YamlEmitter
mbox series

Message ID 20241017125220.60567-1-jacopo.mondi@ideasonboard.com
Headers show
Series
  • libcamera: Implement YamlEmitter
Related show

Message

Jacopo Mondi Oct. 17, 2024, 12:52 p.m. UTC
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