From 101240e67c9d66397f2165012de2dc0b8409d0d7 Mon Sep 17 00:00:00 2001 From: Xabier Rodriguez Calvar Date: Fri, 23 Dec 2011 14:07:21 +0100 Subject: [PATCH] timeline: Added timeline and mode as properties --- ges/ges-timeline-pipeline.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/ges/ges-timeline-pipeline.c b/ges/ges-timeline-pipeline.c index d458812..97c540d 100644 --- a/ges/ges-timeline-pipeline.c +++ b/ges/ges-timeline-pipeline.c @@ -70,6 +70,8 @@ enum PROP_0, PROP_AUDIO_SINK, PROP_VIDEO_SINK, + PROP_TIMELINE, + PROP_MODE, PROP_LAST }; @@ -100,6 +102,12 @@ ges_timeline_pipeline_get_property (GObject * object, guint property_id, g_object_get_property (G_OBJECT (self->priv->playsink), "video-sink", value); break; + case PROP_TIMELINE: + g_value_set_object (value, self->priv->timeline); + break; + case PROP_MODE: + g_value_set_flags (value, self->priv->mode); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } @@ -120,6 +128,14 @@ ges_timeline_pipeline_set_property (GObject * object, guint property_id, g_object_set_property (G_OBJECT (self->priv->playsink), "video-sink", value); break; + case PROP_TIMELINE: + ges_timeline_pipeline_add_timeline (GES_TIMELINE_PIPELINE (object), + g_value_get_object(value)); + break; + case PROP_MODE: + ges_timeline_pipeline_set_mode (GES_TIMELINE_PIPELINE (object), + g_value_get_flags(value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } @@ -188,6 +204,32 @@ ges_timeline_pipeline_class_init (GESTimelinePipelineClass * klass) g_object_class_install_property (object_class, PROP_VIDEO_SINK, properties[PROP_VIDEO_SINK]); + /** + * GESTimelinePipeline:timeline + * + * Timeline to use in this pipeline. See also + * ges_timeline_pipeline_add_timeline() for more info. + */ + properties[PROP_TIMELINE] = g_param_spec_object ("timeline", "Timeline", + "Timeline to use in this pipeline. See also " + "ges_timeline_pipeline_add_timeline() for more info.", + GES_TYPE_TIMELINE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property (object_class, PROP_TIMELINE, + properties[PROP_TIMELINE]); + + /** + * GESTimelinePipeline:mode + * + * Pipeline mode. See ges_timeline_pipeline_set_mode() for more + * info. + */ + properties[PROP_MODE] = g_param_spec_flags ("mode", "Mode", + "Pipeline mode. See ges_timeline_pipeline_set_mode() for more info.", + GES_TYPE_PIPELINE_FLAGS, DEFAULT_TIMELINE_MODE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property (object_class, PROP_MODE, + properties[PROP_MODE]); + element_class->change_state = GST_DEBUG_FUNCPTR (ges_timeline_pipeline_change_state); -- 2.7.4