XLinkOut

XLinkOut node is used to send data from the device to the host via XLink.

How to place it

pipeline = dai.Pipeline()
xlinkOut = pipeline.create(dai.node.XLinkOut)
dai::Pipeline pipeline;
auto xlinkOut = pipeline.create<dai::node::XLinkOut>();

Inputs and Outputs

          ┌──────────────┐
          │              │
input     │              │   (to host)
─────────►│   XLinkOut   ├------------►
          │              │
          │              │
          └──────────────┘

Message types

  • input - Any

Usage

pipeline = dai.Pipeline()
xOut = pipeline.create(dai.node.XLinkOut)
xOut.setStreamName("camOut")

# Here we will send camera preview (ImgFrame) to the host via XLink.
# Host can then display the frame to the user
cam.preview.link(xOut.input)
dai::Pipeline pipeline;
auto xOut = pipeline.create<dai::node::XLinkOut>();
xOut->setStreamName("camOut");

// Here we will send camera preview (ImgFrame) to the host via XLink.
// Host can then display the frame to the user
cam->preview.link(xOut->input);

Reference

class depthai.node.XLinkOut

XLinkOut node. Sends messages over XLink.

class Connection

Connection between an Input and Output

class Id

Node identificator. Unique for every node on a single Pipeline

getAssetManager(*args, **kwargs)

Overloaded function.

  1. getAssetManager(self: depthai.Node) -> depthai.AssetManager

Get node AssetManager as a const reference

  1. getAssetManager(self: depthai.Node) -> depthai.AssetManager

Get node AssetManager as a const reference

getFpsLimit(self: depthai.node.XLinkOut)float

Get rate limit in messages per second

getInputRefs(*args, **kwargs)

Overloaded function.

  1. getInputRefs(self: depthai.Node) -> List[depthai.Node.Input]

Retrieves reference to node inputs

  1. getInputRefs(self: depthai.Node) -> List[depthai.Node.Input]

Retrieves reference to node inputs

getInputs(self: depthai.Node) → List[depthai.Node.Input]

Retrieves all nodes inputs

getMetadataOnly(self: depthai.node.XLinkOut)bool

Get whether to transfer only messages attributes and not buffer data

getName(self: depthai.Node)str

Retrieves nodes name

getOutputRefs(*args, **kwargs)

Overloaded function.

  1. getOutputRefs(self: depthai.Node) -> List[depthai.Node.Output]

Retrieves reference to node outputs

  1. getOutputRefs(self: depthai.Node) -> List[depthai.Node.Output]

Retrieves reference to node outputs

getOutputs(self: depthai.Node) → List[depthai.Node.Output]

Retrieves all nodes outputs

getParentPipeline(*args, **kwargs)

Overloaded function.

  1. getParentPipeline(self: depthai.Node) -> depthai.Pipeline

  2. getParentPipeline(self: depthai.Node) -> depthai.Pipeline

getStreamName(self: depthai.node.XLinkOut)str

Get stream name

property id

Id of node

property input

Input for any type of messages to be transfered over XLink stream

Default queue is blocking with size 8

setFpsLimit(self: depthai.node.XLinkOut, fpsLimit: float)None

Specifies a message sending limit. It’s approximated from specified rate.

Parameter fps:

Approximate rate limit in messages per second

setMetadataOnly(self: depthai.node.XLinkOut, arg0: bool)None

Specify whether to transfer only messages attributes and not buffer data

setStreamName(self: depthai.node.XLinkOut, streamName: str)None

Specifies XLink stream name to use.

The name should not start with double underscores ‘__’, as those are reserved for internal use.

Parameter name:

Stream name

class dai::node::XLinkOut : public dai::Node

XLinkOut node. Sends messages over XLink.

Public Functions

std::string getName() const override

Retrieves nodes name.

XLinkOut(const std::shared_ptr<PipelineImpl> &par, int64_t nodeId)
void setStreamName(const std::string &name)

Specifies XLink stream name to use.

The name should not start with double underscores ‘__’, as those are reserved for internal use.

Parameters
  • name: Stream name

void setFpsLimit(float fps)

Specifies a message sending limit. It’s approximated from specified rate.

Parameters
  • fps: Approximate rate limit in messages per second

void setMetadataOnly(bool metadataOnly)

Specify whether to transfer only messages attributes and not buffer data

std::string getStreamName() const

Get stream name.

float getFpsLimit() const

Get rate limit in messages per second.

bool getMetadataOnly() const

Get whether to transfer only messages attributes and not buffer data.

Public Members

Input input = {*this, "in", Input::Type::SReceiver, true, 8, {{DatatypeEnum::Buffer, true}}}

Input for any type of messages to be transfered over XLink stream

Default queue is blocking with size 8

Private Functions

nlohmann::json getProperties() override
std::shared_ptr<Node> clone() override

Private Members

dai::XLinkOutProperties properties

Got questions?

We’re always happy to help with code or other questions you might have.