Description
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 gst_controller_* API is
gone and now available in simplified form under gst_object_*. 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_disabledgst_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/documentation/design/controller.html?gi-language=c
- https://gstreamer.freedesktop.org/documentation/application-development/advanced/dparams.html?gi-language=c
- https://gstreamer.freedesktop.org/data/doc/gstreamer/stable/gstreamer/html/GstControlSource.html
- https://gstreamer.freedesktop.org/data/doc/gstreamer/stable/gstreamer/html/GstControlBinding.html
- https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTimedValueControlSource.html
- https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstInterpolationControlSource.html