Gst.Plugin

const Gst = imports.gi.Gst;

let plugin = new Gst.Plugin();
  

GStreamer is extensible, so Gst.Element instances can be loaded at runtime. A plugin system can provide one or more of the basic <application>GStreamer</application> Gst.PluginFeature subclasses.

A plugin should export a symbol <symbol>gst_plugin_desc</symbol> that is a struct of type Gst.PluginDesc. the plugin loader will check the version of the core library the plugin was linked against and will create a new Gst.Plugin. It will then call the Gst.PluginInitFunc function that was provided in the <symbol>gst_plugin_desc</symbol>.

Once you have a handle to a Gst.Plugin (e.g. from the Gst.Registry), you can add any object that subclasses Gst.PluginFeature.

Usually plugins are always automaticlly loaded so you don't need to call Gst.load explicitly to bring it into memory. There are options to statically link plugins to an app or even use GStreamer without a plugin repository in which case Gst.load can be needed to bring the plugin into memory.

Hierarchy

  • GObject.Object
    • GObject.InitiallyUnowned
      • Gst.Object
        • Gst.Plugin