494912012e4b32a350c0cb35d0dcaeb09c38a2df
[platform/upstream/gst-plugins-good.git] / README
1 WHAT IT IS
2 ----------
3 This is gst-plugins, a set of plug-ins for GStreamer.
4
5 COMPILING FROM SOURCE
6 ---------------------
7 - make sure you compiled and at least did a test-run of GStreamer (core)
8 - check output of ./configure --help to see if any options apply to you
9 - configure the source tree:
10   - if you installed GStreamer, then do:
11       ./configure
12     If configure complains about missing GStreamer, you should try
13       ./configure --with-pkg-config-path=prefix/lib/pkgconfig
14     where prefix should be replaced by the prefix you used to configure
15     GStreamer.  (Be mindful NOT to ADD a trailing / to that option !)
16     If this doesn't fix it, you have other issues ;)
17
18   - if you didn't install GStreamer, you can still compile the plug-ins.
19     Add the path to gstreamer-uninstalled.pc (which lives in the gstreamer
20     source tree) to PKG_CONFIG_PATH
21     or run configure --with-pkg-config-path=(path to gstreamer uninstalled)
22   
23   - the output of configure will give you a list of plug-ins with external
24     dependencies (ie, depending on other libs, see below).  By no means
25     should you try to get them all built on your first run.  This is hard
26     enough as it is ;)  Resist the urge to get the most features for now.
27     It doesn't list all of the non-depending plug-ins, which get built
28     regardless (unless you explicitly asked it not to).
29
30 - build the tree:
31   make
32   If any plug-in causes a problem at this stage, you should re-configure
33   with --disable-(dependency)
34   and doublecheck if configure reports this plug-in as being disabled.
35   Then re-run make.
36
37 - install:
38   - if you installed GStreamer, and want to install the plug-ins as well, run
39       make install
40     and, as root, run
41       gst-register
42   - if you installed GStreamer, but don't want to install the plug-ins, run
43       gst-register --gst-plugin-path=.
44   - if you didn't install GStreamer, then do
45       path/to/gstreamer/tools/gst-register --gst-plugin-path=.
46       (Replace path/to/gstreamer obviously)
47
48 - test:
49   - run 
50      gst-launch sinesrc ! fakesink
51    and prefix gst-launch with the path to gstreamer/tools if you didn't install
52    GStreamer.
53    If this doesn't give any errors, you can abort it.  
54
55   - try replacing fakesink with your choice of 
56     osssink/esdsink/artsdsink/alsasink/jacksink (depending on what output
57     method you have available) and see if you hear a C tone.
58
59 - After this, you should look into installing an application, like
60   gst-player, gst-editor or monkey-media with rhythmbox.
61
62 COMPILING FROM CVS
63 ------------------
64 When building from CVS sources, you will need to run autogen.sh to generate
65 the build system files.
66
67 GStreamer is cutting-edge stuff.  To be a CVS developer, you need
68 what used to be considered cutting-edge tools.
69
70 ATM, most of us have at least these versions :
71
72 * autoconf      2.52    (NOT 2.52d)
73 * automake      1.5     
74 * gettext       0.11.5
75 * libtool       1.4     (NOT Gentoo's genetic failure 1.4.2)
76 * pkg-config    0.8.0
77
78 autogen.sh will check for these versions and complain if you don't have 
79 them.  You can also specify specific versions of automake and autoconf with
80 --with-automake and --with-autoconf
81
82 Check autogen.sh options by running autogen.sh --help
83
84 autogen.sh can pass on arguments to configure - you just need to separate them
85 from autogen.sh with -- between the two.
86 prefix has been added to autogen.sh but will be passed on to configure because
87 some build scripts like that.
88 You will probably have to pass at least --with-pkg-config-path to autogen.sh
89 to point to the CVS version of GStreamer.
90
91 When you have done this once, you can use autoregen.sh to re-autogen with
92 the last passed options as a handy shortcut.  Use it.
93
94 After the autogen.sh stage, you can follow the directions listed in
95 "COMPILING FROM SOURCE"
96
97
98 PLUG-IN DEPENDENCIES AND LICENSES
99 ---------------------------------
100 GStreamer is developed under the terms of the LGPL (see LICENSE file for 
101 details). Some of our plug-ins however rely on libraries which are available 
102 under other licenses. This means that if you are using an application which 
103 has a non-GPL compatible license (for instance a closed-source application) 
104 with GStreamer, you have to make sure not to use GPL-linked plug-ins.
105 When using GPL-linked plug-ins, GStreamer is for all practical reasons 
106 under the GPL itself. 
107
108 The plug-ins which use a GPL library are as follows:
109 cdparanoia      libcdparanoia   (http://www.xiph.org/paranoia/)
110 aasink          aalib           (http://aa-project.sourceforge.net/aalib/)
111 xmms            libxmms         (http://www.xmms.org)
112 decdvd          ac3dec,mpeg2dec (http://linuxvideo.org/mpeg2dec/,http://linuxvideo.org/ac3dec/)a
113 mad             mad             (http://www.mars.org/home/rob/proj/mpeg/)
114
115 Plug-ins which use an LGPL library are as follows:
116 colorspace      Hermes          (http://www.clanlib.org/hermes/)
117 httpsrc         libghttp        (ftp.gnome.org/pub/GNOME/stable/sources/libghttp/)
118 alsasink        alsa            (http://alsa-project.org)
119 arts            aRts            (http://arts-project.org)
120 sdlsink         libsdl          (http://www.libsdl.org)
121 gnomevfssource  gnome-vfs       (ftp.gnome.org//pub/GNOME/stable/sources/gnome-vfs)
122 gnomevfssink    gnome-vfs
123 esdsink         libesd          (ftp.gnome.org/pub/GNOME/stable/sources/esound)
124 icastsend       libshout        (http://www.icecast.org)
125 lame            libmp3lame      (http://www.mp3dev.org/mp3/)
126 gst1394         libraw1394      (http://linux1394.sourceforge.net)
127 flac            libFLAC         (http://flac.sourceforge.net)
128 RTP             ortp            (http://www.linphone.org/ortp/)
129
130 Plug-ins which use a BSD covered library are as follows:
131 vorbisenc       libogg/libvorbis        (http://www.xiph.org/ogg/vorbis)
132 vorbisdec       libogg/libvorbis
133
134 Plug-ins based on libraries with other free licenses:
135 xvideosink      libXv           (MIT X11 / X Consortium license)
136 gsm             libgsm          (MIT license http://kbs.cs.tu-berlin.de/~jutta/toast.html)
137
138 Plug-ins using non-free libraries:
139 wincodec        win32ddl        (http://divx.euro.ru/)
140