track-element: use out-point for updating control bindings
authorHenry Wilkes <hwilkes@igalia.com>
Wed, 20 May 2020 20:20:10 +0000 (21:20 +0100)
committerHenry Wilkes <hwilkes@igalia.com>
Mon, 25 May 2020 10:20:38 +0000 (11:20 +0100)
commit9e18e03939836dd5ca07bd166ca27d58d97d841c
tree1d82687e0636216c97233e614515174b8cd7bfab
parent738524662b0de9c99c36fdd5e84563e8fe3c8991
track-element: use out-point for updating control bindings

The out-point, which is an internal time, is used instead of the
duration for determining the control binding value at the end of the
element.

Also, allow the user to switch off the auto-clamping of control sources
if they are not desired. And allow them to clamp specific control sources
individually.

Also, fix a lot of memory leaks related to control sources. In
particular, releasing the extra ref gained by source in
g_object_get (binding, "control-source", &source, NULL);

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
ges/ges-base-xml-formatter.c
ges/ges-clip.c
ges/ges-internal.h
ges/ges-timeline-tree.c
ges/ges-track-element.c
ges/ges-track-element.h
ges/ges-xml-formatter.c
tests/check/ges/clip.c
tests/check/ges/project.c