mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
92c447c536
Original commit message from CVS: Reworked AC3 decoder. No seeking yet but at least we do not need ac3parse anymore. Reworked dvdsrc to read scrambled data (DeCSS not included). I have modified DeCSS a bit to work in GStreamer. Can I release the code or is there some lawyer that's going to sue me? MPEG2 SSE motion compensation. Tried to add PTS to the MPEG decoder but failed.
209 lines
5.6 KiB
Text
209 lines
5.6 KiB
Text
<!DOCTYPE book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.0//EN" "" [
|
|
<!ENTITY INTRO SYSTEM "intro.sgml">
|
|
<!ENTITY MOTIVATION SYSTEM "motivation.sgml">
|
|
<!ENTITY GOALS SYSTEM "goals.sgml">
|
|
|
|
<!ENTITY ELEMENTS SYSTEM "elements.sgml">
|
|
<!ENTITY CONNECTIONS SYSTEM "connections.sgml">
|
|
<!ENTITY BINS SYSTEM "bins.sgml">
|
|
<!ENTITY BUFFERS SYSTEM "buffers.sgml">
|
|
<!ENTITY STATES SYSTEM "states.sgml">
|
|
|
|
<!ENTITY HELLOWORLD SYSTEM "helloworld.sgml">
|
|
<!ENTITY FACTORIES SYSTEM "factories.sgml">
|
|
<!ENTITY HELLOWORLD2 SYSTEM "helloworld2.sgml">
|
|
|
|
<!ENTITY THREADS SYSTEM "threads.sgml">
|
|
<!ENTITY QUEUES SYSTEM "queues.sgml">
|
|
<!ENTITY COTHREADS SYSTEM "cothreads.sgml">
|
|
<!ENTITY DYNAMIC SYSTEM "dynamic.sgml">
|
|
<!ENTITY GHOSTPADS SYSTEM "ghostpads.sgml">
|
|
<!ENTITY TYPEDETECTION SYSTEM "typedetection.sgml">
|
|
<!ENTITY UTILITY SYSTEM "utility.sgml">
|
|
|
|
<!ENTITY XML SYSTEM "xml.sgml">
|
|
<!ENTITY PLUGINS SYSTEM "plugins.sgml">
|
|
<!ENTITY PROGRAMS SYSTEM "programs.sgml">
|
|
<!ENTITY COMPONENTS SYSTEM "components.sgml">
|
|
]>
|
|
|
|
<book id="GStreamer">
|
|
<bookinfo>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Wim</firstname>
|
|
<surname>Taymans</surname>
|
|
<authorblurb>
|
|
<para>
|
|
<email>wim.taymans@chello.be</email>
|
|
</para>
|
|
</authorblurb>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<legalnotice>
|
|
<para>
|
|
This material may be distributed only subject to the terms and
|
|
conditions set forth in the Open Publication License, v1.0 or later (the
|
|
latest version is presently available at <ulink url="
|
|
http://www.opencontent.org/openpub/"
|
|
type="http">http://www.opencontent.org/openpub/</ulink> )
|
|
</para>
|
|
</legalnotice>
|
|
|
|
<title><application>GStreamer</application> Application Development Manual</title>
|
|
|
|
</bookinfo>
|
|
|
|
<!-- ############# Overview - part ############### -->
|
|
|
|
<part id="overview"><title>Overview</title>
|
|
<partintro>
|
|
<para>
|
|
The first chapter of the book gives you an overview of <application>GStreamer</application>
|
|
design goals. Chapter 2 rapidly covers the basics of <application>GStreamer</application>
|
|
programming. In chapter 3 we will move on to the examples.
|
|
Since <application>GStreamer</application> adheres to the GTK+ programming model, the reader is
|
|
assumed to understand the basics of GTK+.
|
|
For a gentle introduction to GTK+, you may wish to read the <emphasis>GTK+
|
|
Tutorial</emphasis> or Eric Harlow's book <emphasis>Developing Linux
|
|
Applications with GTK+ and GDK</emphasis>.
|
|
</para>
|
|
</partintro>
|
|
|
|
<!-- ############ Introduction - chapter ############# -->
|
|
&INTRO;
|
|
|
|
&MOTIVATION;
|
|
|
|
&GOALS;
|
|
</part>
|
|
|
|
<!-- ############ Basic concepts - part ############# -->
|
|
|
|
<part id="basic-concepts"><title>Basic concepts</title>
|
|
<partintro>
|
|
<para>
|
|
We will first describe the basics of the <application>GStreamer</application> programming by
|
|
introducing the different objects needed to create a media pipeline.
|
|
</para>
|
|
<para>
|
|
We will use a visual representation of these objects so that we can
|
|
visualize the more complex pipelines you will learn to build later on.
|
|
</para>
|
|
</partintro>
|
|
|
|
<!-- ############ Basic concepts - chapter ############# -->
|
|
&ELEMENTS;
|
|
|
|
&CONNECTIONS;
|
|
|
|
&BINS;
|
|
|
|
&BUFFERS;
|
|
|
|
&STATES;
|
|
</part>
|
|
<!-- ############ Building Apps - part ############# -->
|
|
|
|
<part id="build-app"><title>Building an application</title>
|
|
|
|
<partintro>
|
|
<para>
|
|
With the basic concepts out of the way, you're ready to start building a
|
|
full-scale <application>GStreamer</application> application.
|
|
</para>
|
|
<para>
|
|
We assume the reader is familiar with GTK+/GNOME programming.
|
|
</para>
|
|
</partintro>
|
|
|
|
&HELLOWORLD;
|
|
|
|
&FACTORIES;
|
|
|
|
&HELLOWORLD2;
|
|
</part>
|
|
|
|
<!-- ############ Advanced GStreamer - part ############# -->
|
|
|
|
<part id="advanced"><title>Advanced <application>GStreamer</application> concepts</title>
|
|
|
|
<partintro>
|
|
<para>
|
|
In this part we will cover the more advanced features of <application>GStreamer</application>.
|
|
With the basics you learned in the prevous part you should be
|
|
able to create a 'simple' pipeline. If you want more control over
|
|
the media types and the pipeline you should use the more
|
|
low-level features of <application>GStreamer</application>.
|
|
</para>
|
|
</partintro>
|
|
|
|
&THREADS;
|
|
|
|
&QUEUES;
|
|
|
|
&COTHREADS;
|
|
|
|
&DYNAMIC;
|
|
|
|
&GHOSTPADS;
|
|
|
|
&TYPEDETECTION;
|
|
|
|
&UTILITY;
|
|
</part>
|
|
|
|
<!-- ############ XML in GStreamer - part ############# -->
|
|
|
|
<part id="xml-gstreamer"><title>XML in <application>GStreamer</application></title>
|
|
|
|
<partintro>
|
|
<para>
|
|
<application>GStreamer</application> has the posibility to externalize the pipelines
|
|
you create using an XML format. You can load a previously
|
|
created pipeline by loading the XML file.
|
|
</para>
|
|
</partintro>
|
|
|
|
&XML;
|
|
</part>
|
|
|
|
<!-- ############ XML in GStreamer - part ############# -->
|
|
|
|
<part id="plugins"><title>plugin development in <application>GStreamer</application></title>
|
|
|
|
<partintro>
|
|
<para>
|
|
In this part we will describe how you can create a new plugin
|
|
to be used in <application>GStreamer</application>.
|
|
</para>
|
|
</partintro>
|
|
|
|
&PLUGINS;
|
|
</part>
|
|
|
|
<!-- ############ Appendices - part ############# -->
|
|
|
|
<part id="appendices">
|
|
<title>Appendices</title>
|
|
|
|
<partintro>
|
|
<para>
|
|
<application>GStreamer</application> comes prepackaged with a few programs.
|
|
</para>
|
|
</partintro>
|
|
|
|
&PROGRAMS;
|
|
|
|
&COMPONENTS;
|
|
|
|
</part>
|
|
</book>
|
|
|
|
|
|
|
|
|
|
|
|
|