[4/8] guides: pipeline_handler: Document PipelineHandler::metadataAvailable
diff mbox series

Message ID 20241206160747.97176-5-jacopo.mondi@ideasonboard.com
State New
Headers show
Series
  • libcamera: Support partial metadata completion
Related show

Commit Message

Jacopo Mondi Dec. 6, 2024, 4:07 p.m. UTC
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>
---
 Documentation/guides/pipeline-handler.rst | 26 ++++++++++++++++-------
 1 file changed, 18 insertions(+), 8 deletions(-)

Patch
diff mbox series

diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst
index 69e832a5587e..5a1b402fcc62 100644
--- a/Documentation/guides/pipeline-handler.rst
+++ b/Documentation/guides/pipeline-handler.rst
@@ -1431,18 +1431,28 @@  classes documentation.
 .. _libcamera Signal and Slot: https://libcamera.org/api-html/classlibcamera_1_1Signal.html#details
 
 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
-``Request``, while the ``requestComplete`` signal notifies the completion of all
-the ``Streams`` and data submitted as part of a request. This mechanism allows
+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 and accumulates metadata results in the list of metadata associated
+with a ``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
 `connecting`_ the ``bufferReady`` signal of the capture devices they have queued