controller: adapt to control-source type changes
authorStefan Sauer <ensonic@users.sf.net>
Tue, 31 Jan 2012 11:22:19 +0000 (12:22 +0100)
committerStefan Sauer <ensonic@users.sf.net>
Tue, 31 Jan 2012 11:22:19 +0000 (12:22 +0100)
tests/examples/shapewipe/shapewipe-example.c
tests/examples/v4l2/camctrl.c

index 2a4dbbb..4678eef 100644 (file)
@@ -64,8 +64,7 @@ main (gint argc, gchar ** argv)
 {
   GstElement *pipeline;
   GstElement *shapewipe;
-  GstLFOControlSource *csource;
-  GValue val = { 0, };
+  GstControlSource *cs;
   GMainLoop *loop;
   GstBus *bus;
   gchar *pipeline_string;
@@ -97,23 +96,17 @@ main (gint argc, gchar ** argv)
 
   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);
 
index 83edaa9..994fdce 100644 (file)
@@ -72,7 +72,7 @@ static void
 set_program (GstObject * elem, GstStructure * prog)
 {
   const GstStructure *s;
-  GstInterpolationControlSource *cs;
+  GstControlSource *cs;
   GstClockTime ts, dur;
   gdouble v;
   const GValue *frame;
@@ -98,8 +98,7 @@ set_program (GstObject * elem, GstStructure * prog)
       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);