mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 03:00:35 +00:00
Rename GESTimelinePipeline to GESPipeline
rename ges_timeline_pipeline methods to ges_pipeline
This commit is contained in:
parent
b5795da61c
commit
9f0b0c26e3
29 changed files with 233 additions and 242 deletions
|
@ -15,7 +15,7 @@ LOCAL_SRC_FILES := \
|
|||
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 \
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
<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>
|
||||
|
|
|
@ -85,7 +85,7 @@ platform as well as Windows. It is released under the GNU Library General Public
|
|||
|
||||
<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>
|
||||
|
||||
|
|
|
@ -451,25 +451,25 @@ ges_clip_get_type
|
|||
|
||||
|
||||
<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
|
||||
|
|
|
@ -11,7 +11,7 @@ ges_layer_get_type
|
|||
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
|
||||
|
|
|
@ -17,7 +17,7 @@ libges_@GST_API_VERSION@_la_SOURCES = \
|
|||
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 \
|
||||
|
@ -80,7 +80,7 @@ libges_@GST_API_VERSION@include_HEADERS = \
|
|||
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 \
|
||||
|
|
|
@ -331,7 +331,7 @@ GType ges_video_test_pattern_get_type (void);
|
|||
* @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,
|
||||
|
|
|
@ -19,10 +19,10 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
|
@ -32,7 +32,7 @@
|
|||
#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
|
||||
|
@ -69,7 +69,7 @@ typedef struct
|
|||
} OutputChain;
|
||||
|
||||
|
||||
struct _GESTimelinePipelinePrivate
|
||||
struct _GESPipelinePrivate
|
||||
{
|
||||
GESTimeline *timeline;
|
||||
GstElement *playsink;
|
||||
|
@ -97,12 +97,12 @@ enum
|
|||
|
||||
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);
|
||||
|
||||
/****************************************************
|
||||
|
@ -111,7 +111,7 @@ static OutputChain *new_output_chain_for_track (GESTimelinePipeline * self,
|
|||
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));
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ _overlay_expose (GstVideoOverlay * overlay)
|
|||
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);
|
||||
|
@ -129,19 +129,19 @@ static void
|
|||
_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
|
||||
|
@ -155,15 +155,15 @@ video_overlay_init (gpointer g_iface, gpointer g_iface_data)
|
|||
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:
|
||||
|
@ -186,10 +186,10 @@ ges_timeline_pipeline_get_property (GObject * object, guint property_id,
|
|||
}
|
||||
|
||||
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:
|
||||
|
@ -201,11 +201,11 @@ ges_timeline_pipeline_set_property (GObject * object, guint property_id,
|
|||
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:
|
||||
|
@ -214,9 +214,9 @@ ges_timeline_pipeline_set_property (GObject * object, guint property_id,
|
|||
}
|
||||
|
||||
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))
|
||||
|
@ -239,23 +239,23 @@ ges_timeline_pipeline_dispose (GObject * object)
|
|||
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.
|
||||
*/
|
||||
|
@ -266,7 +266,7 @@ ges_timeline_pipeline_class_init (GESTimelinePipelineClass * klass)
|
|||
properties[PROP_AUDIO_SINK]);
|
||||
|
||||
/**
|
||||
* GESTimelinePipeline:video-sink:
|
||||
* GESPipeline:video-sink:
|
||||
*
|
||||
* Video sink for the preview.
|
||||
*/
|
||||
|
@ -277,44 +277,43 @@ ges_timeline_pipeline_class_init (GESTimelinePipelineClass * klass)
|
|||
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");
|
||||
|
@ -331,7 +330,7 @@ ges_timeline_pipeline_init (GESTimelinePipeline * self)
|
|||
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;
|
||||
|
||||
|
@ -348,14 +347,14 @@ no_encodebin:
|
|||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
|
@ -365,7 +364,7 @@ ges_timeline_pipeline_new (void)
|
|||
(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;
|
||||
|
||||
|
@ -434,10 +433,9 @@ ges_timeline_pipeline_update_caps (GESTimelinePipeline * self)
|
|||
}
|
||||
|
||||
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);
|
||||
|
@ -450,10 +448,10 @@ ges_timeline_pipeline_change_state (GstElement * 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;
|
||||
|
@ -465,7 +463,7 @@ ges_timeline_pipeline_change_state (GstElement * element,
|
|||
}
|
||||
|
||||
ret =
|
||||
GST_ELEMENT_CLASS (ges_timeline_pipeline_parent_class)->change_state
|
||||
GST_ELEMENT_CLASS (ges_pipeline_parent_class)->change_state
|
||||
(element, transition);
|
||||
|
||||
done:
|
||||
|
@ -473,7 +471,7 @@ done:
|
|||
}
|
||||
|
||||
static OutputChain *
|
||||
new_output_chain_for_track (GESTimelinePipeline * self, GESTrack * track)
|
||||
new_output_chain_for_track (GESPipeline * self, GESTrack * track)
|
||||
{
|
||||
OutputChain *chain;
|
||||
|
||||
|
@ -485,7 +483,7 @@ new_output_chain_for_track (GESTimelinePipeline * self, GESTrack * track)
|
|||
|
||||
/* 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;
|
||||
|
||||
|
@ -574,7 +572,7 @@ pad_blocked (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
|
|||
}
|
||||
|
||||
static void
|
||||
pad_added_cb (GstElement * timeline, GstPad * pad, GESTimelinePipeline * self)
|
||||
pad_added_cb (GstElement * timeline, GstPad * pad, GESPipeline * self)
|
||||
{
|
||||
OutputChain *chain;
|
||||
GESTrack *track;
|
||||
|
@ -737,7 +735,7 @@ error:
|
|||
}
|
||||
|
||||
static void
|
||||
pad_removed_cb (GstElement * timeline, GstPad * pad, GESTimelinePipeline * self)
|
||||
pad_removed_cb (GstElement * timeline, GstPad * pad, GESPipeline * self)
|
||||
{
|
||||
OutputChain *chain;
|
||||
GESTrack *track;
|
||||
|
@ -800,7 +798,7 @@ pad_removed_cb (GstElement * timeline, GstPad * pad, GESTimelinePipeline * self)
|
|||
}
|
||||
|
||||
static void
|
||||
no_more_pads_cb (GstElement * timeline, GESTimelinePipeline * self)
|
||||
no_more_pads_cb (GstElement * timeline, GESPipeline * self)
|
||||
{
|
||||
GList *tmp;
|
||||
|
||||
|
@ -821,8 +819,8 @@ no_more_pads_cb (GstElement * timeline, GESTimelinePipeline * self)
|
|||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
|
@ -833,8 +831,7 @@ no_more_pads_cb (GstElement * timeline, GESTimelinePipeline * self)
|
|||
* 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);
|
||||
|
@ -862,8 +859,8 @@ ges_timeline_pipeline_add_timeline (GESTimelinePipeline * pipeline,
|
|||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
|
@ -878,7 +875,7 @@ ges_timeline_pipeline_add_timeline (GESTimelinePipeline * pipeline,
|
|||
* 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;
|
||||
|
@ -915,12 +912,12 @@ ges_timeline_pipeline_set_render_settings (GESTimelinePipeline * pipeline,
|
|||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
|
@ -929,8 +926,7 @@ ges_timeline_pipeline_set_render_settings (GESTimelinePipeline * pipeline,
|
|||
* 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);
|
||||
|
||||
|
@ -1031,8 +1027,8 @@ ges_timeline_pipeline_set_mode (GESTimelinePipeline * pipeline,
|
|||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
|
@ -1046,7 +1042,7 @@ ges_timeline_pipeline_set_mode (GESTimelinePipeline * pipeline,
|
|||
*/
|
||||
|
||||
GstSample *
|
||||
ges_timeline_pipeline_get_thumbnail (GESTimelinePipeline * self, GstCaps * caps)
|
||||
ges_pipeline_get_thumbnail (GESPipeline * self, GstCaps * caps)
|
||||
{
|
||||
GstElement *sink;
|
||||
|
||||
|
@ -1063,8 +1059,8 @@ ges_timeline_pipeline_get_thumbnail (GESTimelinePipeline * self, GstCaps * caps)
|
|||
}
|
||||
|
||||
/**
|
||||
* 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,
|
||||
|
@ -1078,7 +1074,7 @@ ges_timeline_pipeline_get_thumbnail (GESTimelinePipeline * self, GstCaps * caps)
|
|||
* 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;
|
||||
|
@ -1097,7 +1093,7 @@ ges_timeline_pipeline_save_thumbnail (GESTimelinePipeline * self, int width, int
|
|||
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;
|
||||
}
|
||||
|
@ -1121,12 +1117,12 @@ ges_timeline_pipeline_save_thumbnail (GESTimelinePipeline * self, int width, int
|
|||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
|
@ -1139,8 +1135,7 @@ ges_timeline_pipeline_save_thumbnail (GESTimelinePipeline * self, int width, int
|
|||
*/
|
||||
|
||||
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;
|
||||
|
@ -1156,17 +1151,17 @@ ges_timeline_pipeline_get_thumbnail_rgb24 (GESTimelinePipeline * self,
|
|||
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.
|
||||
|
@ -1174,7 +1169,7 @@ ges_timeline_pipeline_get_thumbnail_rgb24 (GESTimelinePipeline * self,
|
|||
* 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;
|
||||
|
||||
|
@ -1186,16 +1181,15 @@ ges_timeline_pipeline_preview_get_video_sink (GESTimelinePipeline * self)
|
|||
};
|
||||
|
||||
/**
|
||||
* 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));
|
||||
|
||||
|
@ -1203,11 +1197,11 @@ ges_timeline_pipeline_preview_set_video_sink (GESTimelinePipeline * 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.
|
||||
|
@ -1215,7 +1209,7 @@ ges_timeline_pipeline_preview_set_video_sink (GESTimelinePipeline * self,
|
|||
* 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;
|
||||
|
||||
|
@ -1227,16 +1221,15 @@ ges_timeline_pipeline_preview_get_audio_sink (GESTimelinePipeline * self)
|
|||
};
|
||||
|
||||
/**
|
||||
* 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));
|
||||
|
|
@ -27,13 +27,13 @@
|
|||
|
||||
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))
|
||||
|
@ -42,32 +42,32 @@ G_BEGIN_DECLS
|
|||
(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;
|
||||
|
||||
|
@ -75,43 +75,43 @@ struct _GESTimelinePipelineClass {
|
|||
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
|
|
@ -53,8 +53,8 @@ typedef struct _GESClipClass GESClipClass;
|
|||
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;
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#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>
|
||||
|
|
|
@ -691,13 +691,13 @@ GST_START_TEST (test_ges_timeline_multiple_tracks)
|
|||
|
||||
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 ();
|
||||
|
||||
|
@ -739,7 +739,7 @@ ges_suite (void)
|
|||
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;
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ typedef struct SeekInfo
|
|||
} 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 */
|
||||
|
@ -295,13 +295,13 @@ check_timeline (GESTimeline * timeline)
|
|||
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);
|
||||
}
|
||||
|
@ -310,7 +310,7 @@ check_timeline (GESTimeline * timeline)
|
|||
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);
|
||||
|
|
|
@ -87,7 +87,7 @@ GST_START_TEST (simple_audio_mixed_with_pipeline)
|
|||
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);
|
||||
|
@ -147,7 +147,7 @@ GST_START_TEST (audio_video_mixed_with_pipeline)
|
|||
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);
|
||||
|
|
|
@ -613,9 +613,9 @@ project_loaded_now_play_cb (GESProject * project, GESTimeline * timeline)
|
|||
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),
|
||||
|
|
|
@ -91,13 +91,13 @@ ges_test_file_uri (const gchar * filename)
|
|||
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",
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#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
|
||||
|
|
|
@ -27,7 +27,7 @@ bus_message_cb (GstBus * bus, GstMessage * message, GMainLoop * mainloop);
|
|||
|
||||
static GstEncodingProfile *make_profile_from_info (GstDiscovererInfo * info);
|
||||
|
||||
GESTimelinePipeline *pipeline = NULL;
|
||||
GESPipeline *pipeline = NULL;
|
||||
gchar *output_uri = NULL;
|
||||
guint assetsCount = 0;
|
||||
guint assetsLoaded = 0;
|
||||
|
@ -54,9 +54,9 @@ asset_loaded_cb (GObject * source_object, GAsyncResult * res,
|
|||
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;
|
||||
}
|
||||
|
@ -100,10 +100,10 @@ main (int argc, char **argv)
|
|||
|
||||
/* 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);
|
||||
|
|
|
@ -37,7 +37,7 @@ typedef struct App
|
|||
{
|
||||
/* back-end objects */
|
||||
GESTimeline *timeline;
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GESLayer *layer;
|
||||
GESTrack *audio_track;
|
||||
GESTrack *video_track;
|
||||
|
@ -1154,7 +1154,7 @@ app_launch_project (App * app, gchar * uri)
|
|||
{
|
||||
GESTimeline *timeline;
|
||||
GMainLoop *mainloop;
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GstBus *bus;
|
||||
GESFormatter *formatter;
|
||||
|
||||
|
@ -1162,13 +1162,13 @@ app_launch_project (App * app, gchar * uri)
|
|||
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),
|
||||
|
@ -1296,10 +1296,10 @@ app_init (void)
|
|||
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)))
|
||||
|
|
|
@ -32,7 +32,7 @@ GESClip *make_source (char *path, guint64 start, guint64 duration,
|
|||
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
|
||||
|
@ -75,7 +75,7 @@ make_overlay (char *text, guint64 start, guint64 duration, gint priority,
|
|||
return ret;
|
||||
}
|
||||
|
||||
GESTimelinePipeline *
|
||||
GESPipeline *
|
||||
make_timeline (char *path, float duration, char *text, guint32 color,
|
||||
gdouble xpos, gdouble ypos)
|
||||
{
|
||||
|
@ -84,15 +84,15 @@ make_timeline (char *path, float duration, char *text, guint32 color,
|
|||
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);
|
||||
|
@ -120,7 +120,7 @@ main (int argc, char **argv)
|
|||
{
|
||||
GError *err = NULL;
|
||||
GOptionContext *ctx;
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GMainLoop *mainloop;
|
||||
gdouble duration = DEFAULT_DURATION;
|
||||
char *path = NULL, *text;
|
||||
|
|
|
@ -26,7 +26,7 @@ main (int argc, gchar ** argv)
|
|||
{
|
||||
GError *err = NULL;
|
||||
GOptionContext *ctx;
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GESTimeline *timeline;
|
||||
GESTrack *tracka, *trackv;
|
||||
GESLayer *layer1, *layer2;
|
||||
|
@ -69,7 +69,7 @@ main (int argc, gchar ** argv)
|
|||
ges_init ();
|
||||
|
||||
/* Create an Audio/Video pipeline with two layers */
|
||||
pipeline = ges_timeline_pipeline_new ();
|
||||
pipeline = ges_pipeline_new ();
|
||||
|
||||
timeline = ges_timeline_new ();
|
||||
|
||||
|
@ -84,7 +84,7 @@ main (int argc, gchar ** argv)
|
|||
!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) {
|
||||
|
|
|
@ -24,7 +24,7 @@ int
|
|||
main (int argc, gchar ** argv)
|
||||
{
|
||||
GESAsset *src_asset;
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GESTimeline *timeline;
|
||||
GESClip *source;
|
||||
GESLayer *layer;
|
||||
|
@ -64,10 +64,10 @@ main (int argc, gchar ** argv)
|
|||
|
||||
/* 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
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
int
|
||||
main (int argc, gchar ** argv)
|
||||
{
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GESTimeline *timeline;
|
||||
GESTrack *tracka;
|
||||
GESLayer *layer;
|
||||
|
@ -75,10 +75,10 @@ main (int argc, gchar ** argv)
|
|||
|
||||
/* 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
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
int
|
||||
main (int argc, gchar ** argv)
|
||||
{
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GESTimeline *timeline;
|
||||
GESTrack *tracka;
|
||||
GESLayer *layer;
|
||||
|
@ -75,10 +75,10 @@ main (int argc, gchar ** argv)
|
|||
|
||||
/* 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
|
||||
|
|
|
@ -54,7 +54,7 @@ make_encoding_profile (gchar * audio, gchar * container)
|
|||
int
|
||||
main (int argc, gchar ** argv)
|
||||
{
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GESTimeline *timeline;
|
||||
GESTrack *tracka;
|
||||
GESLayer *layer;
|
||||
|
@ -130,10 +130,10 @@ main (int argc, gchar ** argv)
|
|||
|
||||
/* 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;
|
||||
|
||||
|
||||
|
@ -145,12 +145,11 @@ main (int argc, gchar ** argv)
|
|||
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;
|
||||
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ typedef struct
|
|||
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,
|
||||
|
@ -50,22 +50,22 @@ 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);
|
||||
|
@ -91,7 +91,7 @@ main (int argc, char **argv)
|
|||
{
|
||||
GError *err = NULL;
|
||||
GOptionContext *ctx;
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GMainLoop *mainloop;
|
||||
gdouble duration;
|
||||
char *path, *text;
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
/* GLOBAL VARIABLE */
|
||||
static guint repeat = 0;
|
||||
GESTimelinePipeline *pipeline = NULL;
|
||||
GESPipeline *pipeline = NULL;
|
||||
|
||||
static gboolean thumbnail_cb (gpointer pipeline);
|
||||
|
||||
|
@ -42,7 +42,7 @@ thumbnail_cb (gpointer user)
|
|||
{
|
||||
GstSample *b = NULL;
|
||||
GstCaps *caps;
|
||||
GESTimelinePipeline *p;
|
||||
GESPipeline *p;
|
||||
|
||||
p = GES_TIMELINE_PIPELINE (user);
|
||||
|
||||
|
@ -50,17 +50,17 @@ thumbnail_cb (gpointer 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);
|
||||
|
@ -69,10 +69,10 @@ thumbnail_cb (gpointer user)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static GESTimelinePipeline *
|
||||
static GESPipeline *
|
||||
create_timeline (void)
|
||||
{
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GESLayer *layer;
|
||||
GESTrack *tracka, *trackv;
|
||||
GESTimeline *timeline;
|
||||
|
@ -99,9 +99,9 @@ create_timeline (void)
|
|||
|
||||
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;
|
||||
|
@ -164,7 +164,7 @@ main (int argc, gchar ** argv)
|
|||
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);
|
||||
|
|
|
@ -32,7 +32,7 @@ GESClip *make_source (gchar * path, guint64 start, guint64 inpoint,
|
|||
|
||||
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);
|
||||
|
||||
|
@ -83,7 +83,7 @@ print_transition_data (GESClip * tr)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
GESTimelinePipeline *
|
||||
GESPipeline *
|
||||
make_timeline (gchar * nick, gdouble tdur, gchar * patha, gfloat adur,
|
||||
gdouble ainp, gchar * pathb, gfloat bdur, gdouble binp)
|
||||
{
|
||||
|
@ -91,16 +91,16 @@ make_timeline (gchar * nick, gdouble tdur, gchar * patha, gfloat adur,
|
|||
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);
|
||||
|
@ -149,7 +149,7 @@ main (int argc, char **argv)
|
|||
{
|
||||
GError *err = NULL;
|
||||
GOptionContext *ctx;
|
||||
GESTimelinePipeline *pipeline;
|
||||
GESPipeline *pipeline;
|
||||
GMainLoop *mainloop;
|
||||
gchar *type = (gchar *) "crossfade";
|
||||
gchar *patha, *pathb;
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
/* GLOBAL VARIABLE */
|
||||
static guint repeat = 0;
|
||||
static GESTimelinePipeline *pipeline = NULL;
|
||||
static GESPipeline *pipeline = NULL;
|
||||
static gboolean seenerrors = FALSE;
|
||||
|
||||
static gchar *
|
||||
|
@ -49,13 +49,13 @@ static gboolean
|
|||
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);
|
||||
|
@ -254,11 +254,11 @@ build_failure:
|
|||
}
|
||||
}
|
||||
|
||||
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 */
|
||||
|
@ -299,10 +299,10 @@ create_pipeline (gchar * load_path, gchar * save_path, int argc, char **argv,
|
|||
|
||||
/* 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;
|
||||
|
@ -532,16 +532,15 @@ main (int argc, gchar ** argv)
|
|||
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) {
|
||||
|
|
Loading…
Reference in a new issue