GStreamer multimedia framework
Find a file
Christophe Fergeau c2e7ededbb Fix several misuse of gst_buffer_merge (it doesn't take ownership of any buffer), should fix some leaks. I hope I did...
Original commit message from CVS:
2004-03-06  Christophe Fergeau  <teuf@gnome.org>

* ext/faac/gstfaac.c: (gst_faac_chain):
* ext/flac/gstflactag.c: (gst_flac_tag_chain):
* ext/libpng/gstpngenc.c: (user_write_data):
* ext/mikmod/gstmikmod.c: (gst_mikmod_loop):
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_chain):
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_chain_subtitle):
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice):
Fix several misuse of gst_buffer_merge (it doesn't take ownership
of any buffer), should fix some leaks. I hope I didn't unref buffers
that shouldn't be...
2004-03-06 20:56:26 +00:00
common@4eb02711e4 gst/audioconvert/gstaudioconvert.c: convert channels correctly. convert correctly to unsigned. 2004-03-05 21:05:26 +00:00
examples examples/gstplay/player.c: Initialize variables to NULL. Prevents a segfault because the (uninitialized) variable is ... 2004-03-05 02:30:10 +00:00
ext signal serial 2004-03-06 17:31:59 +00:00
gst add some 'what's this element and what is it not' doc 2004-03-06 15:31:25 +00:00
gst-libs first pass at making this work again needs quite a lot of cleanups 2004-03-06 20:15:17 +00:00
m4 ignore me 2004-02-12 18:19:24 +00:00
pkgconfig ext/faad/gstfaad.c: Fix negotiation. 2004-03-06 00:42:20 +00:00
po fix headers fix signals to use - instead of _ 2004-03-04 21:39:15 +00:00
scripts added todo added simple automatic test suite for plugins using filesrc and fakesink 2001-12-21 09:49:24 +00:00
sys Fix typo in header of function definition 2004-03-06 14:56:00 +00:00
tests gst/mpegstream/gstrfc2250enc.c: Fix code that ignores return value of gst_buffer_merge(). (bug #114560) 2004-03-06 01:25:58 +00:00
testsuite gst/mpegstream/gstrfc2250enc.c: Fix code that ignores return value of gst_buffer_merge(). (bug #114560) 2004-03-06 01:25:58 +00:00
tools update gst-launch-ext to use a better plugin for colorspace and X win 2004-01-16 23:32:45 +00:00
.gitignore .cvsignore: Ignore generated file _stdint.h. 2004-02-03 09:01:19 +00:00
.gitmodules Added Goom and icecast to the spec, also fixed jpmeg mmx 2002-02-03 19:05:07 +00:00
AUTHORS AUTHORS: Added some names. Add yourself if you're still missing. 2004-03-01 21:00:17 +00:00
autogen.sh update for plugin changes to export symbols 2004-02-29 08:35:55 +00:00
ChangeLog Fix several misuse of gst_buffer_merge (it doesn't take ownership of any buffer), should fix some leaks. I hope I did... 2004-03-06 20:56:26 +00:00
configure.ac fix --with-plugins 2004-03-02 18:32:27 +00:00
COPYING building up speed 2001-12-17 18:37:01 +00:00
COPYING.LIB add COPYING.LIB 2003-09-14 21:43:48 +00:00
gst-plugins.spec.in fix the spec 2004-03-04 20:13:09 +00:00
INSTALL building up speed 2001-12-17 18:37:01 +00:00
LICENSE Add license files. LICENSE_readme moved here from core since it has info related to all the plugins. 2002-07-04 19:32:52 +00:00
LICENSE_readme mimetype patch from iain holmes, thanks dude 2002-09-13 13:02:56 +00:00
MAINTAINERS MAINTAINERS: Add 2004-03-01 20:55:30 +00:00
Makefile.am back to nano 2004-02-26 18:12:55 +00:00
NEWS back to nano 2004-02-26 18:12:55 +00:00
README tiny cosmetic changes 2004-02-16 18:17:16 +00:00
RELEASE release 2004-03-01 17:18:14 +00:00
REQUIREMENTS tiny cosmetic changes 2004-02-16 18:17:16 +00:00
TODO adding NAS plugin 2004-01-21 06:57:30 +00:00

WHAT IT IS
----------
This is gst-plugins, a set of plug-ins for GStreamer.

COMPILING FROM SOURCE
---------------------
- make sure you compiled and at least did a test-run of GStreamer (core)
- check output of ./configure --help to see if any options apply to you
- configure the source tree:
  - if you installed GStreamer, then do:
      ./configure
    If configure complains about missing GStreamer, you should try
      ./configure --with-pkg-config-path=prefix/lib/pkgconfig
    where prefix should be replaced by the prefix you used to configure
    GStreamer.  (Be mindful NOT to ADD a trailing / to that option !)
    If this doesn't fix it, you have other issues ;)

  - if you didn't install GStreamer, you can still compile the plug-ins.
    Add the path to gstreamer-uninstalled.pc (which lives in the gstreamer
    source tree) to PKG_CONFIG_PATH
    or run configure --with-pkg-config-path=(path to gstreamer uninstalled)
  
  - the output of configure will give you a list of plug-ins with external
    dependencies (ie, depending on other libs, see below).  By no means
    should you try to get them all built on your first run.  This is hard
    enough as it is ;)  Resist the urge to get the most features for now.
    It doesn't list all of the non-depending plug-ins, which get built
    regardless (unless you explicitly asked it not to).

- build the tree:
  make
  If any plug-in causes a problem at this stage, you should re-configure
  with --disable-(dependency)
  and doublecheck if configure reports this plug-in as being disabled.
  Then re-run make.

- install:
  - if you installed GStreamer, and want to install the plug-ins as well, run
      make install
    and, as root, run
      gst-register
  - if you installed GStreamer, but don't want to install the plug-ins, run
      gst-register --gst-plugin-path=.
  - if you didn't install GStreamer, then do
      path/to/gstreamer/tools/gst-register --gst-plugin-path=.
      (Replace path/to/gstreamer obviously)

- test:
  - run 
     gst-launch sinesrc ! fakesink
   and prefix gst-launch with the path to gstreamer/tools if you didn't install
   GStreamer.
   If this doesn't give any errors, you can abort it.  

  - try replacing fakesink with your choice of 
    osssink/esdsink/artsdsink/alsasink/jacksink (depending on what output
    method you have available) and see if you hear a C tone.

- After this, you should look into installing an application, like
  gst-player, gst-editor or monkey-media with rhythmbox.

COMPILING FROM CVS
------------------
When building from CVS sources, you will need to run autogen.sh to generate
the build system files.

GStreamer is cutting-edge stuff.  To be a CVS developer, you need
what used to be considered cutting-edge tools.

ATM, most of us have at least these versions :

* autoconf      2.52    (NOT 2.52d)
* automake      1.5     
* gettext	0.11.5
* libtool       1.4     (NOT Gentoo's genetic failure 1.4.2)
* pkg-config    0.8.0

autogen.sh will check for these 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.
You will probably have to pass at least --with-pkg-config-path to autogen.sh
to point to the CVS version of GStreamer.

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"

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 using an application which 
has a non-GPL compatible license (for instance a closed-source application) 
with GStreamer, you have to make sure not to use GPL-linked plug-ins.
When using GPL-linked plug-ins, GStreamer is for all practical reasons 
under the GPL itself. 

The plug-ins which use a GPL library are as follows:
cdparanoia      libcdparanoia   (http://www.xiph.org/paranoia/)
aasink		aalib		(http://aa-project.sourceforge.net/aalib/)
xmms		libxmms		(http://www.xmms.org)
decdvd		ac3dec,mpeg2dec	(http://linuxvideo.org/mpeg2dec/,http://linuxvideo.org/ac3dec/)a
mad		mad		(http://www.mars.org/home/rob/proj/mpeg/)

Plug-ins which use an LGPL library are as follows:
colorspace 	Hermes 		(http://www.clanlib.org/hermes/)
httpsrc		libghttp	(ftp.gnome.org/pub/GNOME/stable/sources/libghttp/)
alsasink	alsa		(http://alsa-project.org)
arts		aRts		(http://arts-project.org)
sdlsink		libsdl		(http://www.libsdl.org)
gnomevfssource  gnome-vfs       (ftp.gnome.org//pub/GNOME/stable/sources/gnome-vfs)
gnomevfssink    gnome-vfs
esdsink         libesd          (ftp.gnome.org/pub/GNOME/stable/sources/esound)
icastsend       libshout        (http://www.icecast.org)
lame            libmp3lame      (http://www.mp3dev.org/mp3/)
gst1394         libraw1394      (http://linux1394.sourceforge.net)
flac		libFLAC		(http://flac.sourceforge.net)
RTP		ortp		(http://www.linphone.org/ortp/)

Plug-ins which use a BSD covered library are as follows:
vorbisenc	libogg/libvorbis	(http://www.xiph.org/ogg/vorbis)
vorbisdec	libogg/libvorbis

Plug-ins based on libraries with other free licenses:
xvideosink	libXv		(MIT X11 / X Consortium license)
gsm		libgsm		(MIT license http://kbs.cs.tu-berlin.de/~jutta/toast.html)

Plug-ins using non-free libraries:
wincodec	win32ddl	(http://divx.euro.ru/)