pciesink ======== The ``simaaipciesink`` GStreamer plugin sends data to a SiMa PCIe endpoint device. It receives buffers from the pipeline and transmits their contents via the PCIe interface. The plugin utilizes SiMa.ai’s PCIe library for communication. Properties ---------- =================== ======= =============================== ============================================================================================ Property Name Type Default Value Description =================== ======= =============================== ============================================================================================ async boolean TRUE Go asynchronously to PAUSED. blocksize int 4096 Size in bytes to pull per buffer (0 = default). config string “/mnt/cfg/pcie_xxxxx_sink.json” JSON file with node configuration. data-buf-name string “ev-ggcnn-postproc” Node name for allocated buffers. enable-last-sample boolean TRUE Enable the last-sample property. max-bitrate int64 0 The maximum bits per second to render (0 = disabled). max-lateness int64 -1 Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited). name string “pciesink0” The name of the object. num-buffers int 5 Number of buffers allocated. param-buf-name string “camera_params” Node name for allocated param buffers. param-buffer-size int 48 Size of each allocated param buffers. processing-deadline int64 20000000 Maximum processing time for a buffer in nanoseconds. qos boolean FALSE Generate Quality-of-Service events upstream. queue int 0 Data queue number to listen on. render-delay int64 0 Additional render delay of the sink in nanoseconds. sync boolean TRUE Sync on the clock. throttle-time int64 0 The time to keep between rendered buffers (0 = disabled). transmit boolean FALSE Transmit KPI Message. ts-offset int64 0 Timestamp offset in nanoseconds. use-multi-buffers int 0 Copy parameters from param buffers. =================== ======= =============================== ============================================================================================ Usage ----- The ``simaaipciesink`` plugin is integrated into a GStreamer pipeline as a sink element. It accepts buffers and transmits them to the PCIe endpoint. The following example demonstrates its basic usage: .. code:: bash 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. The ``...`` represents any necessary processing elements in your pipeline before sending data to the ``simaaipciesink``. The plugin expects buffers with SiMa.ai metadata. Ensure your pipeline produces buffers appropriately formatted for the SiMa.ai ecosystem. Installation ------------ To install the ``simaaipciesink`` plugin, copy the plugin file (``gstsimaaipciesink.so`` and necessary dependencies) from ``/usr/local/simaai/plugin_zoo/gst-simaai-plugins-base/gst/`` into your project’s ``plugins/`` directory. The plugin should then be automatically detected by GStreamer. The plugin will load configuration parameters from the JSON file specified by the “config” property. If the config file is not specified it will use default values. The plugin requires a correctly configured SiMa.ai environment.