libcamera: pipeline: simple: Document the pipeline traversal algorithm

Add a section to the documentation at the top of the file to describe in
a bit more details how the media graph is traversed.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
Reviewed-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Laurent Pinchart 2022-04-06 21:08:27 +03:00
parent 610e59fc83
commit 0416488635

View file

@ -95,6 +95,21 @@ LOG_DEFINE_CATEGORY(SimplePipeline)
* valid pipeline configurations are found, a Camera is registered for the * valid pipeline configurations are found, a Camera is registered for the
* SimpleCameraData instance. * SimpleCameraData instance.
* *
* Pipeline Traversal
* ------------------
*
* During the breadth-first search, the pipeline is traversed from entity to
* entity, by following media graph links from source to sink, starting at the
* camera sensor. When reaching an entity (on its sink side), all its source
* pads are considered to continue the graph traversal.
*
* The shortest path between the camera sensor and a video node is stored in
* SimpleCameraData::entities_ as a list of SimpleCameraData::Entity structures,
* ordered along the data path from the camera sensor to the video node. The
* Entity structure stores a pointer to the MediaEntity, as well as information
* about how it is connected in that particular path for later usage when
* configuring the pipeline.
*
* Pipeline Configuration * Pipeline Configuration
* ---------------------- * ----------------------
* *