docs: manual: fix formatting
[platform/upstream/gstreamer.git] / docs / manual / intro-preface.xml
1   <!-- ############ sect1 ############# -->
2
3   <sect1 id="section-intro-who" xreflabel="Who Should Read This Manual?">
4     <title>Who should read this manual?</title>
5     <para>
6       This book is about &GStreamer; from an application developer's point of view; it
7       describes how to write a &GStreamer; application using the &GStreamer;
8       libraries and tools. For an explanation about writing plugins, we
9       suggest the <ulink type="http"
10       url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html">Plugin
11       Writers Guide</ulink>.
12     </para>     
13     <para>
14       Also check out the other documentation available on the <ulink type="http"
15       url="http://gstreamer.freedesktop.org/documentation/">&GStreamer; web site</ulink>.
16     </para>
17   </sect1>
18   
19   <!-- ############ sect1 ############# -->
20
21   <sect1 id="section-intro-reading" xreflabel="Preliminary Reading">
22     <title>Preliminary reading</title>
23     <para><!-- synchronize with PWG -->
24       In order to understand this manual, you need to have a basic
25       understanding of the <emphasis>C language</emphasis>.
26     </para>
27     <para>
28       Since &GStreamer; adheres to the GObject programming model, this guide
29       also assumes that you understand the basics of <ulink type="http"
30       url="http://library.gnome.org/devel/gobject/stable/">GObject</ulink> and <ulink type="http"
31       url="http://library.gnome.org/devel/glib/stable/">glib</ulink> programming.
32
33       Especially,
34       <itemizedlist>
35         <listitem><para>GObject instantiation</para></listitem>
36         <listitem><para>GObject properties (set/get)</para></listitem>
37         <listitem><para>GObject casting</para></listitem>
38         <listitem><para>GObject referecing/dereferencing</para></listitem>
39         <listitem><para>glib memory management</para></listitem>
40         <listitem><para>glib signals and callbacks</para></listitem>
41         <listitem><para>glib main loop</para></listitem>
42       </itemizedlist>
43     </para>
44   </sect1>
45   
46   <!-- ############ sect1 ############# -->
47
48   <sect1 id="section-intro-structure">
49     <title>Structure of this manual</title>
50     <para>
51       To help you navigate through this guide, it is divided into several large
52       parts. Each part addresses a particular broad topic concerning &GStreamer;
53       appliction development. The parts of this guide are laid out in the following
54       order:
55     </para>
56
57     <para>
58       <xref linkend="part-introduction"/> gives you an overview of &GStreamer;,
59       it's design principles and foundations.
60     </para>
61
62     <para>
63       <xref linkend="part-building"/> covers the basics of &GStreamer;
64       application programming. At the end of this part, you should be
65       able to build your own audio player using &GStreamer;
66     </para>
67
68     <para>
69       In <xref linkend="part-advanced"/>, we will move on to advanced
70       subjects which make &GStreamer; stand out of its competitors. We
71       will discuss application-pipeline interaction using dynamic parameters
72       and interfaces, we will discuss threading and threaded pipelines,
73       scheduling and clocks (and synchronization). Most of those topics are
74       not just there to introduce you to their API, but primarily to give
75       a deeper insight in solving application programming problems with
76       &GStreamer; and understanding their concepts.
77     </para>
78
79     <para>
80       Next, in <xref linkend="part-highlevel"/>, we will go into higher-level
81       programming APIs for &GStreamer;. You don't exactly need to know all
82       the details from the previous parts to understand this, but you will
83       need to understand basic &GStreamer; concepts nevertheless. We will,
84       amongst others, discuss XML, playbin and autopluggers.
85     </para>
86
87     <para>
88       Finally in <xref linkend="part-appendices"/>, you will find some random
89       information on integrating with GNOME, KDE, OS X or Windows, some
90       debugging help and general tips to improve and simplify &GStreamer;
91       programming.
92     </para>
93   </sect1>