GESTimeline * testPatternTL (void) { GESTimeline *timeline; GESLayer *layer; GESTestClip *srca, *srcb; timeline = ges_timeline_new_audio_video (); layer = ges_layer_new (); g_object_set (layer, "auto-transition", TRUE, NULL); ges_timeline_add_layer (timeline, layer); srca = ges_test_clip_new (); srcb = ges_test_clip_new (); g_object_set (srca, "vpattern", GES_VIDEO_TEST_PATTERN_SMPTE, "duration", 3 * GST_SECOND, "start", 0, NULL); g_object_set (srcb, "vpattern", GES_VIDEO_TEST_PATTERN_CIRCULAR, "duration", 3 * GST_SECOND, "start", 2 * GST_SECOND, NULL); ges_test_clip_set_frequency (srcb, 800); ges_layer_add_clip (layer, GES_CLIP (srca)); ges_layer_add_clip (layer, GES_CLIP (srcb)); ges_timeline_commit (timeline); return timeline; }
static void ges_test_clip_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { GESTestClip *uriclip = GES_TEST_CLIP (object); switch (property_id) { case PROP_MUTE: ges_test_clip_set_mute (uriclip, g_value_get_boolean (value)); break; case PROP_VPATTERN: ges_test_clip_set_vpattern (uriclip, g_value_get_enum (value)); break; case PROP_FREQ: ges_test_clip_set_frequency (uriclip, g_value_get_double (value)); break; case PROP_VOLUME: ges_test_clip_set_volume (uriclip, g_value_get_double (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }