Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for GstController APIs #157

Closed
neilcsmith-net opened this issue May 18, 2019 · 0 comments
Closed

Add support for GstController APIs #157

neilcsmith-net opened this issue May 18, 2019 · 0 comments
Labels
Awaiting release Fixed in master for next release enhancement

Comments

@neilcsmith-net
Copy link
Member

neilcsmith-net commented May 18, 2019

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



Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting release Fixed in master for next release enhancement
Projects
None yet
Development

No branches or pull requests

1 participant