2006-02-02 11:24:19 +00:00
|
|
|
<!-- ############ sect1 ############# -->
|
|
|
|
|
|
|
|
<sect1 id="section-intro-who" xreflabel="Who Should Read This Manual?">
|
2008-06-24 19:56:51 +00:00
|
|
|
<title>Who should read this manual?</title>
|
2004-12-15 07:30:55 +00:00
|
|
|
<para>
|
2008-06-24 19:56:51 +00:00
|
|
|
This book is about &GStreamer; from an application developer's point of view; it
|
2004-12-15 17:32:49 +00:00
|
|
|
describes how to write a &GStreamer; application using the &GStreamer;
|
|
|
|
libraries and tools. For an explanation about writing plugins, we
|
|
|
|
suggest the <ulink type="http"
|
|
|
|
url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html">Plugin
|
|
|
|
Writers Guide</ulink>.
|
2006-02-02 11:24:19 +00:00
|
|
|
</para>
|
2008-06-27 07:03:05 +00:00
|
|
|
<para>
|
|
|
|
Also check out the other documentation available on the <ulink type="http"
|
|
|
|
url="http://gstreamer.freedesktop.org/documentation/">&GStreamer; web site</ulink>.
|
|
|
|
</para>
|
2006-02-02 11:24:19 +00:00
|
|
|
</sect1>
|
|
|
|
|
|
|
|
<!-- ############ sect1 ############# -->
|
|
|
|
|
|
|
|
<sect1 id="section-intro-reading" xreflabel="Preliminary Reading">
|
2008-06-24 19:56:51 +00:00
|
|
|
<title>Preliminary reading</title>
|
2006-02-02 11:24:19 +00:00
|
|
|
<para><!-- synchronize with PWG -->
|
2008-06-27 07:03:05 +00:00
|
|
|
In order to understand this manual, you need to have a basic
|
|
|
|
understanding of the <emphasis>C language</emphasis>.
|
2006-02-02 11:24:19 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2008-06-27 07:03:05 +00:00
|
|
|
Since &GStreamer; adheres to the GObject programming model, this guide
|
|
|
|
also assumes that you understand the basics of <ulink type="http"
|
|
|
|
url="http://library.gnome.org/devel/gobject/stable/">GObject</ulink> and <ulink type="http"
|
|
|
|
url="http://library.gnome.org/devel/glib/stable/">glib</ulink> programming.
|
|
|
|
|
|
|
|
Especially,
|
|
|
|
<itemizedlist>
|
2008-11-04 11:55:08 +00:00
|
|
|
<listitem><para>GObject instantiation</para></listitem>
|
2008-06-27 07:03:05 +00:00
|
|
|
<listitem><para>GObject properties (set/get)</para></listitem>
|
|
|
|
<listitem><para>GObject casting</para></listitem>
|
|
|
|
<listitem><para>GObject referecing/dereferencing</para></listitem>
|
|
|
|
<listitem><para>glib memory management</para></listitem>
|
|
|
|
<listitem><para>glib signals and callbacks</para></listitem>
|
|
|
|
<listitem><para>glib main loop</para></listitem>
|
|
|
|
</itemizedlist>
|
2006-02-02 11:24:19 +00:00
|
|
|
</para>
|
|
|
|
</sect1>
|
|
|
|
|
|
|
|
<!-- ############ sect1 ############# -->
|
|
|
|
|
|
|
|
<sect1 id="section-intro-structure">
|
2008-06-24 19:56:51 +00:00
|
|
|
<title>Structure of this manual</title>
|
2006-02-02 11:24:19 +00:00
|
|
|
<para>
|
|
|
|
To help you navigate through this guide, it is divided into several large
|
|
|
|
parts. Each part addresses a particular broad topic concerning &GStreamer;
|
|
|
|
appliction development. The parts of this guide are laid out in the following
|
|
|
|
order:
|
|
|
|
</para>
|
2004-12-15 07:30:55 +00:00
|
|
|
|
2004-12-15 17:32:49 +00:00
|
|
|
<para>
|
2008-06-27 07:03:05 +00:00
|
|
|
<xref linkend="part-introduction"/> gives you an overview of &GStreamer;,
|
|
|
|
it's design principles and foundations.
|
2004-12-15 17:32:49 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2008-06-27 07:03:05 +00:00
|
|
|
<xref linkend="part-building"/> covers the basics of &GStreamer;
|
|
|
|
application programming. At the end of this part, you should be
|
2004-12-15 17:32:49 +00:00
|
|
|
able to build your own audio player using &GStreamer;
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2008-06-24 19:56:51 +00:00
|
|
|
In <xref linkend="part-advanced"/>, we will move on to advanced
|
2004-12-15 17:32:49 +00:00
|
|
|
subjects which make &GStreamer; stand out of its competitors. We
|
|
|
|
will discuss application-pipeline interaction using dynamic parameters
|
|
|
|
and interfaces, we will discuss threading and threaded pipelines,
|
|
|
|
scheduling and clocks (and synchronization). Most of those topics are
|
|
|
|
not just there to introduce you to their API, but primarily to give
|
|
|
|
a deeper insight in solving application programming problems with
|
|
|
|
&GStreamer; and understanding their concepts.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Next, in <xref linkend="part-highlevel"/>, we will go into higher-level
|
|
|
|
programming APIs for &GStreamer;. You don't exactly need to know all
|
|
|
|
the details from the previous parts to understand this, but you will
|
|
|
|
need to understand basic &GStreamer; concepts nevertheless. We will,
|
|
|
|
amongst others, discuss XML, playbin and autopluggers.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2008-06-27 07:03:05 +00:00
|
|
|
Finally in <xref linkend="part-appendices"/>, you will find some random
|
2004-12-15 17:32:49 +00:00
|
|
|
information on integrating with GNOME, KDE, OS X or Windows, some
|
|
|
|
debugging help and general tips to improve and simplify &GStreamer;
|
|
|
|
programming.
|
|
|
|
</para>
|
2004-12-15 07:30:55 +00:00
|
|
|
</sect1>
|