README: Replace current README (containing the release notes from some 0.9.x version...
authorTim-Philipp Müller <tim@centricular.net>
Sat, 27 May 2006 11:27:59 +0000 (11:27 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 27 May 2006 11:27:59 +0000 (11:27 +0000)
Original commit message from CVS:
* README:
Replace current README (containing the release notes from
some 0.9.x version) with a proper README taken from the core.

ChangeLog
README

index ba0b8dfc925356e56e260f88964b35249b694d2d..dfb0aad5a1fb74203b98be3700399c2c2a08239f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-05-27  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * README:
+         Replace current README (containing the release notes from
+         some 0.9.x version) with a proper README taken from the core.
+
 2006-05-24  Wim Taymans  <wim@fluendo.com>
 
        * ext/dv/gstdvdemux.c: (gst_dvdemux_loop):
diff --git a/README b/README
index a55194b735b69c1a37d6a2527d64a6e97895cefa..908386dbcaf43e5a8457bd6b57bc85b8d308d8bb 100644 (file)
--- a/README
+++ b/README
@@ -1,19 +1,47 @@
+WHAT IT IS
+----------
 
-GStreamer: Release notes for GStreamer Good Plug-ins 0.9.6 "Everything's Not Lost"
-        
+This is GStreamer, a framework for streaming media.
 
-The GStreamer team is petrified to announce a new release
-in the 0.9.x development series of the
-GStreamer Good Plug-ins.
+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 0.10 series
+---------------------
+
+Starring
+
+  GSTREAMER
+
+The core around which all other modules revolve.  Base functionality and
+libraries, some essential elements, documentation, and testing.
 
-The 0.9.x series is a development series and not recommended for end users.
-It is not API or ABI compatible with the stable 0.8.x series.
-It is, however, parallel installable with the 0.8.x series.
+  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.  
 
-"Such ingratitude.  After all the times I've saved your life."
+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
@@ -21,81 +49,199 @@ 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
 
-This module contains 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.
+  --- "When you have to shoot, shoot.  Don't talk."
 
-Other modules containing plug-ins are:
+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.
 
-gst-plugins-base
-contains a basic set of well-supported plug-ins
-gst-plugins-ugly
-contains a set of well-supported plug-ins, but might pose problems for
-    distributors
-gst-plugins-bad
-contains a set of less supported plug-ins that haven't passed the
-    rigorous quality testing we expect
+  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.
 
-  
-Features of this release
-    
-      * Parallel installability with 0.8.x series
-      * Threadsafe design and API
-      * added speex RTP payloader/depayloader
-      * ported cutter
-      * fractional framerates
-      * more video filters now use BaseTransform
+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.
 
-Bugs fixed in this release
-    
+The Lowdown
+-----------
 
-Download
+  --- "I've never seen so many plug-ins wasted so badly."
 
-You can find source releases of gst-plugins-good in the download directory:
-http://gstreamer.freedesktop.org/src/gst-plugins-good/
+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:
 
-GStreamer Homepage
+- 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.
 
-More details can be found on the project's website:
-http://gstreamer.freedesktop.org/
+  - 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 BSD's should work too
+- Solaris is reported to work; a specific sunaudiosink plugin has been written
+- MacOSX is reported to work; specific audio and video sinks have been written
+- Windows support is experimental but improving.  Output sinks have been
+  written but are not yet included in the code. We support
+  - MSys/MingW builds
+  - Microsoft Visual Studio 6 builds (see win32/README.txt)
+
+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 CVS.
+
+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 CVS
+------------------
+
+When building from CVS 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 CVS,
+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 - you just need to separate them
+from autogen.sh with -- between the two.
+prefix has been added to autogen.sh but will be passed on to configure because
+some build scripts like that.
+
+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 cvs stack uninstalled.  The script in
+the gstreamer module /docs/faq/gst-uninstalled) is helpful in setting
+up your environment for this.
+
+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
+-------
 
-Support and Bugs
-
-We use GNOME's bugzilla for bug reports and feature requests:
-http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
-
-Developers
-
-CVS is hosted on cvs.freedesktop.org.
-All code is in CVS and can be checked out from there.
-Interested developers of the core library, plug-ins, and applications should
-subscribe to the gstreamer-devel list. If there is sufficient interest we
-will create more lists as necessary.
-
-        
-Applications
-  
-Contributors to this release
-    
-      * Andy Wingo
-      * Edgard Lima
-      * Edward Hervey
-      * Jan Schmidt
-      * Julien Moutte
-      * Michael Smith
-      * Thomas Vander Stichele
-      * Tim-Philipp Müller
-      * Vincent Torri
-      * Wim Taymans
+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.