16.2. Getting Started

The dparams subsystem is contained within the gstcontrol library. You need to include the header in your element's source file:


  #include <gst/control/control.h>
  

Even though the gstcontrol library may be linked into the host application, you should make sure it is loaded in your plugin_init function:


  static gboolean
  plugin_init (GModule *module, GstPlugin *plugin)
  {
    ...

    /* load dparam support library */
    if (!gst_library_load ("gstcontrol"))
    {
      gst_info ("example: could not load support library: 'gstcontrol'\n");
      return FALSE;
    }

    ...
  }
  

You need to store an instance of GstDParamManager in your element's struct:


  struct _GstExample {
    GstElement element;
    ...

    GstDParamManager *dpman;

    ...
  };
  

The GstDParamManager can be initialised in your element's init function:


  static void
  gst_example_init (GstExample *example)
  {
    ...

    example->dpman = gst_dpman_new ("example_dpman", GST_ELEMENT(example));

    ...
  }