<chapter id="cha-plugins">
<title>Plugins</title>
<para>
- Extensions to GStreamer can be made using a plugin mechanism. This is
- used extensively in GStreamer even if only the standard package is
+ Extensions to &GStreamer; can be made using a plugin mechanism. This is
+ used extensively in &GStreamer; even if only the standard package is
being used: a few very basic functions reside in the core library, and
all others are in a standard set of plugins.
</para>
<para>
+ Plugins can extend GStreamer in several
+ </para>
+ <para>
Plugins are only loaded when needed: a plugin registry is used to
store the details of the plugins so that it is not neccessary to load
all plugins to determine which are needed.
Manual</emphasis> for more details.
</para>
<para>
- User extensions to GStreamer can be installed in the main plugin
+ User extensions to &GStreamer; can be installed in the main plugin
directory, and will immediately be available for use in applications.
<emphasis>gstreamer-register</emphasis> should be run to update
- the repository: but the system will work correctly even if it hasn't
- been - it will just load the correct plugin faster.
+ the repository: but the system should work correctly even if it hasn't
+ been - it will just take longer to load the correct plugin.
</para>
<para>
User specific plugin directories and registries will be available in future
- versions of GStreamer.
+ versions of &GStreamer;.
</para>
</chapter>
<chapter id="cha-elements">
<title>Elements</title>
<para>
- Elements are at the core of GStreamer. Without elements, GStreamer is just
- a bunch of pipe fittings with nothing to connect. A large number of
- elements (filters, sources and sinks) ship with GStreamer, but extra
+ Elements are at the core of &GStreamer;. Without elements, &GStreamer; is
+ just a bunch of pipe fittings with nothing to connect. A large number of
+ elements (filters, sources and sinks) ship with &GStreamer;, but extra
elements can also be written.
</para>
<para>
FilterFactory, where the only code that need be written is the actual
filter code. A more complex filter, or a source or sink, will need to be
written out fully for complete access to the features and performance
- possible with GStreamer.
+ possible with &GStreamer;.
</para>
<para>
The implementation of a new element will be contained in a plugin:
<!ENTITY STATEMANAGE SYSTEM ".sgml">
<!ENTITY CHECKLIST SYSTEM ".sgml">
+
+<!ENTITY GStreamer "<application>GStreamer</application>">
]>
<book id="index">
<part id="introduction"><title>Introduction</title>
<partintro>
<para>
- <application>GStreamer</application> is a framework for creating
+ &GStreamer; is a framework for creating
streaming media applications. It is extremely powerful and versatile,
and this versatility stems in part from its modularity, and its ability
to incorporate new modules seamlessly into its framework.
This document describes how to extend the capabilities of
- <application>GStreamer</application> by creating new plugins.
+ &GStreamer; by creating new plugins.
</para>
<para>
It first describes the concepts required and the ways in which
- <application>GStreamer</application> can be extended. It then goes
+ &GStreamer; can be extended. It then goes
through a worked example of how to write a simple filter (for data
processing), and how to test and debug it. More advanced concepts are
then introduced, with worked examples of each. Next, writing source
and sink elements (for performing input and output) is discussed.
Finally, checklists of things to be sure to do when extending
- <application>GStreamer</application> are presented.
+ &GStreamer; are presented.
</para>
</partintro>
<para>
This section introduces the basic concepts required to understand the
- issues involved in extending <application>GStreamer</application>
+ issues involved in extending &GStreamer;
</para>
</partintro>