<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.8 and 0.10?
              What's up with that?</para>
      </question>

      <answer>
         <para>
           GStreamer-0.8 and GStreamer-0.10 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.8 version you will need the 0.8 plugins and bindings
           (gst-plugins 0.8.x, gst-ffmpeg 0.8.x, gst-python 0.8.x etc.), while
           for the 0.10 version you will need the 0.10 plugins and bindings
           (ie. gst-plugins-base 0.10.x, gst-plugins-good 0.10.x,
           gst-plugins-ugly 0.10.x, gst-plugins-bad 0.10.x, gst-ffmpeg 0.10.x,
           gst-python 0.10.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
           0.10.6 and the current GStreamer core version is 0.10.13).
           GStreamer-0.10 will not see or use any of the GStreamer-0.8 plugins
           and vice versa.
         </para>
         <para>
           All GStreamer command line tools are suffixed with their main
           version, e.g. gst-launch-0.8 and gst-launch-0.10, or gst-inspect-0.8
           and gst-inspect-0.10.  The corresponding GStreamer command line
           tools without a suffix (e.g. gst-launch) will default to the highest
           major version.
         </para>
         <para>
           Applications will use either GStreamer-0.8 or GStreamer-0.10, since
           the 0.8 and 0.10 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-0.10.  GStreamer-0.8 is not developed
           any longer and has not been maintained for almost two years (you
           may still find it packaged for your disto though, but that's most
           likely for legacy applications).           
         </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>
