JMM’s notes on

GStreamer

Pretty useful article on the NixOS wiki about GStreamer

Plugins

The environment variable “GST_PLUGIN_PATH_1_0” needs to be set. Set it to something like lib/:lib/streamer-1.0 when developing. See this documentation about GstRegistry for more info.

In Nix, if you had a pluginpath like:

  pluginpath = symlinkJoin {
    name = "gst-plugins";
    paths = with gst_all_1; [ gst-plugins-base gst-plugins-good gst-libav gst-plugins-bad ];
  };

You’d want to set your plugin path like:

  export GST_PLUGIN_PATH_1_0=${pluginpath}/lib:${pluginpath}/lib/gstreamer-1.0

Pipewire plugin (NixOS)

On NixOS, it looks like “gstreamer-plugin-pipewire” (in Arch’s terms) is provided by nixpkgs.pipewire.lib. Found by running nix-locate libgstpipewire.so.