From faf31366abf6ac7c2c069088466c2aa682152712 Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Sat, 12 Nov 2011 10:29:30 +0200 Subject: [PATCH] controller: remove functions to add/remove controlled properties Make that implizit with attaching/detaching controlsources. This is a lot easier and has less invalid state (controlled property without control source). --- docs/gst/gstreamer-sections.txt | 2 - docs/random/porting-to-0.11.txt | 11 +- gst/gstobject.c | 175 +++++---------------------- gst/gstobject.h | 3 - tests/benchmarks/controller.c | 6 - tests/check/libs/controller.c | 194 +++++++++--------------------- tests/examples/controller/audio-example.c | 6 - 7 files changed, 96 insertions(+), 301 deletions(-) diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt index 6880c6f..36c3eae 100644 --- a/docs/gst/gstreamer-sections.txt +++ b/docs/gst/gstreamer-sections.txt @@ -1529,8 +1529,6 @@ gst_object_ref_sink gst_object_replace gst_object_get_path_string -gst_object_control_properties -gst_object_uncontrol_properties gst_object_suggest_next_sync gst_object_sync_values gst_object_has_active_controlled_properties diff --git a/docs/random/porting-to-0.11.txt b/docs/random/porting-to-0.11.txt index e8f708a..67f141f 100644 --- a/docs/random/porting-to-0.11.txt +++ b/docs/random/porting-to-0.11.txt @@ -419,10 +419,13 @@ The 0.11 porting guide gst_object_sync_values() is taking a GstObject * instead of GObject *. For applications the effect is larger. The whole gst_controller_* API is - gone and now available in simplified form under gst_object_*. - - gst_controller_new* -> gst_object_control_properties - gst_controller_add_properties -> gst_object_control_properties + gone and now available in simplified form under gst_object_*. There is no + more GstController object. Attach a control source to a property to control + it and attach NULL to un-control it. + + gst_controller_new* -> gst_object_set_control_source + gst_controller_add_properties -> gst_object_set_control_source gst_controller_set_control_source -> gst_object_set_control_source gst_controller_get_control_source -> gst_object_get_control_source + gst_controller_set_property_disabled -> gst_object_set_controlled_property_disabled diff --git a/gst/gstobject.c b/gst/gstobject.c index c165315..a44cb3a 100644 --- a/gst/gstobject.c +++ b/gst/gstobject.c @@ -1123,125 +1123,9 @@ gst_object_find_controlled_property (GstObject * self, const gchar * name) return NULL; } -/* - * gst_object_add_controlled_property: - * @self: the object - * @name: name of projecty in @object - * - * Creates a new #GstControlledProperty if there is none for property @name yet. - * - * Returns: %TRUE if the property has been added to the controller - */ -static gboolean -gst_object_add_controlled_property (GstObject * self, const gchar * name) -{ - gboolean res = TRUE; - - /* test if this property isn't yet controlled */ - if (!gst_object_find_controlled_property (self, name)) { - GstControlledProperty *prop; - - /* create GstControlledProperty and add to self->properties list */ - if ((prop = gst_controlled_property_new (self, name))) { - self->properties = g_list_prepend (self->properties, prop); - GST_DEBUG_OBJECT (self, "property %s added", name); - } else - res = FALSE; - } else { - GST_WARNING_OBJECT (self, "trying to control property %s again", name); - } - return res; -} - -/* - * gst_object_remove_controlled_property: - * @self: the object - * @name: name of projecty in @object - * - * Removes a #GstControlledProperty for property @name. - * - * Returns: %TRUE if the property has been removed from the controller - */ -static gboolean -gst_object_remove_controlled_property (GstObject * self, const gchar * name) -{ - gboolean res = TRUE; - GstControlledProperty *prop; - - if ((prop = gst_object_find_controlled_property (self, name))) { - self->properties = g_list_remove (self->properties, prop); - //g_signal_handler_disconnect (self->object, prop->notify_handler_id); - gst_controlled_property_free (prop); - GST_DEBUG_OBJECT (self, "property %s removed", name); - } else { - res = FALSE; - } - return res; -} - /* controller functions */ /** - * gst_object_control_properties: - * @object: the object of which some properties should be controlled - * @...: %NULL terminated list of property names that should be controlled - * - * Creates a GstController that allows you to dynamically control one, or more, - * GObject properties. If the given GstObject already has a GstController, - * it adds the given properties to the existing - * controller and returns that controller. - * - * Returns: %TRUE if the properties have been made controllable. - */ -gboolean -gst_object_control_properties (GstObject * object, ...) -{ - gboolean res = TRUE; - va_list var_args; - gchar *name; - - g_return_val_if_fail (GST_IS_OBJECT (object), FALSE); - - va_start (var_args, object); - GST_OBJECT_LOCK (object); - while ((name = va_arg (var_args, gchar *))) { - res &= gst_object_add_controlled_property (object, name); - } - GST_OBJECT_UNLOCK (object); - va_end (var_args); - return res; -} - -/** - * gst_object_uncontrol_properties: - * @object: the object of which some properties should not be controlled anymore - * @...: %NULL terminated list of property names that should be controlled - * - * Removes the given element's properties from it's controller - * - * Returns: %FALSE if one of the given property names isn't handled by the - * controller, %TRUE otherwise - */ -gboolean -gst_object_uncontrol_properties (GstObject * object, ...) -{ - gboolean res = TRUE; - va_list var_args; - gchar *name; - - g_return_val_if_fail (GST_IS_OBJECT (object), FALSE); - - va_start (var_args, object); - GST_OBJECT_LOCK (object); - while ((name = va_arg (var_args, gchar *))) { - res &= gst_object_remove_controlled_property (object, name); - } - GST_OBJECT_UNLOCK (object); - va_end (var_args); - return (res); -} - -/** * gst_object_suggest_next_sync: * @object: the object that has controlled properties * @@ -1307,7 +1191,7 @@ gst_object_sync_values (GstObject * object, GstClockTime timestamp) for (node = object->properties; node; node = g_list_next (node)) { prop = node->data; - if (!prop->csource || prop->disabled) + if (prop->disabled) continue; GST_LOG ("property '%s' at ts=%" G_GUINT64_FORMAT, prop->name, timestamp); @@ -1443,18 +1327,31 @@ gst_object_set_control_source (GstObject * object, const gchar * property_name, g_return_val_if_fail ((!csource || GST_IS_CONTROL_SOURCE (csource)), FALSE); GST_OBJECT_LOCK (object); - if ((prop = gst_object_find_controlled_property (object, property_name))) { + prop = gst_object_find_controlled_property (object, property_name); + if (!prop) { + if ((prop = gst_controlled_property_new (object, property_name))) { + object->properties = g_list_prepend (object->properties, prop); + GST_DEBUG_OBJECT (object, "controlled property %s added", property_name); + } + } + if (prop) { GstControlSource *old = prop->csource; - if (csource && (ret = gst_control_source_bind (csource, prop->pspec))) { - prop->csource = g_object_ref (csource); - } else if (!csource) { - ret = TRUE; - prop->csource = NULL; + if (csource != old) { + if (csource && (ret = gst_control_source_bind (csource, prop->pspec))) { + prop->csource = g_object_ref (csource); + } else if (!csource) { + ret = TRUE; + prop->csource = NULL; + object->properties = g_list_remove (object->properties, prop); + //g_signal_handler_disconnect (self->object, prop->notify_handler_id); + gst_controlled_property_free (prop); + GST_DEBUG_OBJECT (object, "controlled property %s removed", + property_name); + } + if (ret && old) + g_object_unref (old); } - - if (ret && old) - g_object_unref (old); } GST_OBJECT_UNLOCK (object); @@ -1484,8 +1381,7 @@ gst_object_get_control_source (GstObject * object, const gchar * property_name) GST_OBJECT_LOCK (object); if ((prop = gst_object_find_controlled_property (object, property_name))) { - if ((ret = prop->csource)) - g_object_ref (ret); + ret = g_object_ref (prop->csource); } GST_OBJECT_UNLOCK (object); @@ -1518,17 +1414,11 @@ gst_object_get_value (GstObject * object, const gchar * property_name, if ((prop = gst_object_find_controlled_property (object, property_name))) { val = g_new0 (GValue, 1); g_value_init (val, G_PARAM_SPEC_VALUE_TYPE (prop->pspec)); - if (prop->csource) { - gboolean res; - - /* get current value via control source */ - res = gst_control_source_get_value (prop->csource, timestamp, val); - if (!res) { - g_free (val); - val = NULL; - } - } else { - g_object_get_property ((GObject *) object, prop->name, val); + + /* get current value via control source */ + if (!gst_control_source_get_value (prop->csource, timestamp, val)) { + g_free (val); + val = NULL; } } GST_OBJECT_UNLOCK (object); @@ -1599,18 +1489,11 @@ gst_object_get_value_array (GstObject * object, GstClockTime timestamp, g_return_val_if_fail (value_array->values, FALSE); GST_OBJECT_LOCK (object); - if ((prop = gst_object_find_controlled_property (object, value_array->property_name))) { - /* get current value_array via control source */ - if (!prop->csource) - goto out; - res = gst_control_source_get_value_array (prop->csource, timestamp, value_array); } - -out: GST_OBJECT_UNLOCK (object); return res; } diff --git a/gst/gstobject.h b/gst/gstobject.h index cdd91ea..eaa5910 100644 --- a/gst/gstobject.h +++ b/gst/gstobject.h @@ -234,9 +234,6 @@ gboolean gst_object_check_uniqueness (GList *list, const gchar *name); /* controller functions */ #include -gboolean gst_object_control_properties (GstObject * object, ...) G_GNUC_NULL_TERMINATED; -gboolean gst_object_uncontrol_properties (GstObject * object, ...) G_GNUC_NULL_TERMINATED; - GstClockTime gst_object_suggest_next_sync (GstObject * object); gboolean gst_object_sync_values (GstObject * object, GstClockTime timestamp); diff --git a/tests/benchmarks/controller.c b/tests/benchmarks/controller.c index 9c49de5..4975509 100644 --- a/tests/benchmarks/controller.c +++ b/tests/benchmarks/controller.c @@ -110,12 +110,6 @@ main (gint argc, gchar * argv[]) tick = BLOCK_SIZE * GST_SECOND / 44100; - /* select parameters to control */ - if (!gst_object_control_properties (GST_OBJECT (src), "freq", NULL)) { - GST_WARNING ("can't control source element"); - goto Error; - } - /* create and configure control source */ csource = gst_interpolation_control_source_new (); gst_object_set_control_source (GST_OBJECT (src), "freq", diff --git a/tests/check/libs/controller.c b/tests/check/libs/controller.c index 23832ba..fa0812c 100644 --- a/tests/check/libs/controller.c +++ b/tests/check/libs/controller.c @@ -232,13 +232,18 @@ teardown (void) GST_START_TEST (controller_new_fail1) { GstElement *elem; + GstInterpolationControlSource *cs; gboolean res; elem = gst_element_factory_make ("fakesrc", "test_source"); + cs = gst_interpolation_control_source_new (); + /* that property should not exist */ - res = gst_object_control_properties (GST_OBJECT (elem), "_schrompf_", NULL); + res = gst_object_set_control_source (GST_OBJECT (elem), "_schrompf_", + GST_CONTROL_SOURCE (cs)); fail_unless (res == FALSE, NULL); + g_object_unref (cs); gst_object_unref (elem); } @@ -248,15 +253,18 @@ GST_END_TEST; GST_START_TEST (controller_new_fail2) { GstElement *elem; + GstInterpolationControlSource *cs; gboolean res; elem = gst_element_factory_make ("testmonosource", "test_source"); + cs = gst_interpolation_control_source_new (); /* that property should exist and but is readonly */ - ASSERT_CRITICAL (res = - gst_object_control_properties (GST_OBJECT (elem), "readonly", NULL)); + ASSERT_CRITICAL (res = gst_object_set_control_source (GST_OBJECT (elem), + "readonly", GST_CONTROL_SOURCE (cs))); fail_unless (res == FALSE, NULL); + g_object_unref (cs); gst_object_unref (elem); } @@ -266,15 +274,18 @@ GST_END_TEST; GST_START_TEST (controller_new_fail3) { GstElement *elem; + GstInterpolationControlSource *cs; gboolean res; elem = gst_element_factory_make ("testmonosource", "test_source"); + cs = gst_interpolation_control_source_new (); /* that property should exist and but is not controlable */ - ASSERT_CRITICAL (res = gst_object_control_properties (GST_OBJECT (elem), - "static", NULL)); + ASSERT_CRITICAL (res = gst_object_set_control_source (GST_OBJECT (elem), + "static", GST_CONTROL_SOURCE (cs))); fail_unless (res == FALSE, NULL); + g_object_unref (cs); gst_object_unref (elem); } @@ -284,16 +295,19 @@ GST_END_TEST; GST_START_TEST (controller_new_fail4) { GstElement *elem; + GstInterpolationControlSource *cs; gboolean res; elem = gst_element_factory_make ("testmonosource", "test_source"); + cs = gst_interpolation_control_source_new (); /* that property should exist and but is construct-only */ ASSERT_CRITICAL (res = - gst_object_control_properties (GST_OBJECT (elem), "construct-only", - NULL)); + gst_object_set_control_source (GST_OBJECT (elem), "construct-only", + GST_CONTROL_SOURCE (cs))); fail_unless (res == FALSE, NULL); + g_object_unref (cs); gst_object_unref (elem); } @@ -304,14 +318,18 @@ GST_END_TEST; GST_START_TEST (controller_new_okay1) { GstElement *elem; + GstInterpolationControlSource *cs; gboolean res; elem = gst_element_factory_make ("testmonosource", "test_source"); + cs = gst_interpolation_control_source_new (); /* that property should exist and should be controllable */ - res = gst_object_control_properties (GST_OBJECT (elem), "ulong", NULL); + res = gst_object_set_control_source (GST_OBJECT (elem), "ulong", + GST_CONTROL_SOURCE (cs)); fail_unless (res == TRUE, NULL); + g_object_unref (cs); gst_object_unref (elem); } @@ -321,44 +339,58 @@ GST_END_TEST; GST_START_TEST (controller_new_okay2) { GstElement *elem; + GstInterpolationControlSource *cs1, *cs2; gboolean res; elem = gst_element_factory_make ("testmonosource", "test_source"); + cs1 = gst_interpolation_control_source_new (); + cs2 = gst_interpolation_control_source_new (); /* these properties should exist and should be controllable */ - res = gst_object_control_properties (GST_OBJECT (elem), "ulong", "double", - "float", NULL); + res = gst_object_set_control_source (GST_OBJECT (elem), "ulong", + GST_CONTROL_SOURCE (cs1)); fail_unless (res == TRUE, NULL); - res = gst_object_control_properties (GST_OBJECT (elem), "boolean", NULL); + res = gst_object_set_control_source (GST_OBJECT (elem), "boolean", + GST_CONTROL_SOURCE (cs2)); fail_unless (res == TRUE, NULL); + g_object_unref (cs1); + g_object_unref (cs2); gst_object_unref (elem); } GST_END_TEST; -/* controlling a params twice should be handled */ +/* controlling a param twice should be handled */ GST_START_TEST (controller_param_twice) { GstElement *elem; + GstInterpolationControlSource *cs; gboolean res; elem = gst_element_factory_make ("testmonosource", "test_source"); + cs = gst_interpolation_control_source_new (); /* that property should exist and should be controllable */ - res = - gst_object_control_properties (GST_OBJECT (elem), "ulong", "ulong", NULL); + res = gst_object_set_control_source (GST_OBJECT (elem), "ulong", + GST_CONTROL_SOURCE (cs)); fail_unless (res, NULL); + /* setting it again should not work */ + res = gst_object_set_control_source (GST_OBJECT (elem), "ulong", + GST_CONTROL_SOURCE (cs)); + fail_unless (!res, NULL); + /* it should have been added at least once, let remove it */ - res = gst_object_uncontrol_properties (GST_OBJECT (elem), "ulong", NULL); + res = gst_object_set_control_source (GST_OBJECT (elem), "ulong", NULL); fail_unless (res, NULL); /* removing it again should not work */ - res = gst_object_uncontrol_properties (GST_OBJECT (elem), "ulong", NULL); + res = gst_object_set_control_source (GST_OBJECT (elem), "ulong", NULL); fail_unless (!res, NULL); + g_object_unref (cs); gst_object_unref (elem); } @@ -372,10 +404,6 @@ GST_START_TEST (controller_controlsource_refcounts) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - csource = (GstControlSource *) gst_interpolation_control_source_new (); fail_unless (csource != NULL, NULL); @@ -404,10 +432,6 @@ GST_START_TEST (controller_controlsource_empty1) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - csource = (GstControlSource *) gst_interpolation_control_source_new (); fail_unless (csource != NULL, NULL); @@ -433,10 +457,6 @@ GST_START_TEST (controller_controlsource_empty2) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - csource = gst_interpolation_control_source_new (); fail_unless (csource != NULL, NULL); @@ -471,10 +491,6 @@ GST_START_TEST (controller_interpolate_none) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -528,10 +544,6 @@ GST_START_TEST (controller_interpolate_trigger) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -590,10 +602,6 @@ GST_START_TEST (controller_interpolate_linear) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -643,10 +651,6 @@ GST_START_TEST (controller_interpolate_cubic) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "double", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -713,10 +717,6 @@ GST_START_TEST (controller_interpolate_cubic_too_few_cp) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "double", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -767,10 +767,6 @@ GST_START_TEST (controller_interpolate_unimplemented) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -799,10 +795,6 @@ GST_START_TEST (controller_interpolation_unset) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -875,10 +867,6 @@ GST_START_TEST (controller_interpolation_unset_all) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -934,10 +922,6 @@ GST_START_TEST (controller_interpolation_linear_value_array) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -992,10 +976,6 @@ GST_START_TEST (controller_interpolation_linear_invalid_values) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "float", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -1057,10 +1037,6 @@ GST_START_TEST (controller_interpolation_linear_default_values) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -1150,10 +1126,6 @@ GST_START_TEST (controller_interpolate_linear_disabled) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - "double", NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); csource2 = gst_interpolation_control_source_new (); @@ -1301,10 +1273,6 @@ GST_START_TEST (controller_interpolation_set_from_list) /* test that an invalid timestamp throws a warning of some sort */ elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -1346,16 +1314,11 @@ GST_START_TEST (controller_lfo_sine) { GstLFOControlSource *csource; GstElement *elem; - GValue amp = { 0, } - , off = { - 0,}; + GValue amp = { 0, }; + GValue off = { 0, }; elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_lfo_control_source_new (); @@ -1412,16 +1375,11 @@ GST_START_TEST (controller_lfo_sine_timeshift) { GstLFOControlSource *csource; GstElement *elem; - GValue amp = { 0, } - , off = { - 0,}; + GValue amp = { 0, }; + GValue off = { 0, }; elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_lfo_control_source_new (); @@ -1478,16 +1436,11 @@ GST_START_TEST (controller_lfo_square) { GstLFOControlSource *csource; GstElement *elem; - GValue amp = { 0, } - , off = { - 0,}; + GValue amp = { 0, }; + GValue off = { 0, }; elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_lfo_control_source_new (); @@ -1544,16 +1497,11 @@ GST_START_TEST (controller_lfo_saw) { GstLFOControlSource *csource; GstElement *elem; - GValue amp = { 0, } - , off = { - 0,}; + GValue amp = { 0, }; + GValue off = { 0, }; elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_lfo_control_source_new (); @@ -1610,16 +1558,11 @@ GST_START_TEST (controller_lfo_rsaw) { GstLFOControlSource *csource; GstElement *elem; - GValue amp = { 0, } - , off = { - 0,}; + GValue amp = { 0, }; + GValue off = { 0, }; elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_lfo_control_source_new (); @@ -1676,16 +1619,11 @@ GST_START_TEST (controller_lfo_triangle) { GstLFOControlSource *csource; GstElement *elem; - GValue amp = { 0, } - , off = { - 0,}; + GValue amp = { 0, }; + GValue off = { 0, }; elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_lfo_control_source_new (); @@ -1745,10 +1683,6 @@ GST_START_TEST (controller_lfo_none) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_lfo_control_source_new (); @@ -1817,10 +1751,6 @@ GST_START_TEST (controller_interpolate_linear_before_ts0) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); @@ -1876,10 +1806,6 @@ GST_START_TEST (controller_interpolation_cp_count) elem = gst_element_factory_make ("testmonosource", "test_source"); - /* that property should exist and should be controllable */ - fail_unless (gst_object_control_properties (GST_OBJECT (elem), "ulong", - NULL)); - /* Get interpolation control source */ csource = gst_interpolation_control_source_new (); diff --git a/tests/examples/controller/audio-example.c b/tests/examples/controller/audio-example.c index 39e5ef2..76805b1 100644 --- a/tests/examples/controller/audio-example.c +++ b/tests/examples/controller/audio-example.c @@ -48,12 +48,6 @@ main (gint argc, gchar ** argv) g_object_set (G_OBJECT(src), "wave", 1, NULL); */ - /* add a controller to the source */ - if (!gst_object_control_properties (GST_OBJECT (src), "freq", "volume", NULL)) { - GST_WARNING ("can't control source element"); - goto Error; - } - csource1 = gst_interpolation_control_source_new (); csource2 = gst_interpolation_control_source_new (); -- 2.7.4