source: trunk/third/gstreamer/docs/manual/manual.xml @ 21005

Revision 21005, 7.5 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r21004, which included commits to RCS files with non-trunk default branches.
Line 
1<?xml version='1.0'?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4<!ENTITY % image-entities SYSTEM "image.entities">
5%image-entities;
6<!ENTITY % version-entities SYSTEM "version.entities">
7%version-entities;
8
9<!-- Part 1: Overview -->
10<!ENTITY INTRO SYSTEM "intro.xml">
11<!ENTITY MOTIVATION SYSTEM "motivation.xml">
12<!ENTITY GOALS SYSTEM "goals.xml">
13
14<!-- Part 2: Basic Concepts -->
15<!ENTITY ELEMENTS SYSTEM "elements.xml">
16<!ENTITY PADS SYSTEM "pads.xml">
17<!ENTITY LINKS SYSTEM "links.xml">
18<!ENTITY BINS SYSTEM "bins.xml">
19<!ENTITY BUFFERS SYSTEM "buffers.xml">
20<!ENTITY STATES SYSTEM "states.xml">
21<!ENTITY PLUGINS SYSTEM "plugins.xml">
22
23<!-- Part 3: Basic API -->
24<!ENTITY INIT-API SYSTEM "init-api.xml">
25<!ENTITY ELEMENTS-API SYSTEM "elements-api.xml">
26<!ENTITY PADS-API SYSTEM "pads-api.xml">
27<!ENTITY LINKS-API SYSTEM "links-api.xml">
28<!ENTITY BINS-API SYSTEM "bins-api.xml">
29<!ENTITY BUFFERS-API SYSTEM "buffers-api.xml">
30<!ENTITY STATES-API SYSTEM "states-api.xml">
31<!ENTITY PLUGINS-API SYSTEM "plugins-api.xml">
32
33<!-- Part 4: Building An Application -->
34<!ENTITY HELLOWORLD SYSTEM "helloworld.xml">
35<!ENTITY FACTORIES SYSTEM "factories.xml">
36<!ENTITY AUTOPLUGGING SYSTEM "autoplugging.xml">
37<!ENTITY HELLOWORLD2 SYSTEM "helloworld2.xml">
38
39<!-- Part 5: Advanced Concepts -->
40<!ENTITY THREADS SYSTEM "threads.xml">
41<!ENTITY QUEUES SYSTEM "queues.xml">
42<!ENTITY COTHREADS SYSTEM "cothreads.xml">
43<!ENTITY SCHEDULERS SYSTEM "schedulers.xml">
44<!ENTITY CLOCKS SYSTEM "clocks.xml">
45<!ENTITY DYNAMIC SYSTEM "dynamic.xml">
46<!ENTITY TYPEDETECTION SYSTEM "typedetection.xml">
47<!ENTITY UTILITY SYSTEM "utility.xml">
48<!ENTITY DPARAMS SYSTEM "dparams-app.xml">
49
50<!ENTITY XML SYSTEM "xml.xml">
51<!ENTITY DEBUGGING SYSTEM "debugging.xml">
52<!ENTITY PROGRAMS SYSTEM "programs.xml">
53<!ENTITY COMPONENTS SYSTEM "components.xml">
54<!ENTITY GNOME SYSTEM "gnome.xml">
55<!ENTITY WIN32 SYSTEM "win32.xml">
56<!ENTITY QUOTES SYSTEM "quotes.xml">
57]>
58
59<book id="index">
60  <bookinfo>
61   
62    <authorgroup>
63      <author>
64        <firstname>Wim</firstname>
65        <surname>Taymans</surname>
66        <authorblurb>
67          <para>
68            <email>wim.taymans@chello.be</email>
69          </para>
70        </authorblurb>
71      </author>
72      <author>
73        <firstname>Steve</firstname>
74        <surname>Baker</surname>
75        <authorblurb>
76          <para>
77            <email>stevebaker_org@yahoo.co.uk</email>
78          </para>
79        </authorblurb>
80      </author>
81      <author>
82        <firstname>Andy</firstname>
83        <surname>Wingo</surname>
84        <authorblurb>
85          <para>
86            <email>wingo@pobox.com</email>
87          </para>
88        </authorblurb>
89      </author>
90    </authorgroup>
91
92    <legalnotice id="misc-legalnotice">
93      <para>
94        This material may be distributed only subject to the terms and
95        conditions set forth in the Open Publication License, v1.0 or later (the
96        latest version is presently available at <ulink url="
97        http://www.opencontent.org/opl.shtml"
98        type="http">http://www.opencontent.org/opl.shtml</ulink> )
99      </para>
100    </legalnotice>
101
102    <title><application>GStreamer</application> Application Development Manual (&GST_VERSION;)</title>
103
104  </bookinfo>
105     
106<!-- ############# Overview - part ############### -->
107
108  <part id="part-overview"><title>Overview</title>
109    <partintro>
110      <para>
111        <xref linkend="part-overview"/> gives you an overview of
112        <application>GStreamer</application> design goals.
113
114        <xref linkend="part-basic-concepts"/> rapidly covers the basics of
115        <application>GStreamer</application> programming.
116
117        In <xref linkend="part-build-app"/> we will move on to the
118        examples. Since <application>GStreamer</application> uses <ulink
119        url="http://developer.gnome.org/arch/gtk/glib.html" type="http">GLib
120        2.0</ulink>, the reader is assumed to understand the basics of the
121        <ulink url="http://developer.gnome.org/doc/API/2.0/gobject/index.html"
122        type="http">GObject object model</ulink>.
123
124        For a gentle introduction to this system, you may wish to read the
125        <emphasis><ulink url="http://www.gtk.org/tutorial/" type="http">GTK+
126        Tutorial</ulink></emphasis>, Eric Harlow's book <emphasis>Developing
127        Linux Applications with GTK+ and GDK</emphasis> and the  <emphasis>
128        <ulink type="http"
129        url="http://www.le-hacker.org/papers/gobject/index.html">Glib Object
130        system</ulink></emphasis>.
131      </para>
132    </partintro>
133
134<!-- ############ Introduction - chapter ############# -->
135      &INTRO;
136
137      &MOTIVATION;
138
139      &GOALS;
140  </part>
141
142<!-- ############ Basic concepts - part ############# -->
143
144  <part id="part-basic-concepts"><title>Basic Concepts</title>
145    <partintro>
146      <para>
147        We will first describe the basics of
148        <application>GStreamer</application> programming by introducing the
149        different objects needed to create a media pipeline.
150      </para>
151      <para>
152        We will use a visual representation of these objects so that we can
153        visualize the more complex pipelines you will learn to build later on.
154      </para>
155    </partintro>
156
157      &ELEMENTS;
158
159      &PADS;
160
161      &PLUGINS;
162
163      &LINKS;
164
165      &BINS;
166
167      &BUFFERS;
168
169      &STATES;
170  </part>
171
172<!-- ############ Basic API - part ############# -->
173  <part id="part-basic-api"><title>Basic API</title>
174      &INIT-API;
175
176      &ELEMENTS-API;
177
178      &PADS-API;
179
180      &PLUGINS-API;
181
182      &LINKS-API;
183
184      &BINS-API;
185
186      &BUFFERS-API;
187
188      &STATES-API;
189
190 
191  </part>
192
193<!-- ############ Building Apps - part ############# -->
194
195  <part id="part-build-app"><title>Building an application</title>
196
197    <partintro>
198      <para>
199        With the basic concepts out of the way, you're ready to start building a
200        full-scale <application>GStreamer</application> application.
201      </para>
202      <para>
203        We assume the reader is familiar with GTK+/GNOME programming.
204      </para>
205    </partintro>
206
207      &HELLOWORLD;
208
209      &FACTORIES;
210
211  </part>
212
213<!-- ############ Advanced GStreamer - part ############# -->
214
215  <part id="part-advanced"><title>Advanced <application>GStreamer</application> concepts</title>
216
217    <partintro>
218      <para>
219        In this part we will cover the more advanced features of <application>GStreamer</application>.
220        With the basics you learned in the prevous part you should be
221        able to create a 'simple' pipeline. If you want more control over
222        the media types and the pipeline you should use the more
223        low-level features of <application>GStreamer</application>.
224      </para>     
225    </partintro>
226
227      &THREADS;
228
229      &QUEUES;
230
231      &COTHREADS;
232
233      &SCHEDULERS;
234
235      &CLOCKS;
236
237      &DYNAMIC;
238
239      &TYPEDETECTION;
240
241      &AUTOPLUGGING;
242
243      &HELLOWORLD2;
244     
245      &DPARAMS;
246  </part>
247
248<!-- ############ XML in GStreamer - part ############# -->
249
250  <part id="part-xml-gstreamer"><title>XML in <application>GStreamer</application></title>
251
252    <partintro>
253      <para>
254        <application>GStreamer</application> has the possibility to serialize the pipelines you
255        create using an XML format. You can load a previously created pipeline by loading the XML
256        file.
257      </para>
258    </partintro>
259
260      &XML;
261  </part>
262
263
264<!-- ############ Appendices - part ############# -->
265
266  <part id="part-appendices">
267    <title>Appendices</title>
268
269    <partintro>
270      <para>
271        <application>GStreamer</application> comes prepackaged with a few
272        programs, and some useful debugging options.
273      </para>
274    </partintro>
275
276      &DEBUGGING;
277
278      &PROGRAMS;
279
280      &COMPONENTS;
281
282      &GNOME;
283
284      &WIN32;
285
286      &QUOTES;
287
288  </part>
289</book>
290
291
292
293
294
295
Note: See TracBrowser for help on using the repository browser.