summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-04-06 21:08:27 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-06-16 12:03:46 +0300
commit0416488635fc406db1674d6c47e4e40462764c7d (patch)
tree5148e00e5a3fa43b43775ae90661f6a0302b794e
parent610e59fc83eea4fdbb0712338b3074318580e8d3 (diff)
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>
-rw-r--r--src/libcamera/pipeline/simple/simple.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index efb28ccd..b09368ae 100644
--- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -95,6 +95,21 @@ LOG_DEFINE_CATEGORY(SimplePipeline)
* valid pipeline configurations are found, a Camera is registered for the
* 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
* ----------------------
*