From 5afc67f3e5ac5d1185dfaf0c22e9151051d8f565 Mon Sep 17 00:00:00 2001 From: Brandon Lewis Date: Tue, 25 May 2010 16:42:47 +0200 Subject: [PATCH] ges-track-transition.c: create gst-controller for transition --- ges/ges-track-transition.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ges/ges-track-transition.c b/ges/ges-track-transition.c index dccc0cfb75..dc225a488c 100644 --- a/ges/ges-track-transition.c +++ b/ges/ges-track-transition.c @@ -80,6 +80,8 @@ link_element_to_mixer (GstElement * element, GstElement * mixer) static gboolean ges_track_transition_create_gnl_object (GESTrackObject * object) { + GESTrackTransition *self = GES_TRACK_TRANSITION (object); + object->gnlobject = gst_element_factory_make ("gnloperation", "transition-operation"); g_object_set (object->gnlobject, "priority", 0, NULL); @@ -113,8 +115,18 @@ ges_track_transition_create_gnl_object (GESTrackObject * object) gst_bin_add (GST_BIN (object->gnlobject), topbin); - //g_object_set(a_pad, "alpha", 0.5, NULL); - g_object_set (b_pad, "alpha", 0.5, NULL); + /* set up interpolation */ + + GstController *controller; + controller = gst_object_control_properties (G_OBJECT (b_pad), "alpha", + NULL); + GstControlSource *control_source; + control_source = + GST_CONTROL_SOURCE (gst_interpolation_control_source_new ()); + gst_controller_set_control_source (controller, "alpha", control_source); + + self->controller = controller; + self->control_source = control_source; return TRUE; }