Chapter 16. Dynamic Controllable Parameters

16.1. Getting Started

The controller subsystem offers a lightweight way to adjust gobject properties over stream-time. Normaly these properties are changed using g_object_set(). Timing those calls reliably so that the changes affect certain stream times is close to impossible. The controller takes time into account. It works by attaching control-sources to properties. Control-sources can provide new values for the properties for a given timestamp. At run-time the elements continously pull values changes for the current stream-time. GStreamer includes a few different control-sources, but applications can define their own by subclassing.

This subsystem is contained within the gstcontroller library. You need to include the header in your application's source file:


...
#include <gst/gst.h>
#include <gst/controller/gstcontroller.h>
...
    

Your application should link to the shared library gstreamer-controller.

The gstreamer-controller library needs to be initialized when your application is run. This can be done after the GStreamer library has been initialized.


  ...
  gst_init (&argc, &argv);
  gst_controller_init (&argc, &argv);
  ...