From 74c377d1fa69d06c825daee35e1f23a651775392 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Sun, 15 Nov 2009 18:23:33 +0100 Subject: [PATCH] docs: Improve docs some more --- configure.ac | 1 + docs/libs/Makefile.am | 4 +- docs/libs/architecture.xml | 153 +++++++-------- docs/libs/layer_track_overview.png | Bin 0 -> 27255 bytes docs/working-diagrams.svg | 289 +++++++++++++++++++++++++++++ 5 files changed, 362 insertions(+), 85 deletions(-) create mode 100644 docs/libs/layer_track_overview.png create mode 100644 docs/working-diagrams.svg diff --git a/configure.ac b/configure.ac index 3d8216812d..a385aae516 100644 --- a/configure.ac +++ b/configure.ac @@ -102,6 +102,7 @@ AC_PATH_PROG(VALGRIND_PATH, valgrind, no) AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno") dnl check for documentation tools +AG_GST_DOCBOOK_CHECK GTK_DOC_CHECK([1.3]) AS_PATH_PYTHON([2.1]) AG_GST_PLUGIN_DOCS([1.3],[2.1]) diff --git a/docs/libs/Makefile.am b/docs/libs/Makefile.am index fd060b2d02..8be4fee5e2 100644 --- a/docs/libs/Makefile.am +++ b/docs/libs/Makefile.am @@ -8,7 +8,7 @@ DOC_MODULE=$(MODULE) # for upload-doc.mak DOC=$(MODULE) -FORMATS=html +FORMATS=html ps pdf html: html-build.stamp include $(top_srcdir)/common/upload-doc.mak @@ -85,7 +85,7 @@ EXTRA_HFILES = \ HTML_IMAGES = # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). -content_files = architecture.xml +content_files = architecture.xml layer_track_overview.png # Other files to distribute. extra_files = diff --git a/docs/libs/architecture.xml b/docs/libs/architecture.xml index 41929ebbb6..0465b5571f 100644 --- a/docs/libs/architecture.xml +++ b/docs/libs/architecture.xml @@ -1,59 +1,56 @@ - + - %version-entities; - - ]> +"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + +]> Overview and architecture + 1 + GStreamer Editing Services + + + + + Goals of GStreamer Editing Services - - - The GStreamer multimedia framework and the accompanying GNonLin set - of plugins for non-linear editing offer all the building blocks for: - - - Decoding and encoding to a wide variety of formats, through - all the available GStreamer plugins. - - - Easily choosing segments of streams and arranging them through - time through the GNonLin set of plugins. - - - - - But all those building blocks only offer stream-level access, - which results in developers who want to write non-linear editors - to write a consequent amount of code to get to the level of - non-linear editing notions which are closer - and more meaningful for the end-user (and therefore the - application). - + The GStreamer multimedia framework and the accompanying GNonLin set + of plugins for non-linear editing offer all the building blocks for: + + + Decoding and encoding to a wide variety of formats, through + all the available GStreamer plugins. + - - The GStreamer Editing Services (hereafter GES) - aims to fill the gap between GStreamer/GNonLin and the - application developer by offering a series of classes to - simplify the creation of many kind of editing-related - applications. - + + Easily choosing segments of streams and arranging them through + time through the GNonLin set of plugins. + + + But all those building blocks only offer stream-level access, which + results in developers who want to write non-linear editors to write a + consequent amount of code to get to the level of non-linear + editing notions which are closer and more meaningful for the + end-user (and therefore the application). + + The GStreamer Editing Services (hereafter GES) aims + to fill the gap between GStreamer/GNonLin and the application developer by + offering a series of classes to simplify the creation of many kind of + editing-related applications. @@ -62,67 +59,57 @@ Timeline and TimelinePipeline - - The most top-level object encapsulating every other object is - the GESTimeline. It is the - central object for any editing project. - + The most top-level object encapsulating every other object is the + GESTimeline. It is the central object + for any editing project. - - The GESTimeline is - a GstElement. It can therefore be used in - any GStreamer pipeline like any other object. - + The GESTimeline is a + GstElement. It can therefore be used in any + GStreamer pipeline like any other object. - - The GESTimeline can contain two types of objects: - - - Layers - Corresponds to the user-visible - layout of non-overlapping objects. A minimalistic would - only have one layer. A more complex editing application - could use as many as needed. - - - Tracks - Corresponds to the output - stream formats. A typical GESTimeline would have a audio - track and a video track. A audio editor would only require - one single audio Track. - - - + The GESTimeline can contain two types of objects (seen in ): + + Layers - Corresponds to the user-visible layout of + non-overlapping objects. A minimalistic timeline would only have + one layer. A more complex editing application could use as many as + needed. + - - FIXME : INSERT DIAGRAM - + + Tracks - Corresponds to the output stream formats. A typical + GESTimeline would have a audio track and a video track. An audio + editor would only require one single audio Track. + + - - 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 - : GESTimelinePipeline. - +
+ Layers and Tracks + + + + + + +
+ + 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 : GESTimelinePipeline.
- Timeline layers - - The layers are the end-user visible part of GES. - + The layers are the end-user visible part of GES. Timeline Tracks - - The tracks are the GStreamer-level components of a - Timeline. They are a 1-to-1 relationship to the output - streams. - + The tracks are the GStreamer-level components of a Timeline. They + are a 1-to-1 relationship to the output streams.
-
diff --git a/docs/libs/layer_track_overview.png b/docs/libs/layer_track_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..8e2851735fdb1c255ba0a5077e3bf090b3a728ad GIT binary patch literal 27255 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 Y5mEH>JPwzcbRh($u6wumj_vdR1=;y5FaQ7m literal 0 HcmV?d00001 diff --git a/docs/working-diagrams.svg b/docs/working-diagrams.svg new file mode 100644 index 0000000000..e1f06ea909 --- /dev/null +++ b/docs/working-diagrams.svg @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + GESTimeline + + GESTimelinePipeline + + + Layer + + + Track + + + Track + Uservisible + Medias + + + +