graphs Namespace
Definition
Namespaces Index
| namespace | detail |
Functions Index
| Graph | Branch (std::string input, std::vector< std::string > outputs) |
|
Build a reusable Graph that branches one named input to several named outputs. More... | |
| Graph | Combine (std::vector< std::string > inputs, std::string output, CombinePolicy policy=CombinePolicy::ByFrame) |
|
Build a reusable Graph that combines several named inputs into one named output. More... | |
Functions
Branch()
| inline |
Build a reusable Graph that branches one named input to several named outputs.
Example:
Conceptually:
The returned object is a normal public Graph containing one Input(input), one Output(name) per requested output, and endpoint connect(input, output) edges. At build time the compiler lowers connected branches to the internal shallow FanOut runtime machinery, rather than inserting appsrc/appsink boundaries, while preserving the public endpoint names for Run::pull(name), diagnostics, and visualization.
Definition at line 63 of file Fragments.h.
Combine()
| inline |
Build a reusable Graph that combines several named inputs into one named output.
Example:
policy defines how samples from the named inputs are matched:
- CombinePolicy::ByFrame: exact Sample::frame_id match.
- CombinePolicy::ByPts: exact Sample::pts_ns / Presentation Timestamp match.
- CombinePolicy::RoundRobin: forward original samples fairly, one at a time, without creating bundles.
- CombinePolicy::None: fail closed if multiple producers reach the output.
The helper only constructs public Graph topology. The compiler is responsible for lowering the multi-producer output to the internal combine stage for ByFrame / ByPts or the internal stream scheduler for RoundRobin.
Definition at line 106 of file Fragments.h.
The documentation for this namespace was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.