From 647f7c34d9d8a49f356a0417f2b06151d7cf53ec Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Tue, 18 Jan 2011 20:05:54 +0100 Subject: [PATCH] effects: Make TrackEffect implementation corresponding to the new effect API description Make the effects testsuite correspond to the new API Fixe a few compilation issues due to TrackEffect --- docs/libs/ges-sections.txt | 3 +-- ges/ges-track-effect.c | 9 +++------ ges/ges-track-effect.h | 2 +- ges/ges.h | 1 + tests/check/ges/effects.c | 25 +++++++++++++------------ 5 files changed, 19 insertions(+), 21 deletions(-) diff --git a/docs/libs/ges-sections.txt b/docs/libs/ges-sections.txt index 116bcdc..37b4184 100644 --- a/docs/libs/ges-sections.txt +++ b/docs/libs/ges-sections.txt @@ -703,8 +703,7 @@ ges_keyfile_formatter_get_type GESTrackEffect GESTrackEffect GESTrackEffectClass -ges_track_effect_new -ges_track_effect_new_with_name +ges_track_effect_new_from_bin_desc GES_IS_TRACK_EFFECT GES_IS_TRACK_EFFECT_CLASS diff --git a/ges/ges-track-effect.c b/ges/ges-track-effect.c index 1e45ad0..428e8fc 100644 --- a/ges/ges-track-effect.c +++ b/ges/ges-track-effect.c @@ -81,8 +81,6 @@ ges_track_effect_class_init (GESTrackEffectClass * klass) g_type_class_add_private (klass, sizeof (GESTrackEffectPrivate)); - g_type_class_add_private (klass, sizeof (GESTrackEffectPrivate)); - object_class->get_property = ges_track_effect_get_property; object_class->set_property = ges_track_effect_set_property; object_class->dispose = ges_track_effect_dispose; @@ -102,7 +100,6 @@ ges_track_effect_class_init (GESTrackEffectClass * klass) "bin description", "Bin description of the effect", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - } static void @@ -158,8 +155,8 @@ ges_track_effect_create_element (GESTrackOperation * object) src = gst_ghost_pad_new ("src", src_target); sink = gst_ghost_pad_new ("video_sink", sink_target); - g_object_unref (src_target); - g_object_unref (sink_target); + gst_object_unref (src_target); + gst_object_unref (sink_target); gst_element_add_pad (ret, src); gst_element_add_pad (ret, sink); @@ -170,7 +167,7 @@ ges_track_effect_create_element (GESTrackOperation * object) } GESTrackEffect * -ges_track_effect_new (const gchar * bin_description) +ges_track_effect_new_from_bin_desc (const gchar * bin_description) { return g_object_new (GES_TYPE_TRACK_EFFECT, "bin-description", bin_description, NULL); diff --git a/ges/ges-track-effect.h b/ges/ges-track-effect.h index 564a4a1..dad7660 100644 --- a/ges/ges-track-effect.h +++ b/ges/ges-track-effect.h @@ -66,7 +66,7 @@ struct _GESTrackEffectClass GType ges_track_effect_get_type (void); -GESTrackEffect *ges_track_effect_new (const gchar * bin_description); +GESTrackEffect *ges_track_effect_new_from_bin_desc (const gchar * bin_description); G_END_DECLS #endif /* _GES_TRACK_EFFECT */ diff --git a/ges/ges.h b/ges/ges.h index b600f7c..19953f8 100644 --- a/ges/ges.h +++ b/ges/ges.h @@ -55,6 +55,7 @@ #include #include #include +#include #include #include diff --git a/tests/check/ges/effects.c b/tests/check/ges/effects.c index 9ac80da..051218c 100644 --- a/tests/check/ges/effects.c +++ b/tests/check/ges/effects.c @@ -27,7 +27,7 @@ GST_START_TEST (test_effect_basic) ges_init (); - effect = ges_track_effect_new ("identity"); + effect = ges_track_effect_new_from_bin_desc ("identity"); fail_unless (effect != NULL); g_object_unref (effect); } @@ -39,9 +39,8 @@ GST_START_TEST (test_add_effect_to_tl_object) GESTimeline *timeline; GESTimelineLayer *layer; GESTrack *track_audio, *track_video; - GESTrackEffect *effect_track; + GESTrackEffect *track_effect; GESTimelineTestSource *source; - gboolean effect_added = FALSE; ges_init (); @@ -61,20 +60,22 @@ GST_START_TEST (test_add_effect_to_tl_object) ges_simple_timeline_layer_add_object ((GESSimpleTimelineLayer *) (layer), (GESTimelineObject *) source, 0); - GST_DEBUG ("Adding effect"); - ges_timeline_object_add_effect (GES_TIMELINE_OBJECT (source), - "identity", track_video); - effect_track = - GES_TRACK_EFFECT (ges_timeline_object_find_track_object - (GES_TIMELINE_OBJECT (source), track_video, GES_TYPE_TRACK_EFFECT)); + GST_DEBUG ("Create effect"); + track_effect = ges_track_effect_new_from_bin_desc ("identity"); - assert_equals_int (GES_TRACK_OBJECT (effect_track)->active, TRUE); - fail_unless (GES_IS_TRACK_EFFECT (effect_track)); + fail_unless (GES_IS_TRACK_EFFECT (track_effect)); + + + fail_unless (ges_timeline_object_add_track_object (GES_TIMELINE_OBJECT + (source), GES_TRACK_OBJECT (track_effect))); + fail_unless (ges_track_add_object (track_video, + GES_TRACK_OBJECT (track_effect))); + + assert_equals_int (GES_TRACK_OBJECT (track_effect)->active, TRUE); ges_timeline_layer_remove_object (layer, (GESTimelineObject *) source); - g_object_unref (effect_track); g_object_unref (timeline); } -- 2.7.4