pciesrc

The simaaipciesrc GStreamer plugin is a source element that reads data from a PCIe interface. It receives data from a host system via PCIe and pushes it to downstream elements in a GStreamer pipeline. The plugin supports dynamic src pads creation. For proper negotiation of src pads pipeline should have same number of src pads in simaaipciesrc on SoC as number of sink pads of pciehost on host.

Properties

The following properties can be configured for the simaaipciesrc plugin:

Property

Type

Default

Description

buffer-size

int

4194304

Size of output buffer to be allocated by simaaipciesrc.

name

string

“simaaipciesrc0”

The name of the object.

pool-size

int

5

Size of output pool to be create by simaaipciesrc per each channel/pad.

queue

int

0

Data queue number to listen on.

silent

boolean

FALSE

Produce verbose output.

transmit

boolean

FALSE

Transmit KPI Message.

Usage

The simaaipciesrc plugin can be integrated into a GStreamer pipeline like this:

gst-launch-1.0 simaaipciesrc ! ... ! simaaipciesink config=/path/to/config.json num-buffers=10 data-buffer-size=8388608 transmit=true

Replace /path/to/your/video.mp4 with the actual path to your video file and /path/to/config.json with the path to your JSON configuration file. Adjust num-buffers and data-buffer-size as needed.

Installation

To install the simaaipciesrc plugin, copy the plugin files (located in /usr/local/simaai/plugin_zoo/gst-simaai-plugins-base/gst/) into your project’s plugins/ directory. The plugin will then be automatically loaded by GStreamer.

Pipeline Integration

The simaaipciesrc plugin acts as a source in the GStreamer pipeline. It receives data from the PCIe interface and pushes it to the next element in the pipeline. The data flow is managed by the internal worker thread that continuously monitors for incoming data. End-of-stream (EOS) events are handled to gracefully terminate the pipeline. The plugin uses the SiMa.ai memory allocator for efficient memory management. The plugin is designed to work with SiMa.ai hardware.