mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-12 11:26:39 +00:00
40 lines
1.7 KiB
XML
40 lines
1.7 KiB
XML
|
|
||
|
<!-- ############ chapter ############# -->
|
||
|
|
||
|
<chapter id="cha-basics-elements">
|
||
|
<title>Elements, Plugins, and Filters</title>
|
||
|
<para>
|
||
|
In the &GStreamer; framework, a <emphasis>plugin</emphasis> is a specific
|
||
|
sort of code module that gets loaded when a program requests the
|
||
|
functionality that the plugin provides. A plugin is essentially a shared
|
||
|
code library.
|
||
|
<emphasis>Filters</emphasis> are an
|
||
|
important subset of plugins that process data, as opposed to producing or
|
||
|
consuming data. (Producers and consumers of data are called
|
||
|
<emphasis>source</emphasis> and <emphasis>sink</emphasis> plugins,
|
||
|
respectively.)
|
||
|
</para>
|
||
|
<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 can also be written. The purpose of this guide is to help you
|
||
|
learn to create new elements.
|
||
|
</para>
|
||
|
<para>
|
||
|
An element may be constructed in several different ways, but all must
|
||
|
conform to the same basic rules. This guide presents one basic way to build
|
||
|
a filter elementA simple filter may be built with the
|
||
|
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;.
|
||
|
</para>
|
||
|
<para>
|
||
|
The implementation of a new element will be contained in a plugin: a single
|
||
|
plugin may contain the implementation of several elements, or just a single
|
||
|
one.
|
||
|
</para>
|
||
|
</chapter>
|
||
|
|