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)); ... }