FakesinkOp
🚧 Documentation is under development
The Holoscan SDK guide is currently under active development. Some sections may be incomplete or change without notice.
Questions? Contact RidgeRun or email to support@ridgerun.com.
-
Overview
-
Build, Run, and Validate
-
Core Concepts
-
Operators and Graphs
-
Tensor Data and Memory
-
Interprocess Communication
-
-
Application and Operator Development
- Building an HSDK Application
- Writing a Minimal Operator
- Typed Parameters and Configuration
- Reading, Writing, and Forwarding Data
- Writing Tensor Operators
- Complete Operator Patterns
- Authoring Runtime Behavior
- Runtime Parameter Updates
- Lifecycle Callbacks and Restart Control
- Performance and Debugging
- SDK Source Map
-
Operator Reference
-
Core Operators
-
Holoscan Camera
-
Holoscan RidgeRun
- Overview
- Build and Installation
- ArgusCameraOp
- V4L2SourceOp
- V4L2UserPtrSourceOp
- BgraToPlanarTensorOp
- RawBayerToBgraOp
- RawBayerToYoloTensorOp
- YuyvToBgraOp
- TensorRtInferenceOp
- DrmDisplayOp
- DrmBgraDisplayOp
- X11DisplayOp
- CudaCompositorOp
- DepthColorizerOp
- FakesinkOp
- FrameSkipperOp
- InterprocessSrcOp
- TestPatternOp
-
-
Migration from Holoscan 4.x
-
Examples
-
Core
-
Holoscan Camera
-
Holoscan RidgeRun
-
-
Benchmark and Use Cases
-
Holoscan vs GStreamer
- Overview
-
Capture and Display
-
Capture and Inference
- Compare the workloads
- Implemented Applications
- Framework Selection
- Interprocess
-
FakesinkOp
FakesinkOp consumes Tensor samples without copying or inspecting their payload. It is the terminal sink used when a benchmark must measure capture, preprocessing or inference without adding display work.
Input arguments
The optional verbose constructor argument enables logging of received tensors. The sink has no output port and does not allocate a replacement Tensor.
Ports and data contract
| Port | Memory | Queue | Trigger | Contract |
|---|---|---|---|---|
input
|
Tensor memory supplied by the upstream operator | 1 | OnEach
|
Receives each selected sample and releases it after recording the event. No Holoscan output. |
V4L2UserPtrSourceOp -> RawBayerToYoloTensorOp -> TensorRtInferenceOp -> FakesinkOp
The same sink can terminate other Tensor graphs, including the SDK-owned InferenceOp path.
Build
Follow Holoscan RidgeRun Build and Installation for the module build and installation. The operator-specific include, target, and runtime requirements are listed below.
Include fakesink_op/fakesink_op.hpp and link holoscan::fakesink_op.
Example
The received Sample<Tensor> is local to compute(). When it goes out of scope, the sink releases the plan-owned Tensor storage. No synchronization, host copy, Tensor decode or inference postprocessing occurs. With verbose=true, the implementation prints the buffer count, shape, dtype, device, byte count, sequence and frame ID; this is useful for checking a graph but adds logging overhead.
The sink also records the receive and release interval in the shared RidgeRun flow trace under the sink stage. That trace event is independent of Glass-to-Glass latency because no display or optical measurement is performed.
auto sink = graph.op<holoscan::ridgerun::FakesinkOp>("fakesink", false);
graph.add_flow(inference->output, sink->input);