1 /* GStreamer Editing Services
2 * Copyright (C) 2009 Edward Hervey <edward.hervey@collabora.co.uk>
3 * 2009 Nokia Corporation
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
15 * You should have received a copy of the GNU Library General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
23 #include <glib-object.h>
25 #include <gst/pbutils/encoding-profile.h>
29 #define GES_TYPE_PIPELINE ges_pipeline_get_type()
30 GES_DECLARE_TYPE(Pipeline, pipeline, PIPELINE);
41 GESPipelinePrivate *priv;
43 /* Padding for API extension */
44 gpointer _ges_reserved[GES_PADDING];
49 * @parent_class: parent class
53 struct _GESPipelineClass {
55 GstPipelineClass parent_class;
57 /* Padding for API extension */
58 gpointer _ges_reserved[GES_PADDING];
62 GESPipeline* ges_pipeline_new (void);
65 gboolean ges_pipeline_set_timeline (GESPipeline * pipeline,
66 GESTimeline * timeline);
69 gboolean ges_pipeline_set_render_settings (GESPipeline *pipeline,
70 const gchar * output_uri,
71 GstEncodingProfile *profile);
73 gboolean ges_pipeline_set_mode (GESPipeline *pipeline,
74 GESPipelineFlags mode);
77 GESPipelineFlags ges_pipeline_get_mode (GESPipeline *pipeline);
80 ges_pipeline_get_thumbnail(GESPipeline *self, GstCaps *caps);
83 ges_pipeline_get_thumbnail_rgb24(GESPipeline *self,
84 gint width, gint height);
87 ges_pipeline_save_thumbnail(GESPipeline *self,
88 int width, int height, const gchar *format, const gchar *location,
92 ges_pipeline_preview_get_video_sink (GESPipeline * self);
95 ges_pipeline_preview_set_video_sink (GESPipeline * self,
99 ges_pipeline_preview_get_audio_sink (GESPipeline * self);
102 ges_pipeline_preview_set_audio_sink (GESPipeline * self,