Gstreamer for Debian
====================
This package contains the GStreamer plugin distribution.

More information can be found at http://gstreamer.net/

As of GStreamer plugins version 0.8.0 all packages are versioned and
parallel installable with other releases with other major.minor
versions.  For example, 0.8.x series is versioned as 0.8 and parallel
installable with both unversioned 0.6.x series and future 0.9.x and
beyond.  The version part is represented as VER below.

GStreamer plugins are split into a number of packages:

plugins without external dependencies:

   gstreamerVER-misc     many independent plugins

plugins with external dependencies:

   gstreamerVER-alsa
   gstreamerVER-gnomevfs
   gstreamerVER-x

libraries and library plugins:

   libgstreamer-plugins-baseVER-#     various libs
   libgstreamer-plugins-baseVER-dev   development files for above package

documentation:

   gstreamerVER-plugins-base-doc		html documentation

applications:

   gstreamerVER-plugins-base-apps      small script apps to using gst-launch


Notes
=====

ChangeLog
---------

The upstream ChangeLog is not included in all the plugin packages due to its
large size.  Please see upstream sources if you are interested in detailed
source changes.

External tools support
----------------------

Your favorite codec isn't wrapped as a plugin?  External programs can be
used to process streams.  Take a look at "pipefilter" element or try
something like this (untested):

  $ mkfifo fifo
  $ gst-launch myaudiosrc ! filesink location=fifo &
  $ cat fifo | my_encoder > output_file


David I. Lehn <dlehn@debian.org>  Tue, 23 Mar 2004 04:38:37 -0500

update:
Sebastien Bacher <seb128@debian.org>  Wed, 14 Dec 2005 17:00:21 +0100
