From 3b8ea491d7d03b7ded26f1d81a75d66ae345d326 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Thu, 20 May 2010 10:44:01 +0200 Subject: [PATCH] GES: Add a new utility file API : ges_timeline_new_audio_video() --- docs/libs/ges-sections.txt | 1 + ges/Makefile.am | 6 ++++-- ges/ges-utils.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++ ges/ges-utils.h | 34 ++++++++++++++++++++++++++++++ ges/ges.h | 2 ++ 5 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 ges/ges-utils.c create mode 100644 ges/ges-utils.h diff --git a/docs/libs/ges-sections.txt b/docs/libs/ges-sections.txt index 1835e60..63b447b 100644 --- a/docs/libs/ges-sections.txt +++ b/docs/libs/ges-sections.txt @@ -97,6 +97,7 @@ ges_track_filesource_get_type GESTimeline GESTimelineClass ges_timeline_new +ges_timeline_new_audio_video ges_timeline_add_layer ges_timeline_remove_layer ges_timeline_add_track diff --git a/ges/Makefile.am b/ges/Makefile.am index af72c9e..b6ff006 100644 --- a/ges/Makefile.am +++ b/ges/Makefile.am @@ -21,7 +21,8 @@ libges_@GST_MAJORMINOR@_la_SOURCES = \ ges-track.c \ ges-track-object.c \ ges-track-source.c \ - ges-track-filesource.c + ges-track-filesource.c \ + ges-utils.c libges_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/ges/ libges_@GST_MAJORMINOR@include_HEADERS = \ @@ -40,7 +41,8 @@ libges_@GST_MAJORMINOR@include_HEADERS = \ ges-track.h \ ges-track-object.h \ ges-track-source.h \ - ges-track-filesource.h + ges-track-filesource.h \ + ges-utils.h libges_@GST_MAJORMINOR@_la_CFLAGS = -I$(top_srcdir) $(GST_PROFILE_CFLAGS) $(GST_DISCOVERER_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) diff --git a/ges/ges-utils.c b/ges/ges-utils.c new file mode 100644 index 0000000..1971ef6 --- /dev/null +++ b/ges/ges-utils.c @@ -0,0 +1,52 @@ +/* GStreamer Editing Services + * Copyright (C) 2010 Edward Hervey + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/** + * SECTION:ges-utils + * @short_description: Convenience methods + * + */ + +#include "gesmarshal.h" +#include "ges-internal.h" +#include "ges-timeline.h" +#include "ges-track.h" +#include "ges-timeline-layer.h" +#include "ges.h" + +GESTimeline * +ges_timeline_new_audio_video (void) +{ + GESTrack *tracka, *trackv; + GESTimeline *timeline; + + /* This is our main GESTimeline */ + timeline = ges_timeline_new (); + + tracka = ges_track_audio_raw_new (); + trackv = ges_track_video_raw_new (); + + if (!ges_timeline_add_track (timeline, trackv) || + !ges_timeline_add_track (timeline, tracka)) { + g_object_unref (timeline); + timeline = NULL; + } + + return timeline; +} diff --git a/ges/ges-utils.h b/ges/ges-utils.h new file mode 100644 index 0000000..e74d6a3 --- /dev/null +++ b/ges/ges-utils.h @@ -0,0 +1,34 @@ +/* GStreamer Editing Services + * Copyright (C) 2010 Edward Hervey + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef _GES_UTILS +#define _GES_UTILS + +#include +#include +#include + +G_BEGIN_DECLS + +GESTimeline * ges_timeline_new_audio_video (); + +G_END_DECLS + +#endif /* _GES_UTILS */ + diff --git a/ges/ges.h b/ges/ges.h index 224eaad..a41ab6e 100644 --- a/ges/ges.h +++ b/ges/ges.h @@ -41,6 +41,8 @@ #include #include +#include + G_BEGIN_DECLS void ges_init (void); -- 2.7.4