Review and port the GstController API mappings from the 0.10 bindings. They were removed from the gst1-java-core v1 release as they had not been updated and were non-functional.
From porting docs -
GstController:
has now been merged into GstObject. It does not exists as a individual
object anymore. In addition core contains a GstControlSource base class and
the GstControlBinding. The actual control sources are in the controller
library as before. The 2nd big change is that control sources generate
a sequence of gdouble values and those are mapped to the property type and
value range by GstControlBindings.
For plugins the effect is that gst_controller_init() is gone and
gst_object_sync_values() is taking a GstObject instead of GObject .
For applications the effect is larger. The whole gstcontroller API is
gone and now available in simplified form under gstobject. ControlSources
are now attached via GstControlBinding to properties. There are no GValue
arguments used anymore when programming control sources.
A simple way to attach a ControlSource to a property is:
gst_object_add_control_binding (object,
gst_direct_control_binding_new (object, property_name, control_source));
gst_object_get_value_arrays has been removed. Loop over the controlled
properties fetch the value array. Also GstValueArray is gone. The fields of
GstValueArray are now passed directly to gst_object_get_value_array as
arguments.
GstInterpolationControlSource has been split. There is a new
GstTimedValueControlSource baseclass and 2 sub classes:
GstInterpolationControlSource and GstTriggerControlSource. The API for setting
and getting the timestamps is in GstTimedValueControlSource.
gst_interpolation_control_source_set_interpolation_mode() has been removed.
Set the "mode" gobject property on the control-source instead. The possible
enum values have been renamed from GST_INTERPOLATE_XXX to
GST_INTERPOLATION_MODE_XXX.
Review and port the GstController API mappings from the 0.10 bindings. They were removed from the gst1-java-core v1 release as they had not been updated and were non-functional.
From porting docs -
GstController: has now been merged into GstObject. It does not exists as a individual object anymore. In addition core contains a GstControlSource base class and the GstControlBinding. The actual control sources are in the controller library as before. The 2nd big change is that control sources generate a sequence of gdouble values and those are mapped to the property type and value range by GstControlBindings.
For plugins the effect is that gst_controller_init() is gone and gst_object_sync_values() is taking a GstObject instead of GObject .
For applications the effect is larger. The whole gstcontroller API is gone and now available in simplified form under gstobject. ControlSources are now attached via GstControlBinding to properties. There are no GValue arguments used anymore when programming control sources.
A simple way to attach a ControlSource to a property is: gst_object_add_control_binding (object, gst_direct_control_binding_new (object, property_name, control_source));
gst_controller_set_property_disabled -> gst_object_set_control_binding_disabled
gst_object_get_value_arrays has been removed. Loop over the controlled properties fetch the value array. Also GstValueArray is gone. The fields of GstValueArray are now passed directly to gst_object_get_value_array as arguments.
GstInterpolationControlSource has been split. There is a new GstTimedValueControlSource baseclass and 2 sub classes: GstInterpolationControlSource and GstTriggerControlSource. The API for setting and getting the timestamps is in GstTimedValueControlSource.
gst_interpolation_control_source_set_interpolation_mode() has been removed. Set the "mode" gobject property on the control-source instead. The possible enum values have been renamed from GST_INTERPOLATE_XXX to GST_INTERPOLATION_MODE_XXX.
-https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#gst-object-add-control-binding