<sect1 id="chapter-getting">
  <title id="title-getting">Getting GStreamer</title>
  <qandaset defaultlabel="qanda">

    <qandaentry>
      <question id="getting-gstreamer">
        <para>How do I get GStreamer ?</para>
      </question>

      <answer>
        <para>
Generally speaking, you have three options, ranging from easy to hard :
<itemizedlist>
<listitem><para><link linkend="getting-gstreamer-packages">
distribution-specific packages</link></para></listitem>
<listitem><para><link linkend="getting-gstreamer-source">
source tarballs</link></para></listitem>
<listitem><para><link linkend="getting-gstreamer-packages">
git</link></para></listitem>
</itemizedlist>
        </para>
      </answer>
    </qandaentry>

   <qandaentry>
      <question id="gstreamer-versions-explained">
        <para>There seem to be different GStreamer versions, like 0.10 and 1.0?
              What's up with that?</para>
      </question>

      <answer>
         <para>
           GStreamer-0.10 and GStreamer-1.0 are the main version
           &apos;series&apos; currently in use.  For all practical purposes
           you should think of them as two completely different libraries
           which just happen to have a similar name.  They can be installed
           in parallel and are completely independent.
         </para>
         <para>
           For the 0.10 version you will need the 0.10 plugins and bindings
           (gst-plugins 0.10.x, gst-ffmpeg 0.10.x, gst-python 0.10.x etc.), while
           for the 1.0 version you will need the 1.0 plugins and bindings
           (ie. gst-plugins-base 1.0.x, gst-plugins-good 1.0.x,
           gst-plugins-ugly 1.0.x, gst-plugins-bad 1.0.x, gst-ffmpeg 1.0.x,
           gst-python 1.0.x).  The micro version for each main version does
           not have to match exactly, only the major versions needs to be the
           same (ie. it may be that the current gst-plugins-good version is
           1.0.6 and the current GStreamer core version is 1.0.13).
           GStreamer-1.0 will not see or use any of the GStreamer-0.10 plugins
           and vice versa.
         </para>
         <para>
           All GStreamer command line tools are suffixed with their main
           version, e.g. gst-launch-0.10 and gst-launch-1.0, or gst-inspect-0.10
           and gst-inspect-1.0.
         </para>
         <para>
           Applications will use either GStreamer-0.10 or GStreamer-1.0, since
           the 0.10 and 1.0 API/ABI are not compatible.
         </para>
         <para>
           Odd-numbered versions such as 0.9.x, 0.11.x, etc. are unstable
           developer releases that should generally not be used.
         </para>
      </answer>
    </qandaentry>

   <qandaentry>
      <question id="gstreamer-versions-which-one-to-get">
        <para>So which GStreamer version should I get?</para>
      </question>

      <answer>
         <para>
           You should download GStreamer-1.0.  GStreamer-0.10 is end-of-life.
         </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="getting-gstreamer-source">
        <para>How can I install GStreamer from source ?</para>
      </question>

      <answer>
         <para>
We provide tarballs of our releases on our 
<!-- <ulink url="http://sourceforge.net/project/showfiles.php?group_id=1936">
Sourceforge files page.</ulink>
         </para>
         <para>
We also put source tarballs on our -->own site, at
<ulink url="http://gstreamer.freedesktop.org/src/">
http://gstreamer.freedesktop.org/src/
</ulink>
        </para>
        <para>
When compiling from source, make sure you specify PKG_CONFIG_PATH correctly
when building against GStreamer.  For example, if you configured GStreamer
with the default prefix (which is /usr/local), then you need to
<programlisting>
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
</programlisting>
before building gst-plugins.
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="getting-gstreamer-packages">
        <para>Are there premade binaries available ?</para>
      </question>

      <answer>
        <para>
	Yes, we currently provide precompiled packages for Red Hat, Debian and Linux Mandrake. </para>

<para>We provide RPMS for Red Hat and Fedora Core through our <ulink url="http://gstreamer.freedesktop.org/pkg/">Apt for rpm page.</ulink> We usually support the last 2-3 releases of Red Hat. (RH9 and FC1)
        </para>
	<para>GStreamer is already in Debian experimental, so if you are a debian user you should be able to get the Debian packages from there.</para>
	<para>GStreamer is also in Mandrake Cooker so if you are using a recent release of Linux Mandrake you should be able to get GStreamer from there. To learn howto get packages from Mandrake cooker <ulink url="http://www.mandrakelinux.com/en/cookerdevel.php3">the Mandrake cooker page has more info</ulink>
	</para>
<para>For other RPM based distributions we recommend getting the source tarball and doing 'rpm -ta gstreamer-0.X.X' to create rpms. We keep our SPEC file constantly up to date so you should always be able to build GStreamer rpms from a tarball. The SPEC file is aimed at Red Hat however, so there might be some need for you to edit the Requirements list if your distribution name these packages differently.</para>
      </answer>
    </qandaentry>

 <qandaentry>
      <question id="getting-gstreamer3">
        <para>Why don't you provide premade binaries for distribution XY ?</para>
      </question>

      <answer>
        <para>
	GStreamer is run on a volunteer basis. The package that are provided are made by non-paid people who do this on their own time. The distributions we support with binaries are the distributions that we have people who have volunteered to make binaries for. If you are interested in maintaining GStreamer binaries for other distributions or Unices we would be happy to hear from you. Contact us through the GStreamer-devel mailing list.
        </para>
      </answer>
    </qandaentry>

<qandaentry>
      <question id="getting-gstreamer4">
        <para>I am having trouble compiling GStreamer on my LFS installation, why ?</para>
      </question>

      <answer>
        <para>
	If you are running LFS our basic opinion is that you should be knowledgeable enough to solve any build issues you get on your own. Being volunteered based we can't promise support to anyone of course, but are you using LFS consider yourself extra unsupported. We
neither can or want to know enough, about how your unique system is configured, to be able to help you. That said, if you come to the #gstreamer channel on irc.openprojects.net we might of course be able to give you some general hints and pointers.
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="getting-gstreamer-git">
        <para>How do I get GStreamer through git ?</para>
      </question>

      <answer>
        <para>
        see this page : <ulink url="http://gstreamer.freedesktop.org/dev/">http://gstreamer.freedesktop.org/dev/</ulink> for git access. (anonymous and developer)
        </para>
      </answer>
    </qandaentry>
	
  </qandaset>
</sect1>
