controller: port to API changes
authorStefan Sauer <ensonic@users.sf.net>
Sat, 31 Dec 2011 08:55:46 +0000 (09:55 +0100)
committerStefan Sauer <ensonic@users.sf.net>
Sat, 31 Dec 2011 09:03:10 +0000 (10:03 +0100)
tests/icles/pitch-test.c

index 2936dd0d3b8bba1cc00dd36a528e5e0502dd594b..b5944b42d862ff549aeb1d50ada505a9cffc9ba3 100644 (file)
@@ -37,9 +37,8 @@ main (int argc, char **argv)
   GstElement *pitch;
   GstElement *sink;
   GstElement *pipeline;
-  GstController *ctl;
   GstInterpolationControlSource *csource;
-  GValue val = { 0, };
+  GstTimedValueControlSource *cs;
 
   if (argc != 2) {
     g_printerr ("Usage: %s <audiosink>\n", argv[0]);
@@ -68,46 +67,30 @@ main (int argc, char **argv)
   gst_element_link_many (audiotestsrc, audioconvert1, pitch, audioconvert2,
       sink, NULL);
 
-  if (!(ctl = gst_controller_new (G_OBJECT (pitch), "pitch", NULL))) {
-    g_print ("can't control pitch element\n");
-    return -1;
-  }
-
+  /* set up a controller */
   csource = gst_interpolation_control_source_new ();
   g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
 
-  gst_controller_set_control_source (ctl, "pitch",
-      GST_CONTROL_SOURCE (csource));
-
-
-  g_value_init (&val, G_TYPE_FLOAT);
+  gst_object_set_control_source (pitch, "pitch", GST_CONTROL_SOURCE (csource));
+  cs = (GstTimedValueControlSource *) csource;
 
   for (i = 0; i < 100; ++i) {
     if (i % 2)
-      g_value_set_float (&val, 0.5);
+      gst_timed_value_control_source_set (cs, i * GST_SECOND, 0.5);
     else
-      g_value_set_float (&val, 1.5);
-
-    gst_timed_value_control_source_set ((GstTimedValueControlSource *) csource,
-        i * GST_SECOND, &val);
+      gst_timed_value_control_source_set (cs, i * GST_SECOND, 1.5);
   }
 
-  g_value_unset (&val);
-
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
   g_print ("Running\n");
   g_main_loop_run (loop);
 
-  /* set up a controller */
-
   /* clean up nicely */
+  gst_object_unref (csource);
   g_print ("Returned, stopping playback\n");
   gst_element_set_state (pipeline, GST_STATE_NULL);
   g_print ("Deleting pipeline\n");
   gst_object_unref (GST_OBJECT (pipeline));
 
-  g_object_unref (csource);
-  g_object_unref (ctl);
-
   return 0;
 }