GstTimedValueControlSource *splitsource;
GESLayer *layer;
GESAsset *asset;
+ GValue *tmpvalue;
GESTrackElement *element;
asset = ges_asset_request (GES_TYPE_TEST_CLIP, NULL, NULL);
clip = ges_layer_add_asset (layer, asset, 0, 10 * GST_SECOND, 10 * GST_SECOND,
GES_TRACK_TYPE_UNKNOWN);
+ g_object_unref (asset);
CHECK_OBJECT_PROPS (clip, 0 * GST_SECOND, 10 * GST_SECOND, 10 * GST_SECOND);
assert_equals_int (g_list_length (GES_CONTAINER_CHILDREN (clip)), 1);
20 * GST_SECOND, 1.0);
binding = ges_track_element_get_control_binding (element, "alpha");
- assert_equals_int (g_value_get_double (gst_control_binding_get_value (binding,
- 10 * GST_SECOND)), 0.0);
- assert_equals_int (g_value_get_double (gst_control_binding_get_value (binding,
- 20 * GST_SECOND)), 1.0);
+ tmpvalue = gst_control_binding_get_value (binding, 10 * GST_SECOND);
+ assert_equals_int (g_value_get_double (tmpvalue), 0.0);
+ g_value_unset (tmpvalue);
+ g_free (tmpvalue);
+
+ tmpvalue = gst_control_binding_get_value (binding, 20 * GST_SECOND);
+ assert_equals_int (g_value_get_double (tmpvalue), 1.0);
+ g_value_unset (tmpvalue);
+ g_free (tmpvalue);
splitclip = ges_clip_split (clip, 5 * GST_SECOND);
CHECK_OBJECT_PROPS (splitclip, 5 * GST_SECOND, 15 * GST_SECOND,
assert_equals_uint64 (((GstTimedValue *) values->next->data)->timestamp,
20 * GST_SECOND);
assert_equals_float (((GstTimedValue *) values->next->data)->value, 1.0);
+ g_list_free (values);
values =
gst_timed_value_control_source_get_all (GST_TIMED_VALUE_CONTROL_SOURCE
assert_equals_uint64 (((GstTimedValue *) values->next->data)->timestamp,
15 * GST_SECOND);
assert_equals_float (((GstTimedValue *) values->next->data)->value, 0.50);
+ g_list_free (values);
CHECK_OBJECT_PROPS (clip, 0 * GST_SECOND, 10 * GST_SECOND, 5 * GST_SECOND);
check_layer (clip, 0);
GstTimedValueControlSource *splitsource;
GESLayer *layer;
GESAsset *asset;
+ GValue *tmpvalue;
GESTrackElement *element;
asset = ges_asset_request (GES_TYPE_TEST_CLIP, NULL, NULL);
clip = ges_layer_add_asset (layer, asset, 0, 10 * GST_SECOND, 10 * GST_SECOND,
GES_TRACK_TYPE_UNKNOWN);
+ g_object_unref (asset);
CHECK_OBJECT_PROPS (clip, 0 * GST_SECOND, 10 * GST_SECOND, 10 * GST_SECOND);
assert_equals_int (g_list_length (GES_CONTAINER_CHILDREN (clip)), 1);
20 * GST_SECOND, 500);
binding = ges_track_element_get_control_binding (element, "posx");
- assert_equals_int (g_value_get_int (gst_control_binding_get_value (binding,
- 10 * GST_SECOND)), 0);
- assert_equals_int (g_value_get_int (gst_control_binding_get_value (binding,
- 20 * GST_SECOND)), 500);
+ tmpvalue = gst_control_binding_get_value (binding, 10 * GST_SECOND);
+ assert_equals_int (g_value_get_int (tmpvalue), 0);
+ g_value_unset (tmpvalue);
+ g_free (tmpvalue);
+
+ tmpvalue = gst_control_binding_get_value (binding, 20 * GST_SECOND);
+ assert_equals_int (g_value_get_int (tmpvalue), 500);
+ g_value_unset (tmpvalue);
+ g_free (tmpvalue);
splitclip = ges_clip_split (clip, 5 * GST_SECOND);
CHECK_OBJECT_PROPS (splitclip, 5 * GST_SECOND, 15 * GST_SECOND,
assert_equals_uint64 (((GstTimedValue *) values->next->data)->timestamp,
20 * GST_SECOND);
assert_equals_float (((GstTimedValue *) values->next->data)->value, 500.0);
+ g_list_free (values);
values =
gst_timed_value_control_source_get_all (GST_TIMED_VALUE_CONTROL_SOURCE
assert_equals_uint64 (((GstTimedValue *) values->next->data)->timestamp,
15 * GST_SECOND);
assert_equals_float (((GstTimedValue *) values->next->data)->value, 250.0);
+ g_list_free (values);
CHECK_OBJECT_PROPS (clip, 0 * GST_SECOND, 10 * GST_SECOND, 5 * GST_SECOND);
check_layer (clip, 0);
GES_TIMELINE_ELEMENT (group)));
clips = ges_container_get_children (GES_CONTAINER (group), TRUE);
assert_equals_int (g_list_length (clips), 6);
+ g_list_free_full (clips, g_object_unref);
gst_object_unref (timeline);
gst_object_unref (asset);
fail_unless (timeline != NULL);
layer = timeline->layers->data;
- for (tmp = ges_layer_get_clips (layer); tmp; tmp = tmp->next) {
+ clips = ges_layer_get_clips (layer);
+ for (tmp = clips; tmp; tmp = tmp->next) {
fail_unless (GES_IS_GROUP (GES_TIMELINE_ELEMENT_PARENT (tmp->data)),
"%s parent is %p, NOT a group", GES_TIMELINE_ELEMENT_NAME (tmp->data),
GES_TIMELINE_ELEMENT_PARENT (tmp->data));
}
-
+ g_list_free_full (clips, g_object_unref);
g_free (tmpuri);
gst_object_unref (timeline);
transition =
GES_CLIP (ges_layer_add_asset (layer,
transition_asset, 1000, 0, 500, GES_TRACK_TYPE_VIDEO));
+ g_object_unref (transition_asset);
fail_unless (GES_IS_TRANSITION_CLIP (transition));
objects = GES_CONTAINER_CHILDREN (transition);
assert_equals_int (g_list_length (objects), 1);
template, NULL, NULL);
fail_unless (GST_IS_PAD (requested_pad));
+ gst_object_unref (requested_pad);
gst_object_unref (smart_adder);
gst_object_unref (track);
tmpclip = ges_layer_add_asset (layer1, asset, 0, 0, 2 * GST_SECOND,
GES_TRACK_TYPE_AUDIO);
+ g_object_unref (asset);
ges_audio_test_source_set_volume (GES_CONTAINER_CHILDREN (tmpclip)->data, 1);
tmpclip =
ges_layer_add_asset (layer1, asset, 1 * GST_SECOND, 0, 5 * GST_SECOND,
GES_TRACK_TYPE_UNKNOWN);
+ g_object_unref (asset);
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
main_loop = g_main_loop_new (NULL, FALSE);
(source), 5 * GST_SECOND, 0.);
gst_timed_value_control_source_set (GST_TIMED_VALUE_CONTROL_SOURCE
(source), 10 * GST_SECOND, 1.);
- }
- /* Adding children properties */
- else if (GES_IS_VIDEO_SOURCE (element)) {
+ } else if (GES_IS_VIDEO_SOURCE (element)) {
+ /* Adding children properties */
gint64 posx = 42;
ges_timeline_element_set_child_properties (GES_TIMELINE_ELEMENT
(element), "posx", posx, NULL);
break;
}
}
+
+ g_list_free_full (tracks, g_object_unref);
}
static void
fail_unless_equals_int64 (posx, 42);
}
}
+ g_list_free_full (track_elements, g_object_unref);
break;
default:
break;
}
}
+
+ g_list_free_full (tracks, g_object_unref);
}
GST_START_TEST (test_project_add_properties)
{
GESProject *project;
GESTimeline *timeline;
- GESAsset *formatter_asset;
- gboolean saved;
gchar *uri;
ges_init ();
uri = ges_test_file_uri ("test-properties.xges");
project = ges_project_new (uri);
+ g_free (uri);
mainloop = g_main_loop_new (NULL, FALSE);
/* Connect the signals */
GST_LOG ("Test first loading");
- g_free (uri);
_add_properties (timeline);
uri = ges_test_get_tmp_uri ("test-properties-save.xges");
- formatter_asset = ges_asset_request (GES_TYPE_FORMATTER, "ges", NULL);
- saved =
- ges_project_save (project, timeline, uri, formatter_asset, TRUE, NULL);
- fail_unless (saved);
-
+ fail_unless (ges_project_save (project, timeline, uri, NULL, TRUE, NULL));
gst_object_unref (timeline);
gst_object_unref (project);
project = ges_project_new (uri);
+ g_free (uri);
ASSERT_OBJECT_REFCOUNT (project, "Our + cache", 2);
gst_object_unref (timeline);
gst_object_unref (project);
- g_free (uri);
g_main_loop_unref (mainloop);
g_signal_handlers_disconnect_by_func (project, (GCallback) project_loaded_cb,
GESTimeline *timeline;
GESAsset *formatter_asset;
gchar *uri;
+ GList *tmp;
ges_init ();
timeline =
GES_TIMELINE (ges_asset_extract (GES_ASSET (loaded_project), NULL));
fail_unless (GES_IS_TIMELINE (timeline));
- assert_equals_int (g_list_length (ges_project_get_loading_assets
- (loaded_project)), 1);
+ tmp = ges_project_get_loading_assets (loaded_project);
+ assert_equals_int (g_list_length (tmp), 1);
+ g_list_free_full (tmp, g_object_unref);
g_main_loop_run (mainloop);
GST_LOG ("Test first loading");
GST_START_TEST (test_project_auto_transition)
{
- GList *layers;
+ GList *layers, *tmp;
GESProject *project;
GESTimeline *timeline;
GESLayer *layer = NULL;
/* Check timeline and layers auto-transition, must be FALSE */
fail_if (ges_timeline_get_auto_transition (timeline));
layers = ges_timeline_get_layers (timeline);
- for (; layers; layers = layers->next) {
- layer = layers->data;
+ for (tmp = layers; tmp; tmp = tmp->next) {
+ layer = tmp->data;
fail_if (ges_layer_get_auto_transition (layer));
}
/* Check timeline and layers auto-transition, must be TRUE */
fail_unless (ges_timeline_get_auto_transition (timeline));
layers = ges_timeline_get_layers (timeline);
- for (; layers; layers = layers->next) {
- layer = layers->data;
+ for (tmp = layers; tmp; tmp = tmp->next) {
+ layer = tmp->data;
fail_unless (ges_layer_get_auto_transition (layer));
}
clip2 = GES_CONTAINER (ges_layer_add_asset (layer, asset, 50, 0, 60,
GES_TRACK_TYPE_UNKNOWN));
+ g_object_unref (asset);
trackelement2 = GES_CONTAINER_CHILDREN (clip2)->data;
fail_unless (GES_IS_TRACK_ELEMENT (trackelement2));
GST_START_TEST (test_simple_triming)
{
- GList *assets;
+ GList *assets, *tmp;
GMainLoop *mainloop;
GESClipAsset *asset;
GESProject *project;
ges_layer_add_asset (layer, GES_ASSET (asset), 0, 0, 10,
ges_clip_asset_get_supported_formats (asset));
+ g_list_free_full (assets, g_object_unref);
- element = ges_layer_get_clips (layer)->data;
+ tmp = ges_layer_get_clips (layer);
+ element = tmp->data;
DEEP_CHECK (element, 0, 0, 10);
ges_container_edit (GES_CONTAINER (element), NULL, -1, GES_EDIT_MODE_TRIM,
GES_EDGE_START, 5);
DEEP_CHECK (element, 5, 5, 5);
+ g_list_free_full (tmp, g_object_unref);
g_main_loop_unref (mainloop);
gst_object_unref (timeline);
ges_layer_add_asset (layer, GES_ASSET (asset1), 0 * GST_SECOND,
0 * GST_SECOND, 4 * GST_SECOND, GES_TRACK_TYPE_UNKNOWN);
gst_object_unref (asset1);
+ gst_object_unref (asset2);
g_object_set (clip, "vpattern", (gint) GES_VIDEO_TEST_PATTERN_SMPTE75, NULL);
/**
* are changing the aspect ratio, the video should thus not be rescaled. */
caps = gst_caps_from_string ("video/x-raw,height=1080,width=1920");
ges_track_set_restriction_caps (trackv, caps);
+ gst_caps_unref (caps);
fail_unless (check_frame_positioner_size (clip, 320, 240));
gst_object_unref (timeline);