<page xmlns="http://projectmallard.org/1.0/"
      xmlns:its="http://www.w3.org/2005/11/its"
      type="topic"
      id="tech-gstreamer">

  <info>
    <link type="guide" xref="tech" group="gstreamer"/>
    <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>

    <credit type="author copyright">
      <name>Shaun McCance</name>
      <email its:translate="no">shaunm@gnome.org</email>
      <years>2011–2012</years>
    </credit>

    <include href="cc-by-sa-3-0.xml" xmlns="http://www.w3.org/2001/XInclude"/>

    <desc>Playing, mixing, and manipulating sound and video</desc>
  </info>

<title>GStreamer</title>

<p>GStreamer is a powerful multimedia library for playing, creating,
and manipulating sound, video, and other media.  You can use GStreamer
to provide sound and video playback, record input from multiple sources,
and edit multimedia content.  GStreamer supports encoding and decoding
numerous formats by default, and support for additional formats can be
added with plug-ins.</p>

<p>GStreamer provides a flexible architecture wherein media is
processed through a pipeline of elements.  Each element may apply
filters to the content, such as encoding or decoding, combining
multiple sources, or transforming the multimedia content.  This
architecture allows for an arbitrary arrangement of elements,
so that you can accomplish virtually any effect using GStreamer.
Furthermore, GStreamer is designed to have low overhead, so it
can be used in applications with high demands on latency.</p>

<p>While GStreamer provides a powerful API for manipulating
multimedia, it also provides convenient routines for simple
playback.  GStreamer can automatically construct a pipeline to
read and playback files in any supported format, allowing you
to use sound and video in your application easily.</p>

<p>The GStreamer architecture allows plugins to add encoders,
decoders, and all sorts of content filters.  Third-party developers
can provide GStreamer plugins which will be automatically available
to other applications using GStreamer.  Plugins can provide support
for other multimedia formats or provide additional functionality
and effects.</p>

<p>You should use GStreamer whenever you need to read or play
multimedia content in your application, or if your application
needs to manipulate sound or video.  Using GStreamer makes your
application development easy, and it provides you well-tested
elements for many of your needs.</p>

<list style="compact">
  <item><p><link href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html">The GStreamer Application Development Manual</link></p></item>
  <item><p><link href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/">The GStreamer 1.0 Core Reference Manual</link></p></item>
  <item><p><link href="http://gstreamer.freedesktop.org/documentation/">The GStreamer documentation page</link></p></item>
  <item><p><link href="http://gstreamer.freedesktop.org">The GStreamer web site</link></p></item>
</list>

</page>
