Skip to content

RFC: gstreamer: Add an element proc macro based on the `gobject` crate to ease GStreamer element implementation

This implementation is based on the gobject crate which we probably want to get in upstream gtk-rs but I already started to experiment to properly in the gstreamer-rs infrastructure so that it becomes even simpler to implement GStreamer elements in Rust.

This implements an gstreamer::element proc macro which allows declaring a GStreamer element subclass (or a subclass of the subclass obviously) and lets us define all the necessary element metadata as part of the macro metadata, namely:

  • Factory related metadatas
  • Pad templates
  • Debug category which is automatically registered

Merge request reports