+/* controller functions */
+#include <gst/gstcontrolbinding.h>
+#include <gst/gstcontrolsource.h>
+
+GST_API
+GstClockTime gst_object_suggest_next_sync (GstObject * object);
+
+GST_API
+gboolean gst_object_sync_values (GstObject * object, GstClockTime timestamp);
+
+GST_API
+gboolean gst_object_has_active_control_bindings (GstObject *object);
+
+GST_API
+void gst_object_set_control_bindings_disabled (GstObject *object, gboolean disabled);
+
+GST_API
+void gst_object_set_control_binding_disabled (GstObject *object,
+ const gchar * property_name,
+ gboolean disabled);
+
+GST_API
+gboolean gst_object_add_control_binding (GstObject * object, GstControlBinding * binding);
+
+GST_API
+GstControlBinding *
+ gst_object_get_control_binding (GstObject *object, const gchar * property_name);
+
+GST_API
+gboolean gst_object_remove_control_binding (GstObject * object, GstControlBinding * binding);
+
+GST_API
+GValue * gst_object_get_value (GstObject * object, const gchar * property_name,
+ GstClockTime timestamp);
+GST_API
+gboolean gst_object_get_value_array (GstObject * object, const gchar * property_name,
+ GstClockTime timestamp, GstClockTime interval,
+ guint n_values, gpointer values);
+GST_API
+gboolean gst_object_get_g_value_array (GstObject * object, const gchar * property_name,
+ GstClockTime timestamp, GstClockTime interval,
+ guint n_values, GValue *values);
+GST_API
+GstClockTime gst_object_get_control_rate (GstObject * object);
+
+GST_API
+void gst_object_set_control_rate (GstObject * object, GstClockTime control_rate);
+
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstObject, gst_object_unref)
+#endif
+