Skip to content

Add support for GstController APIs #157

Closed
@neilcsmith-net

Description

@neilcsmith-net

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_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



Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions