| GStreamer @SERIES_VERSION@ | 
 |  | 
 | WHAT IT IS | 
 | ---------- | 
 |  | 
 | This is GStreamer, a framework for streaming media. | 
 |  | 
 | WHERE TO START | 
 | -------------- | 
 |  | 
 | We have a website at | 
 | http://gstreamer.freedesktop.org/ | 
 |  | 
 | You should start by going through our FAQ at | 
 | http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/ | 
 |  | 
 | There is more documentation; go to | 
 | http://gstreamer.freedesktop.org/documentation | 
 |  | 
 | You can subscribe to our mailing lists; see the website for details. | 
 |  | 
 | We track bugs in GNOME's bugzilla; see the website for details. | 
 |  | 
 | You can join us on IRC - #gstreamer on irc.freenode.org | 
 |  | 
 | GStreamer 1.0 series | 
 | -------------------- | 
 |  | 
 | Starring | 
 |  | 
 |   GSTREAMER | 
 |  | 
 | The core around which all other modules revolve.  Base functionality and | 
 | libraries, some essential elements, documentation, and testing. | 
 |  | 
 |   BASE | 
 |  | 
 | A well-groomed and well-maintained collection of GStreamer plug-ins and | 
 | elements, spanning the range of possible types of elements one would want | 
 | to write for GStreamer.   | 
 |  | 
 | And introducing, for the first time ever, on the development screen ... | 
 |  | 
 |   THE GOOD | 
 |  | 
 |  --- "Such ingratitude.  After all the times I've saved your life." | 
 |  | 
 | A collection of plug-ins you'd want to have right next to you on the | 
 | battlefield.  Shooting sharp and making no mistakes, these plug-ins have it | 
 | all: good looks, good code, and good licensing.  Documented and dressed up | 
 | in tests.  If you're looking for a role model to base your own plug-in on, | 
 | here it is. | 
 |  | 
 | If you find a plot hole or a badly lip-synced line of code in them, | 
 | let us know - it is a matter of honour for us to ensure Blondie doesn't look | 
 | like he's been walking 100 miles through the desert without water. | 
 |  | 
 |   THE UGLY | 
 |  | 
 |   --- "When you have to shoot, shoot.  Don't talk." | 
 |  | 
 | There are times when the world needs a color between black and white. | 
 | Quality code to match the good's, but two-timing, backstabbing and ready to | 
 | sell your freedom down the river.  These plug-ins might have a patent noose | 
 | around their neck, or a lock-up license, or any other problem that makes you | 
 | think twice about shipping them. | 
 |  | 
 | We don't call them ugly because we like them less.  Does a mother love her | 
 | son less because he's not as pretty as the other ones ? No  - she commends | 
 | him on his great personality.  These plug-ins are the life of the party. | 
 | And we'll still step in and set them straight if you report any unacceptable | 
 | behaviour - because there are two kinds of people in the world, my friend: | 
 | those with a rope around their neck and the people who do the cutting. | 
 |  | 
 |   THE BAD | 
 |  | 
 |   --- "That an accusation?" | 
 |  | 
 | No perfectly groomed moustache or any amount of fine clothing is going to | 
 | cover up the truth - these plug-ins are Bad with a capital B.  | 
 | They look fine on the outside, and might even appear to get the job done, but | 
 | at the end of the day they're a black sheep. Without a golden-haired angel | 
 | to watch over them, they'll probably land in an unmarked grave at the final | 
 | showdown. | 
 |  | 
 | Don't bug us about their quality - exercise your Free Software rights, | 
 | patch up the offender and send us the patch on the fastest steed you can | 
 | steal from the Confederates. Because you see, in this world, there's two | 
 | kinds of people, my friend: those with loaded guns and those who dig. | 
 | You dig. | 
 |  | 
 | The Lowdown | 
 | ----------- | 
 |  | 
 |   --- "I've never seen so many plug-ins wasted so badly." | 
 |  | 
 | GStreamer Plug-ins has grown so big that it's hard to separate the wheat from | 
 | the chaff.  Also, distributors have brought up issues about the legal status | 
 | of some of the plug-ins we ship.  To remedy this, we've divided the previous | 
 | set of available plug-ins into four modules: | 
 |  | 
 | - gst-plugins-base: a small and fixed set of plug-ins, covering a wide range | 
 |   of possible types of elements; these are continuously kept up-to-date | 
 |   with any core changes during the development series. | 
 |  | 
 |   - We believe distributors can safely ship these plug-ins. | 
 |   - People writing elements should base their code on these elements. | 
 |   - These elements come with examples, documentation, and regression tests. | 
 |  | 
 | - gst-plugins-good: a set of plug-ins that we consider to have good quality | 
 |   code, correct functionality, our preferred license (LGPL for the plug-in | 
 |   code, LGPL or LGPL-compatible for the supporting library). | 
 |  | 
 |   - We believe distributors can safely ship these plug-ins. | 
 |   - People writing elements should base their code on these elements. | 
 |   | 
 | - gst-plugins-ugly: a set of plug-ins that have good quality and correct | 
 |   functionality, but distributing them might pose problems.  The license | 
 |   on either the plug-ins or the supporting libraries might not be how we'd | 
 |   like. The code might be widely known to present patent problems. | 
 |  | 
 |   - Distributors should check if they want/can ship these plug-ins. | 
 |   - People writing elements should base their code on these elements. | 
 |  | 
 | - gst-plugins-bad: a set of plug-ins that aren't up to par compared to the | 
 |   rest.  They might be close to being good quality, but they're missing | 
 |   something - be it a good code review, some documentation, a set of tests, | 
 |   a real live maintainer, or some actual wide use. | 
 |   If the blanks are filled in they might be upgraded to become part of | 
 |   either gst-plugins-good or gst-plugins-ugly, depending on the other factors. | 
 |  | 
 |   - If the plug-ins break, you can't complain - instead, you can fix the | 
 |     problem and send us a patch, or bribe someone into fixing them for you. | 
 |   - New contributors can start here for things to work on. | 
 |  | 
 | PLATFORMS | 
 | --------- | 
 |  | 
 | - Linux is of course fully supported | 
 | - FreeBSD is reported to work; other BSDs should work too | 
 | - Solaris is reported to work; a specific sunaudiosink plugin has been written | 
 | - MacOSX works, binary 1.x packages can be built using the cerbero build tool | 
 | - Windows works; binary 1.x packages can be built using the cerbero build tool | 
 |   - MSys/MinGW builds | 
 |   - Microsoft Visual Studio builds are not yet available or supported | 
 | - Android works, binary 1.x packages can be built using the cerbero build tool | 
 | - iOS works | 
 |  | 
 | INSTALLING FROM PACKAGES | 
 | ------------------------ | 
 |  | 
 | You should always prefer installing from packages first.  GStreamer is | 
 | well-maintained for a number of distributions, including Fedora, Debian, | 
 | Ubuntu, Mandrake, Gentoo, ... | 
 |  | 
 | Only in cases where you: | 
 | - want to hack on GStreamer | 
 | - want to verify that a bug has been fixed | 
 | - do not have a sane distribution | 
 | should you choose to build from source tarballs or git. | 
 |  | 
 | Find more information about the various packages at | 
 | http://gstreamer.freedesktop.org/download/ | 
 |  | 
 | COMPILING FROM SOURCE TARBALLS | 
 | ------------------------------ | 
 |  | 
 | - again, make sure that you really need to install from source ! | 
 |   If GStreamer is one of your first projects ever that you build from source, | 
 |   consider taking on an easier project. | 
 |  | 
 | - check output of ./configure --help to see if any options apply to you | 
 | - run | 
 |   ./configure | 
 |   make | 
 |  | 
 |   to build GStreamer. | 
 | - if you want to install it (not required, but what you usually want to do), run | 
 |   make install | 
 |  | 
 | - try out a simple test: | 
 |   gst-launch -v fakesrc num_buffers=5 ! fakesink | 
 |   (If you didn't install GStreamer, prefix gst-launch with tools/) | 
 |  | 
 |   If it outputs a bunch of messages from fakesrc and fakesink, everything is | 
 |   ok. | 
 |  | 
 |   If it did not work, keep in mind that you might need to adjust the | 
 |   PATH and/or LD_LIBRARY_PATH environment variables to make the system | 
 |   find GStreamer in the prefix where you installed (by default that is /usr/local). | 
 |  | 
 | - After this, you're ready to install gst-plugins, which will provide the | 
 |   functionality you're probably looking for by now, so go on and read | 
 |   that README. | 
 |  | 
 | COMPILING FROM GIT | 
 | ------------------ | 
 |  | 
 | When building from git sources, you will need to run autogen.sh to generate | 
 | the build system files. | 
 |  | 
 | You will need a set of additional tools typical for building from git, | 
 | including: | 
 | - autoconf | 
 | - automake | 
 | - libtool | 
 |  | 
 | autogen.sh will check for recent enough versions and complain if you don't have | 
 | them.  You can also specify specific versions of automake and autoconf with | 
 | --with-automake and --with-autoconf | 
 |  | 
 | Check autogen.sh options by running autogen.sh --help | 
 |  | 
 | autogen.sh can pass on arguments to configure | 
 |  | 
 | When you have done this once, you can use autoregen.sh to re-autogen with | 
 | the last passed options as a handy shortcut.  Use it. | 
 |  | 
 | After the autogen.sh stage, you can follow the directions listed in | 
 | "COMPILING FROM SOURCE" | 
 |  | 
 | You can also run your whole git stack uninstalled in your home directory, | 
 | so that you can quickly test changes without affecting your system setup or | 
 | interfering with GStreamer installed from packages.  Many GStreamer developers | 
 | use an uninstalled setup for their work. | 
 |  | 
 | There is a 'create-uninstalled-setup.sh' script in | 
 |  | 
 |   http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/ | 
 |  | 
 | to easily create an uninstalled setup from scratch. | 
 |  | 
 |  | 
 | PLUG-IN DEPENDENCIES AND LICENSES | 
 | --------------------------------- | 
 |  | 
 | GStreamer is developed under the terms of the LGPL (see LICENSE file for | 
 | details). Some of our plug-ins however rely on libraries which are available | 
 | under other licenses. This means that if you are distributing an application | 
 | which has a non-GPL compatible license (for instance a closed-source | 
 | application) with GStreamer, you have to make sure not to distribute GPL-linked | 
 | plug-ins. | 
 |  | 
 | When using GPL-linked plug-ins, GStreamer is for all practical reasons | 
 | under the GPL itself. | 
 |  | 
 | HISTORY | 
 | ------- | 
 |  | 
 | The fundamental design comes from the video pipeline at Oregon Graduate | 
 | Institute, as well as some ideas from DirectMedia.  It's based on plug-ins that | 
 | will provide the various codec and other functionality.  The interface | 
 | hopefully is generic enough for various companies (ahem, Apple) to release | 
 | binary codecs for Linux, until such time as they get a clue and release the | 
 | source. |