Message ID | 20250721104622.1550908-19-barnabas.pocze@ideasonboard.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Quoting Barnabás Pőcze (2025-07-21 19:46:18) > From: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > > Handle the Camera::metadataAvailable signal and print the metadata > list. > > Use the --metadata option of cam to validate that the metadata list > in Request::metadata() matches the accumulated results. I personally think that this is a useful patch. This is what cam is for, isn't it? But there's no sob tag so I can't rb it :) Paul > --- > Original: https://patchwork.libcamera.org/patch/22234/ > --- > src/apps/cam/camera_session.cpp | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp > index 96ab4ca8e..16c735ef4 100644 > --- a/src/apps/cam/camera_session.cpp > +++ b/src/apps/cam/camera_session.cpp > @@ -299,6 +299,17 @@ int CameraSession::start() > > camera_->requestCompleted.connect(this, &CameraSession::requestComplete); > > + if (printMetadata_) { > + camera_->metadataAvailable.connect(this, [](Request *r, MetadataList::Diff update) { > + std::cout << ">> early metadata for " << r->sequence() << " with " << update.size() << " entries {\n"; > + for (auto &&[tag, v] : update) { > + const auto *id = controls::controls.at(tag); > + std::cout << '\t' << id->name() << " = " << v << '\n'; > + } > + std::cout << "}" << std::endl; > + }); > + } > + > #ifdef HAVE_KMS > if (options_.isSet(OptDisplay)) > sink_ = std::make_unique<KMSSink>(options_[OptDisplay].toString()); > -- > 2.50.1 >
diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp index 96ab4ca8e..16c735ef4 100644 --- a/src/apps/cam/camera_session.cpp +++ b/src/apps/cam/camera_session.cpp @@ -299,6 +299,17 @@ int CameraSession::start() camera_->requestCompleted.connect(this, &CameraSession::requestComplete); + if (printMetadata_) { + camera_->metadataAvailable.connect(this, [](Request *r, MetadataList::Diff update) { + std::cout << ">> early metadata for " << r->sequence() << " with " << update.size() << " entries {\n"; + for (auto &&[tag, v] : update) { + const auto *id = controls::controls.at(tag); + std::cout << '\t' << id->name() << " = " << v << '\n'; + } + std::cout << "}" << std::endl; + }); + } + #ifdef HAVE_KMS if (options_.isSet(OptDisplay)) sink_ = std::make_unique<KMSSink>(options_[OptDisplay].toString());
From: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Handle the Camera::metadataAvailable signal and print the metadata list. Use the --metadata option of cam to validate that the metadata list in Request::metadata() matches the accumulated results. --- Original: https://patchwork.libcamera.org/patch/22234/ --- src/apps/cam/camera_session.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+)