# Plugin and library development

**URL:** https://discourse.gstreamer.org/c/plugin-dev/6.md

[Latest](https://discourse.gstreamer.org/latest.md) · [Categories](https://discourse.gstreamer.org/categories.md) · [Tags](https://discourse.gstreamer.org/tags.md)

---

## [About the Plugin and library development category](https://discourse.gstreamer.org/t/about-the-plugin-and-library-development-category/13)

<div class="topic-metadata">

**Author:** [@bilboed](https://discourse.gstreamer.org/u/bilboed)\
**Replies:** 0

</div>

Support and questions about developing GStreamer itself This category is for any questions and discussions regarding the development of GStreamer plugins and libraries. This should not be used for questions regarding t…

---

## [OMT (Open Media Transport) src/sink plugin](https://discourse.gstreamer.org/t/omt-open-media-transport-src-sink-plugin/5586)

<div class="topic-metadata">

**Author:** [@ToniMoreno](https://discourse.gstreamer.org/u/ToniMoreno)\
**Replies:** 2\
**Last updated:** [September 1, 2026, 3:22am UTC](https://discourse.gstreamer.org/t/omt-open-media-transport-src-sink-plugin/5586 "2026-09-01T03:22:56Z")

</div>

Hi all I’m developing a src/sink plugin for OMT (see https://openmediatransport.com) that is a open source video transport on gigabit networks. Very similar to NDI. I already have a first POC of a omtsrc working. OMT …

---

## [Test data for debugging and CI tests](https://discourse.gstreamer.org/t/test-data-for-debugging-and-ci-tests/5877)

<div class="topic-metadata">

**Author:** [@CarlFK](https://discourse.gstreamer.org/u/CarlFK)\
**Replies:** 0\
**Last updated:** [August 13, 2026, 9:59pm UTC](https://discourse.gstreamer.org/t/test-data-for-debugging-and-ci-tests/5877 "2026-08-13T21:59:03Z")

</div>

When I am debugging hardwar AV issues, I generally start with a known good source. a tone generator for audio and a color bar generator for video. I would love something similar for debugging gst things: some simple fl…

---

## [Inquiry: AV2 Multistream Support in GStreamer](https://discourse.gstreamer.org/t/inquiry-av2-multistream-support-in-gstreamer/5871)

<div class="topic-metadata">

**Author:** [@dengfei660](https://discourse.gstreamer.org/u/dengfei660)\
**Replies:** 0\
**Last updated:** [August 5, 2026, 6:39am UTC](https://discourse.gstreamer.org/t/inquiry-av2-multistream-support-in-gstreamer/5871 "2026-08-05T06:39:02Z")

</div>

Hi all, I’m looking into the technical roadmap for supporting AV2’s multistream feature in GStreamer and would appreciate your insights on the implementation details. 1. Parser & Demuxer AV2 multistream introduces a ne…

---

## [Objects foreign to GObject as properties and how to handle them with Python](https://discourse.gstreamer.org/t/objects-foreign-to-gobject-as-properties-and-how-to-handle-them-with-python/5841)

<div class="topic-metadata">

**Author:** [@YakoYakoYokuYoku](https://discourse.gstreamer.org/u/YakoYakoYokuYoku)\
**Replies:** 0\
**Last updated:** [June 17, 2026, 6:14pm UTC](https://discourse.gstreamer.org/t/objects-foreign-to-gobject-as-properties-and-how-to-handle-them-with-python/5841 "2026-06-17T18:14:08Z")

</div>

I want to take time into discussing how GStreamer handles foreign objects to the GObject system. Assigning or obtaining element, pad or pad template properties in Python is pretty trivial as these are exposed as if they …

---

## [GstAnalytics adoption in DLStreamer - implementation status and questions](https://discourse.gstreamer.org/t/gstanalytics-adoption-in-dlstreamer-implementation-status-and-questions/5820)

<div class="topic-metadata">

**Author:** [@ofiedot\_int](https://discourse.gstreamer.org/u/ofiedot_int)\
**Replies:** 0\
**Last updated:** [May 15, 2026, 10:53am UTC](https://discourse.gstreamer.org/t/gstanalytics-adoption-in-dlstreamer-implementation-status-and-questions/5820 "2026-05-15T10:53:52Z")

</div>

Hi, I’m working on DLStreamer at Intel - a GStreamer plugin for AI inference using OpenVINO. I wanted to share our experience migrating to GstAnalytics and get feedback from the community. We are currently transitionin…

---

## [Gstreamer pipeware plugin](https://discourse.gstreamer.org/t/gstreamer-pipeware-plugin/5817)

<div class="topic-metadata">

**Author:** [@arinbisw](https://discourse.gstreamer.org/u/arinbisw)\
**Replies:** 0\
**Last updated:** [May 14, 2026, 1:01pm UTC](https://discourse.gstreamer.org/t/gstreamer-pipeware-plugin/5817 "2026-05-14T13:01:50Z")

</div>

Hi Gstreamer Team, Is there any plan to bring gstreamer pipewire audio plugin as part of plugins-good or pluins-bad (Like pulseaudio plugins in plugins-good)? Thanks Arindam

---

## [Dynamic property setting in multi-process pipeline](https://discourse.gstreamer.org/t/dynamic-property-setting-in-multi-process-pipeline/5786)

<div class="topic-metadata">

**Author:** [@devanshi](https://discourse.gstreamer.org/u/devanshi)\
**Replies:** 0\
**Last updated:** [April 9, 2026, 12:53pm UTC](https://discourse.gstreamer.org/t/dynamic-property-setting-in-multi-process-pipeline/5786 "2026-04-09T12:53:12Z")

</div>

I am running a pipeline that is spread across 2 processes. 1st process has Camera source, Image Enhancer while Process 2 has Muxer, Video Encoder, Muxer and File sink in 2nd process. I am interested to know that using …

---

## [GstVideoDecodrer and stream lock in rust](https://discourse.gstreamer.org/t/gstvideodecodrer-and-stream-lock-in-rust/5753)

<div class="topic-metadata">

**Author:** [@mhebant](https://discourse.gstreamer.org/u/mhebant)\
**Replies:** 1\
**Last updated:** [March 9, 2026, 9:35pm UTC](https://discourse.gstreamer.org/t/gstvideodecodrer-and-stream-lock-in-rust/5753 "2026-03-09T21:35:49Z")

</div>

Hi! I’m sub classing VideoDecoder in rust. In handle\_frame I queue frames to be decoded and an other thread calls finish\_frame once decoded. But I encounter deadlocks, seemingly on the stream lock. Form what I understa…

---

## [Proposal: Moving parser + waylandsink plugins from gst-plugins-bad to gst-plugins-good](https://discourse.gstreamer.org/t/proposal-moving-parser-waylandsink-plugins-from-gst-plugins-bad-to-gst-plugins-good/5737)

<div class="topic-metadata">

**Author:** [@bkosuri](https://discourse.gstreamer.org/u/bkosuri)\
**Replies:** 1\
**Last updated:** [February 26, 2026, 1:09pm UTC](https://discourse.gstreamer.org/t/proposal-moving-parser-waylandsink-plugins-from-gst-plugins-bad-to-gst-plugins-good/5737 "2026-02-26T13:09:52Z")

</div>

Hi all, I’d like to ask about the current status and long‑term plans for a few plugins that still reside in gst-plugins-bad, specifically some of the parser plugins and waylandsink. These plugins seem stable and well ma…

---

## [(V4L2codecs) feasibility of adding support for Raspberry Pi HEVC "SAND" formats NC12, NC30?](https://discourse.gstreamer.org/t/v4l2codecs-feasibility-of-adding-support-for-raspberry-pi-hevc-sand-formats-nc12-nc30/3522)

<div class="topic-metadata">

**Author:** [@fduncanh](https://discourse.gstreamer.org/u/fduncanh)\
**Replies:** 8\
**Last updated:** [February 19, 2026, 10:46pm UTC](https://discourse.gstreamer.org/t/v4l2codecs-feasibility-of-adding-support-for-raspberry-pi-hevc-sand-formats-nc12-nc30/3522 "2026-02-19T22:46:32Z")

</div>

I’m investigating getting support for the Raspberry Pi (models 5,4B) v4l2-compliant HEVC decoding block driver “rpivid” into GStreamer, perhaps initially as a working patch to libgstv4l2codecs our users can apply, and th…

---

## [Candyfloss: an eDSL sugar python library for gstreamer](https://discourse.gstreamer.org/t/candyfloss-an-edsl-sugar-python-library-for-gstreamer/5721)

<div class="topic-metadata">

**Author:** [@bobpoekert](https://discourse.gstreamer.org/u/bobpoekert)\
**Replies:** 0\
**Last updated:** [February 12, 2026, 6:12am UTC](https://discourse.gstreamer.org/t/candyfloss-an-edsl-sugar-python-library-for-gstreamer/5721 "2026-02-12T06:12:43Z")

</div>

candyfloss is a set of python bindings to GStreamer. examples: # scale a video file to 300x300 from candyfloss import Pipeline with Pipeline() as p: inp\_file = p \>\> \['uridecodebin', {'uri':'file:///tmp/inp.mp4'…

---

## [Dynamically changing rtpbin latencies](https://discourse.gstreamer.org/t/dynamically-changing-rtpbin-latencies/5695)

<div class="topic-metadata">

**Author:** [@jonasdn](https://discourse.gstreamer.org/u/jonasdn)\
**Replies:** 3\
**Last updated:** [January 27, 2026, 6:15am UTC](https://discourse.gstreamer.org/t/dynamically-changing-rtpbin-latencies/5695 "2026-01-27T06:15:18Z")

</div>

Hi hackers! We’re using rtpbin with ntp-sync=true and buffer-mode=synced for synchronizing streams in our system. The timestamps we carry are from capture time on cameras or encoders. We are looking into dynamically ad…

---

## [Inconsistent usage/semantic of GstNavigation events](https://discourse.gstreamer.org/t/inconsistent-usage-semantic-of-gstnavigation-events/5609)

<div class="topic-metadata">

**Author:** [@Tokoe](https://discourse.gstreamer.org/u/Tokoe)\
**Replies:** 0\
**Last updated:** [January 19, 2026, 2:35pm UTC](https://discourse.gstreamer.org/t/inconsistent-usage-semantic-of-gstnavigation-events/5609 "2026-01-19T14:35:47Z")

</div>

Hej, While trying to add navigation support to the qml6glsrc plugin I came across some inconsistencies in the various plugins that generate GstNavigation events. For example, the ximagesink/xvimagesink plugins encode mo…

---

## [cmafmultivariantsink plugin](https://discourse.gstreamer.org/t/cmafmultivariantsink-plugin/5502)

<div class="topic-metadata">

**Author:** [@jiri.szkandera](https://discourse.gstreamer.org/u/jiri.szkandera)\
**Replies:** 0\
**Last updated:** [November 6, 2025, 6:46pm UTC](https://discourse.gstreamer.org/t/cmafmultivariantsink-plugin/5502 "2025-11-06T18:46:30Z")

</div>

Currently, we have the hlsmultivariantsink plugin, which generates a master HLS playlist as well as playlists for the individual streams (variants). However, if you want to generate a DASH stream, there is no equivalent …

---

## [Toolchain and workflow to build a new plugin == "boilerplate"](https://discourse.gstreamer.org/t/toolchain-and-workflow-to-build-a-new-plugin-boilerplate/5472)

<div class="topic-metadata">

**Author:** [@crashmatt](https://discourse.gstreamer.org/u/crashmatt)\
**Replies:** 3\
**Last updated:** [November 2, 2025, 11:57pm UTC](https://discourse.gstreamer.org/t/toolchain-and-workflow-to-build-a-new-plugin-boilerplate/5472 "2025-11-02T23:57:27Z")

</div>

For anyone like me struggling with understanding how to get started with plugin build toolchain, “boilerplate” is the magic word you are missing. Constructing the Boilerplate gstreamer/subprojects/gst-docs/markdown/plu…

---

## [Gst-libtorrent plugin](https://discourse.gstreamer.org/t/gst-libtorrent-plugin/5468)

<div class="topic-metadata">

**Author:** [@YakoYakoYokuYoku](https://discourse.gstreamer.org/u/YakoYakoYokuYoku)\
**Replies:** 0\
**Last updated:** [October 18, 2025, 9:42pm UTC](https://discourse.gstreamer.org/t/gst-libtorrent-plugin/5468 "2025-10-18T21:42:30Z")

</div>

I’ve made a GStreamer plugin based on libtorrent for streaming torrented media. It contains a new source, libtorrentsrc that is, which handles both BitTorrent files and Magnet URIs so that torrent members can be streamed…

---

## [Possible error in documentation of ugly plugins](https://discourse.gstreamer.org/t/possible-error-in-documentation-of-ugly-plugins/5457)

<div class="topic-metadata">

**Author:** [@sbpetrack](https://discourse.gstreamer.org/u/sbpetrack)\
**Replies:** 1\
**Last updated:** [October 10, 2025, 9:00am UTC](https://discourse.gstreamer.org/t/possible-error-in-documentation-of-ugly-plugins/5457 "2025-10-10T09:00:05Z")

</div>

I see what appears to me might be a “serious” error in the documentation of “ugly plugins.” I admit up front that I am new to gstreamer: so the error might be mine; and even if i am correct, perhaps it should be reported…

---

## [Timeshift plugin](https://discourse.gstreamer.org/t/timeshift-plugin/4928)

<div class="topic-metadata">

**Author:** [@acrilique](https://discourse.gstreamer.org/u/acrilique)\
**Replies:** 3\
**Last updated:** [September 1, 2025, 11:18am UTC](https://discourse.gstreamer.org/t/timeshift-plugin/4928 "2025-09-01T11:18:14Z")

</div>

I’ve developed a gstreamer plugin with 2 elements that provide timeshift functionality: timeshiftsink and timeshiftsrc. The former creates a ring buffer and the latter is able to access it if a pointer to the timeshiftsi…

---

## [Add SDT and optional NIT tables to mpegtsmux](https://discourse.gstreamer.org/t/add-sdt-and-optional-nit-tables-to-mpegtsmux/4953)

<div class="topic-metadata">

**Author:** [@TVforME](https://discourse.gstreamer.org/u/TVforME)\
**Replies:** 0\
**Last updated:** [August 12, 2025, 12:37am UTC](https://discourse.gstreamer.org/t/add-sdt-and-optional-nit-tables-to-mpegtsmux/4953 "2025-08-12T00:37:56Z")

</div>

As with ffmpeg’s mpegtsenc underlying libav has supported both SDT and NIT tables for DVB transmission. GStreamer’s mpeg2 TS mpegtsmux is lacking of to date. Let’s change this. From SO/IEC 13818-1 MPEG-2 The SDT (Serv…

---

## [How to register and activate a rust gstreamer tracer plugin in tests?](https://discourse.gstreamer.org/t/how-to-register-and-activate-a-rust-gstreamer-tracer-plugin-in-tests/4901)

<div class="topic-metadata">

**Author:** [@lrwm3](https://discourse.gstreamer.org/u/lrwm3)\
**Replies:** 1\
**Last updated:** [July 24, 2025, 4:46pm UTC](https://discourse.gstreamer.org/t/how-to-register-and-activate-a-rust-gstreamer-tracer-plugin-in-tests/4901 "2025-07-24T16:46:10Z")

</div>

I am unsure of how to activate a tracer in test code. I am used to the pattern with plugins: fn setup\_test() { // Initialize GStreamer gst::init().expect("Failed to initialize GStreamer"); …

---

## [Custom GstAllocator for contiguous GstBuffers](https://discourse.gstreamer.org/t/custom-gstallocator-for-contiguous-gstbuffers/4872)

<div class="topic-metadata">

**Author:** [@ehab24](https://discourse.gstreamer.org/u/ehab24)\
**Replies:** 1\
**Last updated:** [July 23, 2025, 9:57pm UTC](https://discourse.gstreamer.org/t/custom-gstallocator-for-contiguous-gstbuffers/4872 "2025-07-23T21:57:05Z")

</div>

In my application, I get a GstBuffer, from a GstSample, which coantains the raw bytes of single a video frame. I then create a new buffer that contains 4 of these frames (this is an expensive copy operation) in contiguou…

---

## [Decklinkvideosink device-number=0](https://discourse.gstreamer.org/t/decklinkvideosink-device-number-0/4875)

<div class="topic-metadata">

**Author:** [@giocho8](https://discourse.gstreamer.org/u/giocho8)\
**Replies:** 0\
**Last updated:** [July 17, 2025, 10:17pm UTC](https://discourse.gstreamer.org/t/decklinkvideosink-device-number-0/4875 "2025-07-17T22:17:49Z")

</div>

I’m trying to output a video file using a black magic decklink duo 2, using the decklinkvideosink plugin. But it fails, nothing is played in the SDI output of the board just the first frame of the video is shown but fro…

---

## [MPG123 audio decoder](https://discourse.gstreamer.org/t/mpg123-audio-decoder/4585)

<div class="topic-metadata">

**Author:** [@david\_l](https://discourse.gstreamer.org/u/david_l)\
**Replies:** 7\
**Last updated:** [July 2, 2025, 6:28pm UTC](https://discourse.gstreamer.org/t/mpg123-audio-decoder/4585 "2025-07-02T18:28:18Z")

</div>

Hi, I am a beginner, managed to compile the gstreamer from source and go thru some of the tutorial. I would like too use the MPG123 plugin, managed to enable it and rebuild, but when running it seems to depend upon anot…

---

## [How to make docs.rs build for crate using gstreamer](https://discourse.gstreamer.org/t/how-to-make-docs-rs-build-for-crate-using-gstreamer/4576)

<div class="topic-metadata">

**Author:** [@AS1100K](https://discourse.gstreamer.org/u/AS1100K)\
**Replies:** 8\
**Last updated:** [June 21, 2025, 7:05pm UTC](https://discourse.gstreamer.org/t/how-to-make-docs-rs-build-for-crate-using-gstreamer/4576 "2025-06-21T19:05:28Z")

</div>

Hi there! We have a rust crate that uses gstreamer behind the feature gate. We want to host it’s documentation on docs.rs but it fails (build logs) to run custom build scripts. To fix this, I added the following in Cargo…

---

## [Two independent flows in the same pipeline](https://discourse.gstreamer.org/t/two-independent-flows-in-the-same-pipeline/4732)

<div class="topic-metadata">

**Author:** [@landersson](https://discourse.gstreamer.org/u/landersson)\
**Replies:** 3\
**Last updated:** [June 16, 2025, 1:26pm UTC](https://discourse.gstreamer.org/t/two-independent-flows-in-the-same-pipeline/4732 "2025-06-16T13:26:20Z")

</div>

Hi, I’m trying to write a plugin that contains source elements to support grabbing view finder live video as well as full resolution snapshots from a DSLR camera. It adds two new source elements: edsdkimgsrc - full reso…

---

## [Ipcpipelinesink/src](https://discourse.gstreamer.org/t/ipcpipelinesink-src/4698)

<div class="topic-metadata">

**Author:** [@danijel00](https://discourse.gstreamer.org/u/danijel00)\
**Replies:** 0\
**Last updated:** [June 2, 2025, 7:59am UTC](https://discourse.gstreamer.org/t/ipcpipelinesink-src/4698 "2025-06-02T07:59:25Z")

</div>

Hello, I’m wondering if it’s possible to use ipcpipelinesink/src on Windows? From what I can see in the test example written in C++ on Linux, it seems necessary to have a socket pair with two file descriptors.

---

## [Gstreamer not working in gazebo](https://discourse.gstreamer.org/t/gstreamer-not-working-in-gazebo/4654)

<div class="topic-metadata">

**Author:** [@Iboo](https://discourse.gstreamer.org/u/Iboo)\
**Replies:** 5\
**Last updated:** [May 29, 2025, 3:21am UTC](https://discourse.gstreamer.org/t/gstreamer-not-working-in-gazebo/4654 "2025-05-29T03:21:28Z")

</div>

Hi, I’m experiencing an issue with video streaming from the plane in Gazebo. ubuntu 22.04 gazebo sim, version 8.9.0 ROS 2 Humble There are no errors in operation, startup, or monitoring. Only the camera does not wor…

---

## [Plugins not loading](https://discourse.gstreamer.org/t/plugins-not-loading/4652)

<div class="topic-metadata">

**Author:** [@shirb](https://discourse.gstreamer.org/u/shirb)\
**Replies:** 1\
**Last updated:** [May 25, 2025, 2:31pm UTC](https://discourse.gstreamer.org/t/plugins-not-loading/4652 "2025-05-25T14:31:19Z")

</div>

Hello, I’m building my application on docker with nvidia’s deepstream base image. This is my dockerfile: FROM nvcr.io/nvidia/deepstream:7.1-samples-multiarch ENV SYSTEM\_MAX\_USERS=3 ENV SYSTEM\_USE\_GPU=True ENV SYSTE…

---

## [Video Decoders with Hardware Acceleratiom](https://discourse.gstreamer.org/t/video-decoders-with-hardware-acceleratiom/4640)

<div class="topic-metadata">

**Author:** [@danijel00](https://discourse.gstreamer.org/u/danijel00)\
**Replies:** 2\
**Last updated:** [May 22, 2025, 12:45pm UTC](https://discourse.gstreamer.org/t/video-decoders-with-hardware-acceleratiom/4640 "2025-05-22T12:45:06Z")

</div>

What are the best/fastest h265/h264 hardware decoders for Intel architecture (Windows)?

[Next page](https://discourse.gstreamer.org/c/plugin-dev/6.md?page=1)
