GST_START_TEST (controller_controlsource_empty1)
{
GstElement *elem;
- GstControlSource *csource;
+ GstControlSource *cs;
elem = gst_element_factory_make ("testobj", NULL);
- csource = (GstControlSource *) gst_interpolation_control_source_new ();
- fail_unless (csource != NULL, NULL);
+ cs = gst_interpolation_control_source_new ();
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
- gst_direct_control_binding_new (GST_OBJECT (elem), "int",
- (GstControlSource *) csource)));
+ gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* don't fail on empty control point lists */
gst_object_sync_values (GST_OBJECT (elem), 0 * GST_SECOND);
/* unref objects */
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
GST_START_TEST (controller_controlsource_empty2)
{
GstElement *elem;
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *cs;
+ GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
elem = gst_element_factory_make ("testobj", NULL);
- csource = gst_interpolation_control_source_new ();
- fail_unless (csource != NULL, NULL);
+ cs = gst_interpolation_control_source_new ();
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
- gst_direct_control_binding_new (GST_OBJECT (elem), "int",
- (GstControlSource *) csource)));
+ gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set control values */
- cs = (GstTimedValueControlSource *) csource;
- gst_timed_value_control_source_set (cs, 0 * GST_SECOND, 0);
+ tvcs = (GstTimedValueControlSource *) cs;
+ gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0);
/* ... and unset the value */
- gst_timed_value_control_source_unset (cs, 0 * GST_SECOND);
+ gst_timed_value_control_source_unset (tvcs, 0 * GST_SECOND);
/* don't fail on empty control point lists */
gst_object_sync_values (GST_OBJECT (elem), 0 * GST_SECOND);
/* unref objects */
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test timed value handling without interpolation */
GST_START_TEST (controller_interpolation_none)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
gdouble v;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0.0));
gst_object_sync_values (GST_OBJECT (elem), 3 * GST_SECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 100);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test timed value handling with linear interpolation */
GST_START_TEST (controller_interpolation_linear)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0.0));
gst_object_sync_values (GST_OBJECT (elem), 2 * GST_SECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 100);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test timed value handling with cubic interpolation */
GST_START_TEST (controller_interpolation_cubic)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "double", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_CUBIC, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_CUBIC, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0.0));
gst_object_sync_values (GST_OBJECT (elem), 5 * GST_SECOND);
fail_unless_equals_float (GST_TEST_OBJ (elem)->val_double, 80.0);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test timed value handling with cubic interpolation */
GST_START_TEST (controller_interpolation_cubic_too_few_cp)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "double", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_CUBIC, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_CUBIC, NULL);
/* set 2 control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0.0));
gst_object_sync_values (GST_OBJECT (elem), 2 * GST_SECOND);
fail_unless_equals_float (GST_TEST_OBJ (elem)->val_double, 40.0);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test _unset() */
GST_START_TEST (controller_interpolation_unset)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0.0));
gst_timed_value_control_source_unset_all (tvcs);
fail_if (gst_timed_value_control_source_unset (tvcs, 2 * GST_SECOND));
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test _unset_all() */
GST_START_TEST (controller_interpolation_unset_all)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0.0));
gst_object_sync_values (GST_OBJECT (elem), 1 * GST_SECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test retrieval of an array of values with get_value_array() */
GST_START_TEST (controller_interpolation_linear_value_array)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
gdouble *raw_values;
GValue *g_values;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0.0));
g_free (g_values);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test if values below minimum and above maximum are clipped */
GST_START_TEST (controller_interpolation_linear_invalid_values)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "float", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 2.0));
gst_object_sync_values (GST_OBJECT (elem), 4 * GST_SECOND);
fail_unless_equals_float (GST_TEST_OBJ (elem)->val_float, 0.0);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
GST_START_TEST (controller_interpolation_linear_default_values)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
/* Should fail if no value was set yet
* FIXME: will not fail, as interpolation assumes val[0]=default_value if
* nothing else is set.
- fail_if (gst_control_source_get_value (GST_CONTROL_SOURCE (csource),
- 1 * GST_SECOND, &val_int));
+ fail_if (gst_timed_value_control_source_set (tvcs, 1 * GST_SECOND, &val_int));
*/
/* set control values */
gst_object_sync_values (GST_OBJECT (elem), 2 * GST_SECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 100);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test gst_controller_set_disabled() with linear interpolation */
GST_START_TEST (controller_interpolation_linear_disabled)
{
- GstInterpolationControlSource *csource1, *csource2;
- GstTimedValueControlSource *tvcs1, *tvcs2;
GstControlSource *cs1, *cs2;
+ GstTimedValueControlSource *tvcs1, *tvcs2;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource1 = gst_interpolation_control_source_new ();
- tvcs1 = (GstTimedValueControlSource *) csource1;
- cs1 = (GstControlSource *) csource1;
+ cs1 = gst_interpolation_control_source_new ();
+ tvcs1 = (GstTimedValueControlSource *) cs1;
- csource2 = gst_interpolation_control_source_new ();
- tvcs2 = (GstTimedValueControlSource *) csource2;
- cs2 = (GstControlSource *) csource2;
+ cs2 = gst_interpolation_control_source_new ();
+ tvcs2 = (GstTimedValueControlSource *) cs2;
- fail_unless (csource1 != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs1)));
- fail_unless (csource2 != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "double", cs2)));
/* set interpolation mode */
- g_object_set (csource1, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
- g_object_set (csource2, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs1, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs2, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs1, 0 * GST_SECOND, 0.0));
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 100);
fail_unless_equals_float (GST_TEST_OBJ (elem)->val_double, 40.0);
- gst_object_unref (csource1);
- gst_object_unref (csource2);
+ gst_object_unref (cs1);
+ gst_object_unref (cs2);
gst_object_unref (elem);
}
GST_START_TEST (controller_interpolation_set_from_list)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstTimedValue *tval;
GstElement *elem;
GSList *list = NULL;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
/* set control value */
tval = g_new0 (GstTimedValue, 1);
/* allocated GstTimedValue now belongs to the controller, but list not */
g_free (tval);
g_slist_free (list);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test linear interpolation for ts < first control point */
GST_START_TEST (controller_interpolation_linear_before_ts0)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 2 * GST_SECOND, 1.0));
gst_object_sync_values (GST_OBJECT (elem), 0 * GST_SECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 25);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test linear interpolation of enums */
GST_START_TEST (controller_interpolation_linear_enums)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "enum", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
/* set control values */
fail_unless (gst_timed_value_control_source_set (tvcs, 0 * GST_SECOND, 0.0));
gst_object_sync_values (GST_OBJECT (elem), 4 * GST_SECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_enum, ENUM_V255);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test timed value counts */
GST_START_TEST (controller_timed_value_count)
{
- GstInterpolationControlSource *csource;
- GstTimedValueControlSource *tvcs;
GstControlSource *cs;
+ GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* set interpolation mode */
- g_object_set (csource, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
fail_unless (gst_timed_value_control_source_get_count (tvcs) == 0);
fail_unless (gst_timed_value_control_source_unset (tvcs, 0 * GST_SECOND));
fail_unless (gst_timed_value_control_source_get_count (tvcs) == 0);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test lfo control source with sine waveform */
GST_START_TEST (controller_lfo_sine)
{
- GstLFOControlSource *csource;
GstControlSource *cs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new lfo control source */
- csource = gst_lfo_control_source_new ();
- cs = (GstControlSource *) csource;
+ cs = gst_lfo_control_source_new ();
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* configure lfo */
- g_object_set (csource, "waveform", GST_LFO_WAVEFORM_SINE,
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SINE,
"frequency", 1.0, "timeshift", (GstClockTime) 0,
"amplitude", 0.5, "offset", 0.5, NULL);
gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test lfo control source with sine waveform and timeshift */
GST_START_TEST (controller_lfo_sine_timeshift)
{
- GstLFOControlSource *csource;
GstControlSource *cs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new lfo control source */
- csource = gst_lfo_control_source_new ();
- cs = (GstControlSource *) csource;
+ cs = gst_lfo_control_source_new ();
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* configure lfo */
- g_object_set (csource, "waveform", GST_LFO_WAVEFORM_SINE,
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SINE,
"frequency", 1.0, "timeshift", 250 * GST_MSECOND,
"amplitude", 0.5, "offset", 0.5, NULL);
gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 50);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test lfo control source with square waveform */
GST_START_TEST (controller_lfo_square)
{
- GstLFOControlSource *csource;
GstControlSource *cs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new lfo control source */
- csource = gst_lfo_control_source_new ();
- cs = (GstControlSource *) csource;
+ cs = gst_lfo_control_source_new ();
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* configure lfo */
- g_object_set (csource, "waveform", GST_LFO_WAVEFORM_SQUARE,
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SQUARE,
"frequency", 1.0, "timeshift", (GstClockTime) 0,
"amplitude", 0.5, "offset", 0.5, NULL);
gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 100);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test lfo control source with saw waveform */
GST_START_TEST (controller_lfo_saw)
{
- GstLFOControlSource *csource;
GstControlSource *cs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new lfo control source */
- csource = gst_lfo_control_source_new ();
- cs = (GstControlSource *) csource;
+ cs = gst_lfo_control_source_new ();
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* configure lfo */
- g_object_set (csource, "waveform", GST_LFO_WAVEFORM_SAW,
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SAW,
"frequency", 1.0, "timeshift", (GstClockTime) 0,
"amplitude", 0.5, "offset", 0.5, NULL);
gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 25);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test lfo control source with reverse saw waveform */
GST_START_TEST (controller_lfo_rsaw)
{
- GstLFOControlSource *csource;
GstControlSource *cs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new lfo control source */
- csource = gst_lfo_control_source_new ();
- cs = (GstControlSource *) csource;
+ cs = gst_lfo_control_source_new ();
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* configure lfo */
- g_object_set (csource, "waveform", GST_LFO_WAVEFORM_REVERSE_SAW,
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_REVERSE_SAW,
"frequency", 1.0, "timeshift", (GstClockTime) 0,
"amplitude", 0.5, "offset", 0.5, NULL);
gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 75);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test lfo control source with saw waveform */
GST_START_TEST (controller_lfo_triangle)
{
- GstLFOControlSource *csource;
GstControlSource *cs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new lfo control source */
- csource = gst_lfo_control_source_new ();
- cs = (GstControlSource *) csource;
+ cs = gst_lfo_control_source_new ();
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
/* configure lfo */
- g_object_set (csource, "waveform", GST_LFO_WAVEFORM_TRIANGLE,
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_TRIANGLE,
"frequency", 1.0, "timeshift", (GstClockTime) 0,
"amplitude", 0.5, "offset", 0.5, NULL);
gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test lfo control source with nothing set */
GST_START_TEST (controller_lfo_none)
{
- GstLFOControlSource *csource;
GstControlSource *cs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new lfo control source */
- csource = gst_lfo_control_source_new ();
- cs = (GstControlSource *) csource;
+ cs = gst_lfo_control_source_new ();
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
/* test timed value handling in trigger mode */
GST_START_TEST (controller_trigger_exact)
{
- GstTriggerControlSource *csource;
GstControlSource *cs;
GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_trigger_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_trigger_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
gst_object_sync_values (GST_OBJECT (elem), 2 * GST_SECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 100);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
GST_START_TEST (controller_trigger_tolerance)
{
- GstTriggerControlSource *csource;
GstControlSource *cs;
GstTimedValueControlSource *tvcs;
GstElement *elem;
elem = gst_element_factory_make ("testobj", NULL);
/* new interpolation control source */
- csource = gst_trigger_control_source_new ();
- tvcs = (GstTimedValueControlSource *) csource;
- cs = (GstControlSource *) csource;
+ cs = gst_trigger_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
- fail_unless (csource != NULL);
fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
- g_object_set (csource, "tolerance", G_GINT64_CONSTANT (10), NULL);
+ g_object_set (cs, "tolerance", G_GINT64_CONSTANT (10), NULL);
fail_if (gst_control_source_get_value (cs, 0 * GST_SECOND, &raw_val));
gst_object_sync_values (GST_OBJECT (elem), 2 * GST_SECOND);
fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 100);
- gst_object_unref (csource);
+ gst_object_unref (cs);
gst_object_unref (elem);
}
test_interpolation (void)
{
GstObject *e;
- GstInterpolationControlSource *ics;
GstTimedValueControlSource *tvcs;
GstControlSource *cs;
gint t, i1, i2, i3;
e = (GstObject *) gst_element_factory_make ("testobj", NULL);
- ics = gst_interpolation_control_source_new ();
- tvcs = (GstTimedValueControlSource *) ics;
- cs = (GstControlSource *) ics;
+ cs = gst_interpolation_control_source_new ();
+ tvcs = (GstTimedValueControlSource *) cs;
gst_object_add_control_binding (e, gst_direct_control_binding_new (e, "int",
cs));
fprintf (f, "# Time None Linear Cubic\n");
for (t = 0; t < 40; t++) {
- g_object_set (ics, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
gst_object_sync_values (e, t * GST_SECOND);
i1 = GST_TEST_OBJ (e)->val_int;
- g_object_set (ics, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
gst_object_sync_values (e, t * GST_SECOND);
i2 = GST_TEST_OBJ (e)->val_int;
- g_object_set (ics, "mode", GST_INTERPOLATION_MODE_CUBIC, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_CUBIC, NULL);
gst_object_sync_values (e, t * GST_SECOND);
i3 = GST_TEST_OBJ (e)->val_int;
fprintf (f, "# Time None Linear Cubic\n");
n_values = 40 * 10;
- g_object_set (ics, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_NONE, NULL);
v1 = g_new0 (GValue, n_values);
gst_object_get_value_array (e, "int", 0, GST_SECOND / 10, n_values, v1);
- g_object_set (ics, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
v2 = g_new0 (GValue, n_values);
gst_object_get_value_array (e, "int", 0, GST_SECOND / 10, n_values, v2);
- g_object_set (ics, "mode", GST_INTERPOLATION_MODE_CUBIC, NULL);
+ g_object_set (cs, "mode", GST_INTERPOLATION_MODE_CUBIC, NULL);
v3 = g_new0 (GValue, n_values);
gst_object_get_value_array (e, "int", 0, GST_SECOND / 10, n_values, v3);
fclose (f);
- gst_object_unref (ics);
+ gst_object_unref (cs);
gst_object_unref (e);
}
test_lfo (void)
{
GstObject *e;
- GstLFOControlSource *lfocs;
GstControlSource *cs;
gint t, i1, i2, i3, i4, i5;
GValue *v1, *v2, *v3, *v4, *v5;
e = (GstObject *) gst_element_factory_make ("testobj", NULL);
- lfocs = gst_lfo_control_source_new ();
- cs = (GstControlSource *) lfocs;
+ cs = gst_lfo_control_source_new ();
gst_object_add_control_binding (e, gst_direct_control_binding_new (e, "int",
cs));
- g_object_set (lfocs,
+ g_object_set (cs,
"frequency", (gdouble) 0.05,
"timeshift", (GstClockTime) 0,
"amplitude", (gdouble) 0.5, "offset", (gdouble) 0.5, NULL);
fprintf (f, "# Time Sine Square Saw RevSaw Triangle\n");
for (t = 0; t < 40; t++) {
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_SINE, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SINE, NULL);
gst_object_sync_values (e, t * GST_SECOND);
i1 = GST_TEST_OBJ (e)->val_int;
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_SQUARE, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SQUARE, NULL);
gst_object_sync_values (e, t * GST_SECOND);
i2 = GST_TEST_OBJ (e)->val_int;
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_SAW, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SAW, NULL);
gst_object_sync_values (e, t * GST_SECOND);
i3 = GST_TEST_OBJ (e)->val_int;
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_REVERSE_SAW, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_REVERSE_SAW, NULL);
gst_object_sync_values (e, t * GST_SECOND);
i4 = GST_TEST_OBJ (e)->val_int;
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_TRIANGLE, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_TRIANGLE, NULL);
gst_object_sync_values (e, t * GST_SECOND);
i5 = GST_TEST_OBJ (e)->val_int;
fprintf (f, "# Time Sine Square Saw RevSaw Triangle\n");
n_values = 40 * 10;
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_SINE, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SINE, NULL);
v1 = g_new0 (GValue, n_values);
gst_object_get_value_array (e, "int", 0, GST_SECOND / 10, n_values, v1);
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_SQUARE, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SQUARE, NULL);
v2 = g_new0 (GValue, n_values);
gst_object_get_value_array (e, "int", 0, GST_SECOND / 10, n_values, v2);
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_SAW, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_SAW, NULL);
v3 = g_new0 (GValue, n_values);
gst_object_get_value_array (e, "int", 0, GST_SECOND / 10, n_values, v3);
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_REVERSE_SAW, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_REVERSE_SAW, NULL);
v4 = g_new0 (GValue, n_values);
gst_object_get_value_array (e, "int", 0, GST_SECOND / 10, n_values, v4);
- g_object_set (lfocs, "waveform", GST_LFO_WAVEFORM_TRIANGLE, NULL);
+ g_object_set (cs, "waveform", GST_LFO_WAVEFORM_TRIANGLE, NULL);
v5 = g_new0 (GValue, n_values);
gst_object_get_value_array (e, "int", 0, GST_SECOND / 10, n_values, v5);
fclose (f);
- gst_object_unref (lfocs);
+ gst_object_unref (cs);
gst_object_unref (e);
}
test_chained_lfo (void)
{
GstObject *e;
- GstLFOControlSource *lfocs1, *lfocs2;
GstControlSource *cs1, *cs2;
gint t, i1;
GValue *v1;
e = (GstObject *) gst_element_factory_make ("testobj", NULL);
- lfocs1 = gst_lfo_control_source_new ();
- cs1 = (GstControlSource *) lfocs1;
+ cs1 = gst_lfo_control_source_new ();
gst_object_add_control_binding (e, gst_direct_control_binding_new (e, "int",
cs1));
- g_object_set (lfocs1,
+ g_object_set (cs1,
"waveform", GST_LFO_WAVEFORM_SINE,
"frequency", (gdouble) 0.05,
"timeshift", (GstClockTime) 0, "offset", (gdouble) 0.5, NULL);
- lfocs2 = gst_lfo_control_source_new ();
- cs2 = (GstControlSource *) lfocs2;
+ cs2 = gst_lfo_control_source_new ();
- gst_object_add_control_binding ((GstObject *) lfocs1,
- gst_direct_control_binding_new ((GstObject *) lfocs1, "amplitude", cs2));
+ gst_object_add_control_binding ((GstObject *) cs1,
+ gst_direct_control_binding_new ((GstObject *) cs1, "amplitude", cs2));
- g_object_set (lfocs2,
+ g_object_set (cs2,
"waveform", GST_LFO_WAVEFORM_SINE,
"frequency", (gdouble) 0.05,
"timeshift", (GstClockTime) 0,
fclose (f);
- gst_object_unref (lfocs1);
- gst_object_unref (lfocs2);
+ gst_object_unref (cs1);
+ gst_object_unref (cs2);
gst_object_unref (e);
}