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.