| Message ID | 20251030165816.1095180-18-barnabas.pocze@ideasonboard.com |
|---|---|
| State | New |
| Headers | show |
| Series |
|
| Related | show |
Quoting Barnabás Pőcze (2025-10-30 16:58:11) > From: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > > Document the new available helpers to accumulate metadata results in > Request::metadata and notify applications about metadata availability. > > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> > --- > Original: https://patchwork.libcamera.org/patch/22230/ > > changes in v3: > * reword some parts > --- > Documentation/guides/pipeline-handler.rst | 21 +++++++++++++++------ > 1 file changed, 15 insertions(+), 6 deletions(-) > > diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst > index 85d9cc8700..9ec0da01b9 100644 > --- a/Documentation/guides/pipeline-handler.rst > +++ b/Documentation/guides/pipeline-handler.rst > @@ -1358,18 +1358,27 @@ and Slot <Signal>` classes documentation. > .. _Qt Signals and Slots: https://doc.qt.io/qt-6/signalsandslots.html > > In order to notify applications about the availability of new frames and data, > -the ``Camera`` device exposes two ``Signals`` to which applications can connect > -to be notified of frame completion events. The ``bufferComplete`` signal serves > -to report to applications the completion event of a single ``Stream`` part of a > +the ``Camera`` device exposes three ``Signals`` to which applications can > +connect to be notified of frame completion and metadata availability events. Earlier on in the series we just reported 'the following signals' instead of numbering them. But this is fine. > + > +The ``metadataAvailable`` signal serves to notify about the availability of > +metadata for a particular ``Request``. The ``bufferComplete`` signal serves to > +report to applications the completion event of a single ``Stream`` part of a > ``Request``, while the ``requestComplete`` signal notifies the completion of all > the ``Streams`` and data submitted as part of a request. This mechanism allows > implementation of partial request completion, which allows an application to > inspect completed buffers associated with the single streams without waiting for > all of them to be ready. > > -The ``bufferComplete`` and ``requestComplete`` signals are emitted by the > -``Camera`` device upon notifications received from the pipeline handler, which > -tracks the buffers and request completion status. > +The ``metadataAvailable``, ``bufferComplete`` and ``requestComplete`` signals > +are emitted by the ``Camera`` device upon notifications received from the > +pipeline handler, which tracks the metadata, buffers and request completion > +status. > + > +Metadata availability is signalled by the pipeline handlers by calling the > +PipelineHandler base class ``metadataAvailable`` function. This function > +notifies applications about metadata availability and accumulates metadata > +results in the ``Request::metadata()`` list. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > > The single buffer completion notification is implemented by pipeline handlers > by :doxy-int:`connecting <Signal::connect>` the ``bufferReady`` signal of the > -- > 2.51.1 >
diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst index 85d9cc8700..9ec0da01b9 100644 --- a/Documentation/guides/pipeline-handler.rst +++ b/Documentation/guides/pipeline-handler.rst @@ -1358,18 +1358,27 @@ and Slot <Signal>` classes documentation. .. _Qt Signals and Slots: https://doc.qt.io/qt-6/signalsandslots.html In order to notify applications about the availability of new frames and data, -the ``Camera`` device exposes two ``Signals`` to which applications can connect -to be notified of frame completion events. The ``bufferComplete`` signal serves -to report to applications the completion event of a single ``Stream`` part of a +the ``Camera`` device exposes three ``Signals`` to which applications can +connect to be notified of frame completion and metadata availability events. + +The ``metadataAvailable`` signal serves to notify about the availability of +metadata for a particular ``Request``. The ``bufferComplete`` signal serves to +report to applications the completion event of a single ``Stream`` part of a ``Request``, while the ``requestComplete`` signal notifies the completion of all the ``Streams`` and data submitted as part of a request. This mechanism allows implementation of partial request completion, which allows an application to inspect completed buffers associated with the single streams without waiting for all of them to be ready. -The ``bufferComplete`` and ``requestComplete`` signals are emitted by the -``Camera`` device upon notifications received from the pipeline handler, which -tracks the buffers and request completion status. +The ``metadataAvailable``, ``bufferComplete`` and ``requestComplete`` signals +are emitted by the ``Camera`` device upon notifications received from the +pipeline handler, which tracks the metadata, buffers and request completion +status. + +Metadata availability is signalled by the pipeline handlers by calling the +PipelineHandler base class ``metadataAvailable`` function. This function +notifies applications about metadata availability and accumulates metadata +results in the ``Request::metadata()`` list. The single buffer completion notification is implemented by pipeline handlers by :doxy-int:`connecting <Signal::connect>` the ``bufferReady`` signal of the