ges-timeline.c \
ges-layer.c \
ges-clip.c \
- ges-timeline-pipeline.c \
+ ges-pipeline.c \
ges-source-clip.c \
ges-uri-clip.c \
ges-operation-clip.c \
<para>In order to reduce even more the amount of GStreamer interaction
the application developer has to deal with, a convenience GstPipeline
has been made available specifically for Timelines : <link
- linkend="GESTimelinePipeline">GESTimelinePipeline</link>.</para>
+ linkend="GESPipeline">GESPipeline</link>.</para>
</refsect2>
</refsect1>
<chapter>
<title>Convenience classes</title>
- <xi:include href="xml/ges-timeline-pipeline.xml"/>
+ <xi:include href="xml/ges-pipeline.xml"/>
<xi:include href="xml/ges-custom-source-clip.xml"/>
</chapter>
<SECTION>
-<FILE>ges-timeline-pipeline</FILE>
-<TITLE>GESTimelinePipeline</TITLE>
-GESTimelinePipeline
-ges_timeline_pipeline_new
-ges_timeline_pipeline_add_timeline
-ges_timeline_pipeline_set_mode
-ges_timeline_pipeline_set_render_settings
-ges_timeline_pipeline_preview_get_audio_sink
-ges_timeline_pipeline_preview_get_video_sink
-ges_timeline_pipeline_preview_set_audio_sink
-ges_timeline_pipeline_preview_set_video_sink
-ges_timeline_pipeline_get_thumbnail
-ges_timeline_pipeline_get_thumbnail_rgb24
-ges_timeline_pipeline_save_thumbnail
+<FILE>ges-pipeline</FILE>
+<TITLE>GESPipeline</TITLE>
+GESPipeline
+ges_pipeline_new
+ges_pipeline_add_timeline
+ges_pipeline_set_mode
+ges_pipeline_set_render_settings
+ges_pipeline_preview_get_audio_sink
+ges_pipeline_preview_get_video_sink
+ges_pipeline_preview_set_audio_sink
+ges_pipeline_preview_set_video_sink
+ges_pipeline_get_thumbnail
+ges_pipeline_get_thumbnail_rgb24
+ges_pipeline_save_thumbnail
<SUBSECTION Standard>
-GESTimelinePipelineClass
-GESTimelinePipelinePrivate
+GESPipelineClass
+GESPipelinePrivate
ges_play_sink_convert_frame
-ges_timeline_pipeline_get_type
+ges_pipeline_get_type
GES_TIMELINE_PIPELINE
GES_TIMELINE_PIPELINE_CLASS
GES_TIMELINE_PIPELINE_GET_CLASS
ges_clip_get_type
ges_operation_clip_get_type
ges_overlay_clip_get_type
-ges_timeline_pipeline_get_type
+ges_pipeline_get_type
ges_source_clip_get_type
ges_test_clip_get_type
ges_base_transition_clip_get_type
ges-timeline.c \
ges-layer.c \
ges-clip.c \
- ges-timeline-pipeline.c \
+ ges-pipeline.c \
ges-source-clip.c \
ges-base-effect-clip.c \
ges-effect-clip.c \
ges-timeline.h \
ges-layer.h \
ges-clip.h \
- ges-timeline-pipeline.h \
+ ges-pipeline.h \
ges-source-clip.h \
ges-uri-clip.h \
ges-base-effect-clip.h \
* @TIMELINE_MODE_RENDER: render timeline (forces decoding)
* @TIMELINE_MODE_SMART_RENDER: render timeline (tries to avoid decoding/reencoding)
*
- * The various modes the #GESTimelinePipeline can be configured to.
+ * The various modes the #GESPipeline can be configured to.
*/
typedef enum {
TIMELINE_MODE_PREVIEW_AUDIO = 1 << 0,
*/
/**
- * SECTION:ges-timeline-pipeline
+ * SECTION:ges-pipeline
* @short_description: Convenience GstPipeline for editing.
*
- * #GESTimelinePipeline allows developers to view and render #GESTimeline
+ * #GESPipeline allows developers to view and render #GESTimeline
* in a simple fashion.
* Its usage is inspired by the 'playbin' element from gst-plugins-base.
*/
#include <stdio.h>
#include "ges-internal.h"
-#include "ges-timeline-pipeline.h"
+#include "ges-pipeline.h"
#include "ges-screenshot.h"
#define DEFAULT_TIMELINE_MODE TIMELINE_MODE_PREVIEW
} OutputChain;
-struct _GESTimelinePipelinePrivate
+struct _GESPipelinePrivate
{
GESTimeline *timeline;
GstElement *playsink;
static GParamSpec *properties[PROP_LAST];
-static GstStateChangeReturn ges_timeline_pipeline_change_state (GstElement *
+static GstStateChangeReturn ges_pipeline_change_state (GstElement *
element, GstStateChange transition);
-static OutputChain *get_output_chain_for_track (GESTimelinePipeline * self,
+static OutputChain *get_output_chain_for_track (GESPipeline * self,
GESTrack * track);
-static OutputChain *new_output_chain_for_track (GESTimelinePipeline * self,
+static OutputChain *new_output_chain_for_track (GESPipeline * self,
GESTrack * track);
/****************************************************
static void
_overlay_expose (GstVideoOverlay * overlay)
{
- GESTimelinePipeline *pipeline = GES_TIMELINE_PIPELINE (overlay);
+ GESPipeline *pipeline = GES_TIMELINE_PIPELINE (overlay);
gst_video_overlay_expose (GST_VIDEO_OVERLAY (pipeline->priv->playsink));
}
static void
_overlay_handle_events (GstVideoOverlay * overlay, gboolean handle_events)
{
- GESTimelinePipeline *pipeline = GES_TIMELINE_PIPELINE (overlay);
+ GESPipeline *pipeline = GES_TIMELINE_PIPELINE (overlay);
gst_video_overlay_handle_events (GST_VIDEO_OVERLAY (pipeline->priv->playsink),
handle_events);
_overlay_set_render_rectangle (GstVideoOverlay * overlay, gint x,
gint y, gint width, gint height)
{
- GESTimelinePipeline *pipeline = GES_TIMELINE_PIPELINE (overlay);
+ GESPipeline *pipeline = GES_TIMELINE_PIPELINE (overlay);
- gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (pipeline->priv->
- playsink), x, y, width, height);
+ gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (pipeline->
+ priv->playsink), x, y, width, height);
}
static void
_overlay_set_window_handle (GstVideoOverlay * overlay, guintptr handle)
{
- GESTimelinePipeline *pipeline = GES_TIMELINE_PIPELINE (overlay);
+ GESPipeline *pipeline = GES_TIMELINE_PIPELINE (overlay);
- gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (pipeline->
- priv->playsink), handle);
+ gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (pipeline->priv->
+ playsink), handle);
}
static void
iface->set_window_handle = _overlay_set_window_handle;
}
-G_DEFINE_TYPE_WITH_CODE (GESTimelinePipeline, ges_timeline_pipeline,
+G_DEFINE_TYPE_WITH_CODE (GESPipeline, ges_pipeline,
GST_TYPE_PIPELINE,
G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_OVERLAY, video_overlay_init));
static void
-ges_timeline_pipeline_get_property (GObject * object, guint property_id,
+ges_pipeline_get_property (GObject * object, guint property_id,
GValue * value, GParamSpec * pspec)
{
- GESTimelinePipeline *self = GES_TIMELINE_PIPELINE (object);
+ GESPipeline *self = GES_TIMELINE_PIPELINE (object);
switch (property_id) {
case PROP_AUDIO_SINK:
}
static void
-ges_timeline_pipeline_set_property (GObject * object, guint property_id,
+ges_pipeline_set_property (GObject * object, guint property_id,
const GValue * value, GParamSpec * pspec)
{
- GESTimelinePipeline *self = GES_TIMELINE_PIPELINE (object);
+ GESPipeline *self = GES_TIMELINE_PIPELINE (object);
switch (property_id) {
case PROP_AUDIO_SINK:
value);
break;
case PROP_TIMELINE:
- ges_timeline_pipeline_add_timeline (GES_TIMELINE_PIPELINE (object),
+ ges_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),
+ ges_pipeline_set_mode (GES_TIMELINE_PIPELINE (object),
g_value_get_flags (value));
break;
default:
}
static void
-ges_timeline_pipeline_dispose (GObject * object)
+ges_pipeline_dispose (GObject * object)
{
- GESTimelinePipeline *self = GES_TIMELINE_PIPELINE (object);
+ GESPipeline *self = GES_TIMELINE_PIPELINE (object);
if (self->priv->playsink) {
if (self->priv->mode & (TIMELINE_MODE_PREVIEW))
self->priv->profile = NULL;
}
- G_OBJECT_CLASS (ges_timeline_pipeline_parent_class)->dispose (object);
+ G_OBJECT_CLASS (ges_pipeline_parent_class)->dispose (object);
}
static void
-ges_timeline_pipeline_class_init (GESTimelinePipelineClass * klass)
+ges_pipeline_class_init (GESPipelineClass * klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (GESTimelinePipelinePrivate));
+ g_type_class_add_private (klass, sizeof (GESPipelinePrivate));
- object_class->dispose = ges_timeline_pipeline_dispose;
- object_class->get_property = ges_timeline_pipeline_get_property;
- object_class->set_property = ges_timeline_pipeline_set_property;
+ object_class->dispose = ges_pipeline_dispose;
+ object_class->get_property = ges_pipeline_get_property;
+ object_class->set_property = ges_pipeline_set_property;
/**
- * GESTimelinePipeline:audio-sink:
+ * GESPipeline:audio-sink:
*
* Audio sink for the preview.
*/
properties[PROP_AUDIO_SINK]);
/**
- * GESTimelinePipeline:video-sink:
+ * GESPipeline:video-sink:
*
* Video sink for the preview.
*/
properties[PROP_VIDEO_SINK]);
/**
- * GESTimelinePipeline:timeline:
+ * GESPipeline:timeline:
*
* Timeline to use in this pipeline. See also
- * ges_timeline_pipeline_add_timeline() for more info.
+ * ges_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_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:
+ * GESPipeline:mode:
*
- * Pipeline mode. See ges_timeline_pipeline_set_mode() for more
+ * Pipeline mode. See ges_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.",
+ "Pipeline mode. See ges_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);
+ element_class->change_state = GST_DEBUG_FUNCPTR (ges_pipeline_change_state);
/* TODO : Add state_change handlers
* Don't change state if we don't have a timeline */
}
static void
-ges_timeline_pipeline_init (GESTimelinePipeline * self)
+ges_pipeline_init (GESPipeline * self)
{
GST_INFO_OBJECT (self, "Creating new 'playsink'");
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
- GES_TYPE_TIMELINE_PIPELINE, GESTimelinePipelinePrivate);
+ GES_TYPE_TIMELINE_PIPELINE, GESPipelinePrivate);
self->priv->playsink =
gst_element_factory_make ("playsink", "internal-sinks");
if (G_UNLIKELY (self->priv->encodebin == NULL))
goto no_encodebin;
- ges_timeline_pipeline_set_mode (self, DEFAULT_TIMELINE_MODE);
+ ges_pipeline_set_mode (self, DEFAULT_TIMELINE_MODE);
return;
}
/**
- * ges_timeline_pipeline_new:
+ * ges_pipeline_new:
*
- * Creates a new conveninence #GESTimelinePipeline.
+ * Creates a new conveninence #GESPipeline.
*
- * Returns: the new #GESTimelinePipeline.
+ * Returns: the new #GESPipeline.
*/
-GESTimelinePipeline *
-ges_timeline_pipeline_new (void)
+GESPipeline *
+ges_pipeline_new (void)
{
return g_object_new (GES_TYPE_TIMELINE_PIPELINE, NULL);
}
(GST_IS_ENCODING_VIDEO_PROFILE (profile) && (tracktype) == GES_TRACK_TYPE_VIDEO))
static gboolean
-ges_timeline_pipeline_update_caps (GESTimelinePipeline * self)
+ges_pipeline_update_caps (GESPipeline * self)
{
GList *ltrack, *tracks, *lstream;
}
static GstStateChangeReturn
-ges_timeline_pipeline_change_state (GstElement * element,
- GstStateChange transition)
+ges_pipeline_change_state (GstElement * element, GstStateChange transition)
{
- GESTimelinePipeline *self;
+ GESPipeline *self;
GstStateChangeReturn ret;
self = GES_TIMELINE_PIPELINE (element);
ret = GST_STATE_CHANGE_FAILURE;
goto done;
}
- if (self->priv->
- mode & (TIMELINE_MODE_RENDER | TIMELINE_MODE_SMART_RENDER))
+ if (self->
+ priv->mode & (TIMELINE_MODE_RENDER | TIMELINE_MODE_SMART_RENDER))
GST_DEBUG ("rendering => Updating pipeline caps");
- if (!ges_timeline_pipeline_update_caps (self)) {
+ if (!ges_pipeline_update_caps (self)) {
GST_ERROR_OBJECT (element, "Error setting the caps for rendering");
ret = GST_STATE_CHANGE_FAILURE;
goto done;
}
ret =
- GST_ELEMENT_CLASS (ges_timeline_pipeline_parent_class)->change_state
+ GST_ELEMENT_CLASS (ges_pipeline_parent_class)->change_state
(element, transition);
done:
}
static OutputChain *
-new_output_chain_for_track (GESTimelinePipeline * self, GESTrack * track)
+new_output_chain_for_track (GESPipeline * self, GESTrack * track)
{
OutputChain *chain;
/* Should be called with LOCK_DYN */
static OutputChain *
-get_output_chain_for_track (GESTimelinePipeline * self, GESTrack * track)
+get_output_chain_for_track (GESPipeline * self, GESTrack * track)
{
GList *tmp;
}
static void
-pad_added_cb (GstElement * timeline, GstPad * pad, GESTimelinePipeline * self)
+pad_added_cb (GstElement * timeline, GstPad * pad, GESPipeline * self)
{
OutputChain *chain;
GESTrack *track;
}
static void
-pad_removed_cb (GstElement * timeline, GstPad * pad, GESTimelinePipeline * self)
+pad_removed_cb (GstElement * timeline, GstPad * pad, GESPipeline * self)
{
OutputChain *chain;
GESTrack *track;
}
static void
-no_more_pads_cb (GstElement * timeline, GESTimelinePipeline * self)
+no_more_pads_cb (GstElement * timeline, GESPipeline * self)
{
GList *tmp;
}
/**
- * ges_timeline_pipeline_add_timeline:
- * @pipeline: a #GESTimelinePipeline
+ * ges_pipeline_add_timeline:
+ * @pipeline: a #GESPipeline
* @timeline: the #GESTimeline to set on the @pipeline.
*
* Sets the timeline to use in this pipeline.
* else FALSE.
*/
gboolean
-ges_timeline_pipeline_add_timeline (GESTimelinePipeline * pipeline,
- GESTimeline * timeline)
+ges_pipeline_add_timeline (GESPipeline * pipeline, GESTimeline * timeline)
{
g_return_val_if_fail (GES_IS_TIMELINE_PIPELINE (pipeline), FALSE);
g_return_val_if_fail (GES_IS_TIMELINE (timeline), FALSE);
}
/**
- * ges_timeline_pipeline_set_render_settings:
- * @pipeline: a #GESTimelinePipeline
+ * ges_pipeline_set_render_settings:
+ * @pipeline: a #GESPipeline
* @output_uri: the URI to which the timeline will be rendered
* @profile: the #GstEncodingProfile to use to render the timeline.
*
* Returns: %TRUE if the settings were aknowledged properly, else %FALSE
*/
gboolean
-ges_timeline_pipeline_set_render_settings (GESTimelinePipeline * pipeline,
+ges_pipeline_set_render_settings (GESPipeline * pipeline,
const gchar * output_uri, GstEncodingProfile * profile)
{
GError *err = NULL;
}
/**
- * ges_timeline_pipeline_set_mode:
- * @pipeline: a #GESTimelinePipeline
+ * ges_pipeline_set_mode:
+ * @pipeline: a #GESPipeline
* @mode: the #GESPipelineFlags to use
*
* switches the @pipeline to the specified @mode. The default mode when
- * creating a #GESTimelinePipeline is #TIMELINE_MODE_PREVIEW.
+ * creating a #GESPipeline is #TIMELINE_MODE_PREVIEW.
*
* Note: The @pipeline will be set to #GST_STATE_NULL during this call due to
* the internal changes that happen. The caller will therefore have to
* Returns: %TRUE if the mode was properly set, else %FALSE.
**/
gboolean
-ges_timeline_pipeline_set_mode (GESTimelinePipeline * pipeline,
- GESPipelineFlags mode)
+ges_pipeline_set_mode (GESPipeline * pipeline, GESPipelineFlags mode)
{
g_return_val_if_fail (GES_IS_TIMELINE_PIPELINE (pipeline), FALSE);
}
/**
- * ges_timeline_pipeline_get_thumbnail:
- * @self: a #GESTimelinePipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED
+ * ges_pipeline_get_thumbnail:
+ * @self: a #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED
* @caps: (transfer none): caps specifying current format. Use %GST_CAPS_ANY
* for native size.
*
*/
GstSample *
-ges_timeline_pipeline_get_thumbnail (GESTimelinePipeline * self, GstCaps * caps)
+ges_pipeline_get_thumbnail (GESPipeline * self, GstCaps * caps)
{
GstElement *sink;
}
/**
- * ges_timeline_pipeline_save_thumbnail:
- * @self: a #GESTimelinePipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED
+ * ges_pipeline_save_thumbnail:
+ * @self: a #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED
* @width: the requested width or -1 for native size
* @height: the requested height or -1 for native size
* @format: a string specifying the desired mime type (for example,
* Returns: %TRUE if the thumbnail was properly save, else %FALSE.
*/
gboolean
-ges_timeline_pipeline_save_thumbnail (GESTimelinePipeline * self, int width, int
+ges_pipeline_save_thumbnail (GESPipeline * self, int width, int
height, const gchar * format, const gchar * location, GError ** error)
{
GstMapInfo map_info;
if (height > 1)
gst_caps_set_simple (caps, "height", G_TYPE_INT, height, NULL);
- if (!(sample = ges_timeline_pipeline_get_thumbnail (self, caps))) {
+ if (!(sample = ges_pipeline_get_thumbnail (self, caps))) {
gst_caps_unref (caps);
return FALSE;
}
}
/**
- * ges_timeline_pipeline_get_thumbnail_rgb24:
- * @self: a #GESTimelinePipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED
+ * ges_pipeline_get_thumbnail_rgb24:
+ * @self: a #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED
* @width: the requested width or -1 for native size
* @height: the requested height or -1 for native size
*
- * A convenience method for @ges_timeline_pipeline_get_thumbnail which
+ * A convenience method for @ges_pipeline_get_thumbnail which
* returns a buffer in 24-bit RGB, optionally scaled to the specified width
* and height. If -1 is specified for either dimension, it will be left at
* native size. You can retreive this information from the caps associated
*/
GstSample *
-ges_timeline_pipeline_get_thumbnail_rgb24 (GESTimelinePipeline * self,
- gint width, gint height)
+ges_pipeline_get_thumbnail_rgb24 (GESPipeline * self, gint width, gint height)
{
GstSample *ret;
GstCaps *caps;
if (height != -1)
gst_caps_set_simple (caps, "height", G_TYPE_INT, (gint) height, NULL);
- ret = ges_timeline_pipeline_get_thumbnail (self, caps);
+ ret = ges_pipeline_get_thumbnail (self, caps);
gst_caps_unref (caps);
return ret;
}
/**
- * ges_timeline_pipeline_preview_get_video_sink:
- * @self: a #GESTimelinePipeline
+ * ges_pipeline_preview_get_video_sink:
+ * @self: a #GESPipeline
*
* Obtains a pointer to playsink's video sink element that is used for
- * displaying video when the #GESTimelinePipeline is in %TIMELINE_MODE_PREVIEW
+ * displaying video when the #GESPipeline is in %TIMELINE_MODE_PREVIEW
*
* The caller is responsible for unreffing the returned element with
* #gst_object_unref.
* Returns: (transfer full): a pointer to the playsink video sink #GstElement
*/
GstElement *
-ges_timeline_pipeline_preview_get_video_sink (GESTimelinePipeline * self)
+ges_pipeline_preview_get_video_sink (GESPipeline * self)
{
GstElement *sink = NULL;
};
/**
- * ges_timeline_pipeline_preview_set_video_sink:
- * @self: a #GESTimelinePipeline in %GST_STATE_NULL
+ * ges_pipeline_preview_set_video_sink:
+ * @self: a #GESPipeline in %GST_STATE_NULL
* @sink: (transfer none): a video sink #GstElement
*
* Sets playsink's video sink element that is used for displaying video when
- * the #GESTimelinePipeline is in %TIMELINE_MODE_PREVIEW
+ * the #GESPipeline is in %TIMELINE_MODE_PREVIEW
*/
void
-ges_timeline_pipeline_preview_set_video_sink (GESTimelinePipeline * self,
- GstElement * sink)
+ges_pipeline_preview_set_video_sink (GESPipeline * self, GstElement * sink)
{
g_return_if_fail (GES_IS_TIMELINE_PIPELINE (self));
};
/**
- * ges_timeline_pipeline_preview_get_audio_sink:
- * @self: a #GESTimelinePipeline
+ * ges_pipeline_preview_get_audio_sink:
+ * @self: a #GESPipeline
*
* Obtains a pointer to playsink's audio sink element that is used for
- * displaying audio when the #GESTimelinePipeline is in %TIMELINE_MODE_PREVIEW
+ * displaying audio when the #GESPipeline is in %TIMELINE_MODE_PREVIEW
*
* The caller is responsible for unreffing the returned element with
* #gst_object_unref.
* Returns: (transfer full): a pointer to the playsink audio sink #GstElement
*/
GstElement *
-ges_timeline_pipeline_preview_get_audio_sink (GESTimelinePipeline * self)
+ges_pipeline_preview_get_audio_sink (GESPipeline * self)
{
GstElement *sink = NULL;
};
/**
- * ges_timeline_pipeline_preview_set_audio_sink:
- * @self: a #GESTimelinePipeline in %GST_STATE_NULL
+ * ges_pipeline_preview_set_audio_sink:
+ * @self: a #GESPipeline in %GST_STATE_NULL
* @sink: (transfer none): a audio sink #GstElement
*
* Sets playsink's audio sink element that is used for displaying audio when
- * the #GESTimelinePipeline is in %TIMELINE_MODE_PREVIEW
+ * the #GESPipeline is in %TIMELINE_MODE_PREVIEW
*/
void
-ges_timeline_pipeline_preview_set_audio_sink (GESTimelinePipeline * self,
- GstElement * sink)
+ges_pipeline_preview_set_audio_sink (GESPipeline * self, GstElement * sink)
{
g_return_if_fail (GES_IS_TIMELINE_PIPELINE (self));
G_BEGIN_DECLS
-#define GES_TYPE_TIMELINE_PIPELINE ges_timeline_pipeline_get_type()
+#define GES_TYPE_TIMELINE_PIPELINE ges_pipeline_get_type()
#define GES_TIMELINE_PIPELINE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_PIPELINE, GESTimelinePipeline))
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_PIPELINE, GESPipeline))
#define GES_TIMELINE_PIPELINE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_PIPELINE, GESTimelinePipelineClass))
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_PIPELINE, GESPipelineClass))
#define GES_IS_TIMELINE_PIPELINE(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_PIPELINE))
(G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_PIPELINE))
#define GES_TIMELINE_PIPELINE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_PIPELINE, GESTimelinePipelineClass))
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_PIPELINE, GESPipelineClass))
-typedef struct _GESTimelinePipelinePrivate GESTimelinePipelinePrivate;
+typedef struct _GESPipelinePrivate GESPipelinePrivate;
/**
- * GESTimelinePipeline:
+ * GESPipeline:
*
*/
-struct _GESTimelinePipeline {
+struct _GESPipeline {
/*< private >*/
GstPipeline parent;
- GESTimelinePipelinePrivate *priv;
+ GESPipelinePrivate *priv;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
};
/**
- * GESTimelinePipelineClass:
+ * GESPipelineClass:
* @parent_class: parent class
*
*/
-struct _GESTimelinePipelineClass {
+struct _GESPipelineClass {
/*< private >*/
GstPipelineClass parent_class;
gpointer _ges_reserved[GES_PADDING];
};
-GType ges_timeline_pipeline_get_type (void);
+GType ges_pipeline_get_type (void);
-GESTimelinePipeline* ges_timeline_pipeline_new (void);
+GESPipeline* ges_pipeline_new (void);
-gboolean ges_timeline_pipeline_add_timeline (GESTimelinePipeline * pipeline,
+gboolean ges_pipeline_add_timeline (GESPipeline * pipeline,
GESTimeline * timeline);
-gboolean ges_timeline_pipeline_set_render_settings (GESTimelinePipeline *pipeline,
+gboolean ges_pipeline_set_render_settings (GESPipeline *pipeline,
const gchar * output_uri,
GstEncodingProfile *profile);
-gboolean ges_timeline_pipeline_set_mode (GESTimelinePipeline *pipeline,
+gboolean ges_pipeline_set_mode (GESPipeline *pipeline,
GESPipelineFlags mode);
GstSample *
-ges_timeline_pipeline_get_thumbnail(GESTimelinePipeline *self, GstCaps *caps);
+ges_pipeline_get_thumbnail(GESPipeline *self, GstCaps *caps);
GstSample *
-ges_timeline_pipeline_get_thumbnail_rgb24(GESTimelinePipeline *self,
+ges_pipeline_get_thumbnail_rgb24(GESPipeline *self,
gint width, gint height);
gboolean
-ges_timeline_pipeline_save_thumbnail(GESTimelinePipeline *self,
+ges_pipeline_save_thumbnail(GESPipeline *self,
int width, int height, const gchar *format, const gchar *location,
GError **error);
GstElement *
-ges_timeline_pipeline_preview_get_video_sink (GESTimelinePipeline * self);
+ges_pipeline_preview_get_video_sink (GESPipeline * self);
void
-ges_timeline_pipeline_preview_set_video_sink (GESTimelinePipeline * self,
+ges_pipeline_preview_set_video_sink (GESPipeline * self,
GstElement * sink);
GstElement *
-ges_timeline_pipeline_preview_get_audio_sink (GESTimelinePipeline * self);
+ges_pipeline_preview_get_audio_sink (GESPipeline * self);
void
-ges_timeline_pipeline_preview_set_audio_sink (GESTimelinePipeline * self,
+ges_pipeline_preview_set_audio_sink (GESPipeline * self,
GstElement * sink);
G_END_DECLS
typedef struct _GESOperationClip GESOperationClip;
typedef struct _GESOperationClipClass GESOperationClipClass;
-typedef struct _GESTimelinePipeline GESTimelinePipeline;
-typedef struct _GESTimelinePipelineClass GESTimelinePipelineClass;
+typedef struct _GESPipeline GESPipeline;
+typedef struct _GESPipelineClass GESPipelineClass;
typedef struct _GESSourceClip GESSourceClip;
typedef struct _GESSourceClipClass GESSourceClipClass;
#include <ges/ges-simple-layer.h>
#include <ges/ges-timeline-element.h>
#include <ges/ges-clip.h>
-#include <ges/ges-timeline-pipeline.h>
+#include <ges/ges-pipeline.h>
#include <ges/ges-source-clip.h>
#include <ges/ges-test-clip.h>
#include <ges/ges-title-clip.h>
GST_END_TEST;
-GST_START_TEST (test_ges_timeline_pipeline_change_state)
+GST_START_TEST (test_ges_pipeline_change_state)
{
GstState state;
GESAsset *asset;
GESLayer *layer;
GESTimeline *timeline;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
ges_init ();
tcase_add_test (tc_chain, test_ges_timeline_add_layer_first);
tcase_add_test (tc_chain, test_ges_timeline_remove_track);
tcase_add_test (tc_chain, test_ges_timeline_multiple_tracks);
- tcase_add_test (tc_chain, test_ges_timeline_pipeline_change_state);
+ tcase_add_test (tc_chain, test_ges_pipeline_change_state);
return s;
}
} SeekInfo;
static GMainLoop *loop;
-static GESTimelinePipeline *pipeline = NULL;
+static GESPipeline *pipeline = NULL;
static gint64 seeked_position = GST_CLOCK_TIME_NONE; /* last seeked position */
static gint64 seek_tol = 0.05 * GST_SECOND; /* tolerance seek interval */
static GList *seeks; /* list of seeks */
ret = FALSE;
ges_timeline_commit (timeline);
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
if (current_profile != PROFILE_NONE) {
render_uri = ges_test_file_name (profile_specs[current_profile][3]);
profile = create_audio_video_profile (current_profile);
- ges_timeline_pipeline_set_render_settings (pipeline, render_uri, profile);
- ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_RENDER);
+ ges_pipeline_set_render_settings (pipeline, render_uri, profile);
+ ges_pipeline_set_mode (pipeline, TIMELINE_MODE_RENDER);
gst_object_unref (profile);
}
gst_bus_add_watch (bus, my_bus_callback, &ret);
gst_object_unref (bus);
- ges_timeline_pipeline_add_timeline (pipeline, timeline);
+ ges_pipeline_add_timeline (pipeline, timeline);
gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
gst_element_get_state (GST_ELEMENT (pipeline), NULL, NULL, -1);
GESLayer *layer, *layer1;
GESTrack *track = GES_TRACK (ges_audio_track_new ());
GESTimeline *timeline = ges_timeline_new ();
- GESTimelinePipeline *pipeline = ges_test_create_pipeline (timeline);
+ GESPipeline *pipeline = ges_test_create_pipeline (timeline);
ges_timeline_add_track (timeline, track);
layer = ges_timeline_append_layer (timeline);
GESTrack *track = GES_TRACK (ges_video_track_new ());
GESTrack *track_audio = GES_TRACK (ges_audio_track_new ());
GESTimeline *timeline = ges_timeline_new ();
- GESTimelinePipeline *pipeline = ges_test_create_pipeline (timeline);
+ GESPipeline *pipeline = ges_test_create_pipeline (timeline);
ges_timeline_add_track (timeline, track);
ges_timeline_add_track (timeline, track_audio);
GstMessage *message;
gboolean carry_on = TRUE;
- GESTimelinePipeline *pipeline = ges_timeline_pipeline_new ();
+ GESPipeline *pipeline = ges_pipeline_new ();
- fail_unless (ges_timeline_pipeline_add_timeline (pipeline, timeline));
+ fail_unless (ges_pipeline_add_timeline (pipeline, timeline));
bus = gst_element_get_bus (GST_ELEMENT (pipeline));
fail_if (gst_element_set_state (GST_ELEMENT (pipeline),
return uri;
}
-GESTimelinePipeline *
+GESPipeline *
ges_test_create_pipeline (GESTimeline * timeline)
{
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
- pipeline = ges_timeline_pipeline_new ();
- fail_unless (ges_timeline_pipeline_add_timeline (pipeline, timeline));
+ pipeline = ges_pipeline_new ();
+ fail_unless (ges_pipeline_add_timeline (pipeline, timeline));
g_object_set (pipeline, "audio-sink", gst_element_factory_make ("fakesink",
"test-audiofakesink"), "video-sink",
#include <ges/ges.h>
#include <gst/check/gstcheck.h>
-GESTimelinePipeline * ges_test_create_pipeline (GESTimeline *timeline);
+GESPipeline * ges_test_create_pipeline (GESTimeline *timeline);
/* The first 2 GNL priorities are used for:
* 0- The Mixing element
* 1- The Gaps
static GstEncodingProfile *make_profile_from_info (GstDiscovererInfo * info);
-GESTimelinePipeline *pipeline = NULL;
+GESPipeline *pipeline = NULL;
gchar *output_uri = NULL;
guint assetsCount = 0;
guint assetsLoaded = 0;
if (assetsLoaded == assetsCount) {
GstDiscovererInfo *info = ges_uri_clip_asset_get_info (mfs);
GstEncodingProfile *profile = make_profile_from_info (info);
- ges_timeline_pipeline_set_render_settings (pipeline, output_uri, profile);
+ ges_pipeline_set_render_settings (pipeline, output_uri, profile);
/* We want the pipeline to render (without any preview) */
- if (!ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_SMART_RENDER)) {
+ if (!ges_pipeline_set_mode (pipeline, TIMELINE_MODE_SMART_RENDER)) {
g_main_loop_quit (mainloop);
return;
}
/* In order to view our timeline, let's grab a convenience pipeline to put
* our timeline in. */
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
/* Add the timeline to that pipeline */
- if (!ges_timeline_pipeline_add_timeline (pipeline, timeline))
+ if (!ges_pipeline_add_timeline (pipeline, timeline))
return -1;
mainloop = g_main_loop_new (NULL, FALSE);
{
/* back-end objects */
GESTimeline *timeline;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GESLayer *layer;
GESTrack *audio_track;
GESTrack *video_track;
{
GESTimeline *timeline;
GMainLoop *mainloop;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GstBus *bus;
GESFormatter *formatter;
printf ("we will launch this uri : %s\n", uri);
formatter = GES_FORMATTER (ges_pitivi_formatter_new ());
timeline = ges_timeline_new ();
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
mainloop = g_main_loop_new (NULL, FALSE);
- ges_timeline_pipeline_add_timeline (pipeline, timeline);
+ ges_pipeline_add_timeline (pipeline, timeline);
ges_formatter_load_from_uri (formatter, timeline, uri, NULL);
- ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW_VIDEO);
+ ges_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW_VIDEO);
gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
gst_bus_add_signal_watch (bus);
g_signal_connect (bus, "message", G_CALLBACK (project_bus_message_cb),
if (!(ret->timeline = ges_timeline_new ()))
goto fail;
- if (!(ret->pipeline = ges_timeline_pipeline_new ()))
+ if (!(ret->pipeline = ges_pipeline_new ()))
goto fail;
- if (!ges_timeline_pipeline_add_timeline (ret->pipeline, ret->timeline))
+ if (!ges_pipeline_add_timeline (ret->pipeline, ret->timeline))
goto fail;
if (!(create_ui (ret)))
GESClip *make_overlay (char *text, guint64 start, guint64 duration,
gint priority, guint32 color, gdouble xpos, gdouble ypos);
-GESTimelinePipeline *make_timeline (char *path, float duration, char *text,
+GESPipeline *make_timeline (char *path, float duration, char *text,
guint32 color, gdouble xpos, gdouble ypos);
#define DEFAULT_DURATION 5
return ret;
}
-GESTimelinePipeline *
+GESPipeline *
make_timeline (char *path, float duration, char *text, guint32 color,
gdouble xpos, gdouble ypos)
{
GESLayer *layer1;
GESClip *srca;
GESClip *overlay;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
guint64 aduration;
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
- ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW_VIDEO);
+ ges_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW_VIDEO);
timeline = ges_timeline_new ();
- ges_timeline_pipeline_add_timeline (pipeline, timeline);
+ ges_pipeline_add_timeline (pipeline, timeline);
trackv = GES_TRACK (ges_video_track_new ());
ges_timeline_add_track (timeline, trackv);
{
GError *err = NULL;
GOptionContext *ctx;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GMainLoop *mainloop;
gdouble duration = DEFAULT_DURATION;
char *path = NULL, *text;
{
GError *err = NULL;
GOptionContext *ctx;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GESTimeline *timeline;
GESTrack *tracka, *trackv;
GESLayer *layer1, *layer2;
ges_init ();
/* Create an Audio/Video pipeline with two layers */
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
timeline = ges_timeline_new ();
!ges_timeline_add_layer (timeline, layer2) ||
!ges_timeline_add_track (timeline, tracka) ||
!ges_timeline_add_track (timeline, trackv) ||
- !ges_timeline_pipeline_add_timeline (pipeline, timeline))
+ !ges_pipeline_add_timeline (pipeline, timeline))
return -1;
if (1) {
main (int argc, gchar ** argv)
{
GESAsset *src_asset;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GESTimeline *timeline;
GESClip *source;
GESLayer *layer;
/* In order to view our timeline, let's grab a convenience pipeline to put
* our timeline in. */
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
/* Add the timeline to that pipeline */
- if (!ges_timeline_pipeline_add_timeline (pipeline, timeline))
+ if (!ges_pipeline_add_timeline (pipeline, timeline))
return -1;
/* The following is standard usage of a GStreamer pipeline (note how you haven't
int
main (int argc, gchar ** argv)
{
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GESTimeline *timeline;
GESTrack *tracka;
GESLayer *layer;
/* In order to listen our timeline, let's grab a convenience pipeline to put
* our timeline in. */
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
/* Add the timeline to that pipeline */
- if (!ges_timeline_pipeline_add_timeline (pipeline, timeline))
+ if (!ges_pipeline_add_timeline (pipeline, timeline))
return -1;
/* The following is standard usage of a GStreamer pipeline (note how you
int
main (int argc, gchar ** argv)
{
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GESTimeline *timeline;
GESTrack *tracka;
GESLayer *layer;
/* In order to view our timeline, let's grab a convenience pipeline to put
* our timeline in. */
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
/* Add the timeline to that pipeline */
- if (!ges_timeline_pipeline_add_timeline (pipeline, timeline))
+ if (!ges_pipeline_add_timeline (pipeline, timeline))
return -1;
/* The following is standard usage of a GStreamer pipeline (note how you haven't
int
main (int argc, gchar ** argv)
{
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GESTimeline *timeline;
GESTrack *tracka;
GESLayer *layer;
/* In order to view our timeline, let's grab a convenience pipeline to put
* our timeline in. */
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
/* Add the timeline to that pipeline */
- if (!ges_timeline_pipeline_add_timeline (pipeline, timeline))
+ if (!ges_pipeline_add_timeline (pipeline, timeline))
return -1;
output_uri = gst_filename_to_uri (argv[1], NULL);
}
profile = make_encoding_profile (audio, container);
- if (!ges_timeline_pipeline_set_render_settings (pipeline, output_uri,
- profile))
+ if (!ges_pipeline_set_render_settings (pipeline, output_uri, profile))
return -1;
/* We want the pipeline to render (without any preview) */
- if (!ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_SMART_RENDER))
+ if (!ges_pipeline_set_mode (pipeline, TIMELINE_MODE_SMART_RENDER))
return -1;
GESClip *make_source (char *path, guint64 start, guint64 duration,
gint priority, gchar * text);
-GESTimelinePipeline *make_timeline (char *path, float duration, char *text);
+GESPipeline *make_timeline (char *path, float duration, char *text);
GESClip *
make_source (char *path, guint64 start, guint64 duration, gint priority,
return ret;
}
-GESTimelinePipeline *
+GESPipeline *
make_timeline (char *path, float duration, char *text)
{
GESTimeline *timeline;
GESTrack *trackv, *tracka;
GESLayer *layer1;
GESClip *srca;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
guint64 aduration;
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
- ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW_VIDEO);
+ ges_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW_VIDEO);
timeline = ges_timeline_new ();
- ges_timeline_pipeline_add_timeline (pipeline, timeline);
+ ges_pipeline_add_timeline (pipeline, timeline);
trackv = GES_TRACK (ges_video_track_new ());
ges_timeline_add_track (timeline, trackv);
{
GError *err = NULL;
GOptionContext *ctx;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GMainLoop *mainloop;
gdouble duration;
char *path, *text;
/* GLOBAL VARIABLE */
static guint repeat = 0;
-GESTimelinePipeline *pipeline = NULL;
+GESPipeline *pipeline = NULL;
static gboolean thumbnail_cb (gpointer pipeline);
{
GstSample *b = NULL;
GstCaps *caps;
- GESTimelinePipeline *p;
+ GESPipeline *p;
p = GES_TIMELINE_PIPELINE (user);
GST_INFO ("getting thumbnails");
/* check raw rgb use-case with scaling */
- b = ges_timeline_pipeline_get_thumbnail_rgb24 (p, 320, 240);
+ b = ges_pipeline_get_thumbnail_rgb24 (p, 320, 240);
g_assert (b);
gst_sample_unref (b);
/* check encoding use-case from caps */
b = NULL;
- b = ges_timeline_pipeline_get_thumbnail (p, caps);
+ b = ges_pipeline_get_thumbnail (p, caps);
g_assert (b);
gst_sample_unref (b);
- g_assert (ges_timeline_pipeline_save_thumbnail (p, -1, -1, (gchar *)
+ g_assert (ges_pipeline_save_thumbnail (p, -1, -1, (gchar *)
"image/jpeg", (gchar *) TEST_PATH, NULL));
g_assert (g_file_test (TEST_PATH, G_FILE_TEST_EXISTS));
g_unlink (TEST_PATH);
return FALSE;
}
-static GESTimelinePipeline *
+static GESPipeline *
create_timeline (void)
{
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GESLayer *layer;
GESTrack *tracka, *trackv;
GESTimeline *timeline;
ges_simple_layer_add_object ((GESSimpleLayer *) layer, GES_CLIP (src), 0);
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
- if (!ges_timeline_pipeline_add_timeline (pipeline, timeline))
+ if (!ges_pipeline_add_timeline (pipeline, timeline))
return NULL;
return pipeline;
if (!pipeline)
exit (-1);
- ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW);
+ ges_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW);
/* Play the pipeline */
mainloop = g_main_loop_new (NULL, FALSE);
gboolean print_transition_data (GESClip * tr);
-GESTimelinePipeline *make_timeline (gchar * nick, double tdur, gchar * patha,
+GESPipeline *make_timeline (gchar * nick, double tdur, gchar * patha,
gfloat adur, gdouble ainpoint, gchar * pathb, gfloat bdur,
gdouble binpoint);
return FALSE;
}
-GESTimelinePipeline *
+GESPipeline *
make_timeline (gchar * nick, gdouble tdur, gchar * patha, gfloat adur,
gdouble ainp, gchar * pathb, gfloat bdur, gdouble binp)
{
GESTrack *trackv, *tracka;
GESLayer *layer1;
GESClip *srca, *srcb;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
guint64 aduration, bduration, tduration, tstart, ainpoint, binpoint;
GESTransitionClip *tr = NULL;
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
- ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW_VIDEO);
+ ges_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW_VIDEO);
timeline = ges_timeline_new ();
- ges_timeline_pipeline_add_timeline (pipeline, timeline);
+ ges_pipeline_add_timeline (pipeline, timeline);
trackv = GES_TRACK (ges_video_track_new ());
ges_timeline_add_track (timeline, trackv);
{
GError *err = NULL;
GOptionContext *ctx;
- GESTimelinePipeline *pipeline;
+ GESPipeline *pipeline;
GMainLoop *mainloop;
gchar *type = (gchar *) "crossfade";
gchar *patha, *pathb;
/* GLOBAL VARIABLE */
static guint repeat = 0;
-static GESTimelinePipeline *pipeline = NULL;
+static GESPipeline *pipeline = NULL;
static gboolean seenerrors = FALSE;
static gchar *
thumbnail_cb (gpointer pipeline)
{
static int i = 0;
- GESTimelinePipeline *p = (GESTimelinePipeline *) pipeline;
+ GESPipeline *p = (GESPipeline *) pipeline;
gchar *filename;
gboolean res;
filename = g_strdup_printf ("thumbnail%d.jpg", i++);
- res = ges_timeline_pipeline_save_thumbnail (p, -1, -1,
+ res = ges_pipeline_save_thumbnail (p, -1, -1,
(gchar *) "image/jpeg", filename, NULL);
g_free (filename);
}
}
-static GESTimelinePipeline *
+static GESPipeline *
create_pipeline (gchar * load_path, gchar * save_path, int argc, char **argv,
gchar * audio, gchar * video)
{
- GESTimelinePipeline *pipeline = NULL;
+ GESPipeline *pipeline = NULL;
GESTimeline *timeline = NULL;
/* Timeline creation */
/* In order to view our timeline, let's grab a convenience pipeline to put
* our timeline in. */
- pipeline = ges_timeline_pipeline_new ();
+ pipeline = ges_pipeline_new ();
/* Add the timeline to that pipeline */
- if (!ges_timeline_pipeline_add_timeline (pipeline, timeline))
+ if (!ges_pipeline_add_timeline (pipeline, timeline))
goto failure;
return pipeline;
prof = make_encoding_profile (audio, video, video_restriction, audio_preset,
video_preset, container);
- if (!prof ||
- !ges_timeline_pipeline_set_render_settings (pipeline, outputuri, prof)
- || !ges_timeline_pipeline_set_mode (pipeline,
+ if (!prof || !ges_pipeline_set_render_settings (pipeline, outputuri, prof)
+ || !ges_pipeline_set_mode (pipeline,
smartrender ? TIMELINE_MODE_SMART_RENDER : TIMELINE_MODE_RENDER))
exit (1);
g_free (outputuri);
gst_encoding_profile_unref (prof);
} else {
- ges_timeline_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW);
+ ges_pipeline_set_mode (pipeline, TIMELINE_MODE_PREVIEW);
}
if (verbose) {