{
GstElement *pipeline;
GstElement *shapewipe;
- GstLFOControlSource *csource;
- GValue val = { 0, };
+ GstControlSource *cs;
GMainLoop *loop;
GstBus *bus;
gchar *pipeline_string;
shapewipe = gst_bin_get_by_name (GST_BIN (pipeline), "shape");
- csource = gst_lfo_control_source_new ();
+ cs = gst_lfo_control_source_new ();
gst_object_add_control_binding (GST_OBJECT_CAST (shapewipe),
gst_direct_control_binding_new (GST_OBJECT_CAST (shapewipe), "position",
- GST_CONTROL_SOURCE (csource)));
+ cs));
- g_value_init (&val, G_TYPE_FLOAT);
- g_value_set_float (&val, 0.5);
- g_object_set (G_OBJECT (csource), "amplitude", &val, NULL);
- g_value_set_float (&val, 0.5);
- g_object_set (G_OBJECT (csource), "offset", &val, NULL);
- g_value_unset (&val);
+ g_object_set (cs,
+ "amplitude", 0.5,
+ "offset", 0.5, "frequency", 0.25, "timeshift", 500 * GST_MSECOND, NULL);
- g_object_set (G_OBJECT (csource), "frequency", 0.25, NULL);
- g_object_set (G_OBJECT (csource), "timeshift", 500 * GST_MSECOND, NULL);
-
- g_object_unref (csource);
+ g_object_unref (cs);
loop = g_main_loop_new (NULL, FALSE);
set_program (GstObject * elem, GstStructure * prog)
{
const GstStructure *s;
- GstInterpolationControlSource *cs;
+ GstControlSource *cs;
GstClockTime ts, dur;
gdouble v;
const GValue *frame;
if (!cs) {
cs = gst_interpolation_control_source_new ();
gst_object_add_control_binding (elem,
- gst_direct_control_binding_new (elem, name,
- GST_CONTROL_SOURCE (cs)));
+ gst_direct_control_binding_new (elem, name, cs));
g_object_set (cs, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
g_hash_table_insert (css, (gpointer) name, cs);
gst_object_unref (cs);