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