diff options
author | Thomas Vander Stichele | 2005-09-06 09:05:50 -0500 |
---|---|---|
committer | Thomas Vander Stichele | 2005-09-06 09:05:50 -0500 |
commit | c320202b4175bc2c3f451d997bc4622c103ee678 (patch) | |
tree | 40c507edd9bc5e957d0bac4a650a63328b3cfa5a /README | |
parent | 012dfb8b33969b582f9132ac9f95402b3098ff43 (diff) | |
download | gst-plugins-bad0-10-c320202b4175bc2c3f451d997bc4622c103ee678.tar.gz gst-plugins-bad0-10-c320202b4175bc2c3f451d997bc4622c103ee678.tar.xz gst-plugins-bad0-10-c320202b4175bc2c3f451d997bc4622c103ee678.zip |
releasing 0.9.1
Original commit message from CVS:
releasing 0.9.1
Diffstat (limited to 'README')
-rw-r--r-- | README | 266 |
1 files changed, 187 insertions, 79 deletions
@@ -1,83 +1,182 @@ | |||
1 | WHAT IT IS | 1 | WHAT IT IS |
2 | ---------- | 2 | ---------- |
3 | This is gst-plugins, a set of plug-ins for GStreamer. | 3 | This is GStreamer Bad Plug-ins. |
4 | |||
5 | This package is in the 0.9.x series. This means that this is a | ||
6 | development series leading up to a stable 0.10.x series. | ||
7 | You have been warned. | ||
8 | |||
9 | GStreamer 0.9 development series - Hung by a Thread | ||
10 | --------------------------------------------------- | ||
11 | |||
12 | Starring | ||
13 | |||
14 | GSTREAMER | ||
15 | |||
16 | The core around which all other modules revolve. Base functionality and | ||
17 | libraries, some essential elements, documentation, and testing. | ||
18 | |||
19 | BASE | ||
20 | |||
21 | A well-groomed and well-maintained collection of GStreamer plug-ins and | ||
22 | elements, spanning the range of possible types of elements one would want | ||
23 | to write for GStreamer. | ||
24 | |||
25 | And introducing, for the first time ever, on the development screen ... | ||
26 | |||
27 | THE GOOD | ||
28 | |||
29 | --- "Such ingratitude. After all the times I've saved your life." | ||
30 | |||
31 | A collection of plug-ins you'd want to have right next to you on the | ||
32 | battlefield. Shooting sharp and making no mistakes, these plug-ins have it | ||
33 | all: good looks, good code, and good licensing. Documented and dressed up | ||
34 | in tests. If you're looking for a role model to base your own plug-in on, | ||
35 | here it is. | ||
36 | |||
37 | If you find a plot hole or a badly lip-synced line of code in them, | ||
38 | let us know - it is a matter of honour for us to ensure Blondie doesn't look | ||
39 | like he's been walking 100 miles through the desert without water. | ||
40 | |||
41 | THE UGLY | ||
42 | |||
43 | --- "When you have to shoot, shoot. Don't talk." | ||
44 | |||
45 | There are times when the world needs a color between black and white. | ||
46 | Quality code to match the good's, but two-timing, backstabbing and ready to | ||
47 | sell your freedom down the river. These plug-ins might have a patent noose | ||
48 | around their neck, or a lock-up license, or any other problem that makes you | ||
49 | think twice about shipping them. | ||
50 | |||
51 | We don't call them ugly because we like them less. Does a mother love her | ||
52 | son less because he's not as pretty as the other ones ? No - she commends | ||
53 | him on his great personality. These plug-ins are the life of the party. | ||
54 | And we'll still step in and set them straight if you report any unacceptable | ||
55 | behaviour - because there are two kinds of people in the world, my friend: | ||
56 | those with a rope around their neck and the people who do the cutting. | ||
57 | |||
58 | THE BAD | ||
59 | |||
60 | --- "That an accusation?" | ||
61 | |||
62 | No perfectly groomed moustache or any amount of fine clothing is going to | ||
63 | cover up the truth - these plug-ins are Bad with a capital B. | ||
64 | They look fine on the outside, and might even appear to get the job done, but | ||
65 | at the end of the day they're a black sheep. Without a golden-haired angel | ||
66 | to watch over them, they'll probably land in an unmarked grave at the final | ||
67 | showdown. | ||
68 | |||
69 | Don't bug us about their quality - exercise your Free Software rights, | ||
70 | patch up the offender and send us the patch on the fastest steed you can | ||
71 | steal from the Confederates. Because you see, in this world, there's two | ||
72 | kinds of people, my friend: those with loaded guns and those who dig. | ||
73 | You dig. | ||
74 | |||
75 | The Lowdown | ||
76 | ----------- | ||
77 | |||
78 | --- "I've never seen so many plug-ins wasted so badly." | ||
79 | |||
80 | GStreamer Plug-ins has grown so big that it's hard to separate the wheat from | ||
81 | the chaff. Also, distributors have brought up issues about the legal status | ||
82 | of some of the plug-ins we ship. To remedy this, we've divided the previous | ||
83 | set of available plug-ins into four modules: | ||
84 | |||
85 | - gst-plugins-base: a small and fixed set of plug-ins, covering a wide range | ||
86 | of possible types of elements; these are continuously kept up-to-date | ||
87 | with any core changes during the development series. | ||
88 | |||
89 | - We believe distributors can safely ship these plug-ins. | ||
90 | - People writing elements should base their code on these elements. | ||
91 | - These elements come with examples, documentation, and regression tests. | ||
92 | |||
93 | - gst-plugins-good: a set of plug-ins that we consider to have good quality | ||
94 | code, correct functionality, our preferred license (LGPL for the plug-in | ||
95 | code, LGPL or LGPL-compatible for the supporting library). | ||
96 | |||
97 | - We believe distributors can safely ship these plug-ins. | ||
98 | - People writing elements should base their code on these elements. | ||
99 | |||
100 | - gst-plugins-ugly: a set of plug-ins that have good quality and correct | ||
101 | functionality, but distributing them might pose problems. The license | ||
102 | on either the plug-ins or the supporting libraries might not be how we'd | ||
103 | like. The code might be widely known to present patent problems. | ||
104 | |||
105 | - Distributors should check if they want/can ship these plug-ins. | ||
106 | - People writing elements should base their code on these elements. | ||
107 | |||
108 | - gst-plugins-bad: a set of plug-ins that aren't up to par compared to the | ||
109 | rest. They might be close to being good quality, but they're missing | ||
110 | something - be it a good code review, some documentation, a set of tests, | ||
111 | a real live maintainer, or some actual wide use. | ||
112 | If the blanks are filled in they might be upgraded to become part of | ||
113 | either gst-plugins-good or gst-plugins-ugly, depending on the other factors. | ||
114 | |||
115 | - If the plug-ins break, you can't complain - instead, you can fix the | ||
116 | problem and send us a patch, or bribe someone into fixing them for you. | ||
117 | - New contributors can start here for things to work on. | ||
118 | |||
119 | INSTALLING FROM PACKAGES | ||
120 | ------------------------ | ||
121 | You should always prefer installing from packages first. GStreamer is | ||
122 | well-maintained for a number of distributions, including Fedora, Debian, | ||
123 | Ubuntu, Mandrake, Gentoo, ... | ||
124 | |||
125 | Only in cases where you: | ||
126 | - want to hack on GStreamer | ||
127 | - want to verify that a bug has been fixed | ||
128 | - do not have a sane distribution | ||
129 | should you choose to build from source tarballs or CVS. | ||
130 | |||
131 | Find more information about the various packages at | ||
132 | http://gstreamer.freedesktop.org/download/ | ||
133 | |||
134 | COMPILING FROM SOURCE TARBALLS | ||
135 | ------------------------------ | ||
136 | - again, make sure that you really need to install from source ! | ||
137 | If GStreamer is one of your first projects ever that you build from source, | ||
138 | consider taking on an easier project. | ||
4 | 139 | ||
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 | 140 | - check output of ./configure --help to see if any options apply to you |
9 | - configure the source tree: | 141 | - run |
10 | - if you installed GStreamer, then do: | 142 | ./configure |
11 | ./configure | ||
12 | If configure complains about missing GStreamer, you should try the | ||
13 | following command: | ||
14 | $export PKG_CONFIG_PATH=prefix/lib/pkgconfig | ||
15 | where prefix should be replaced by the prefix you used to configure | ||
16 | GStreamer. (Be mindful NOT to ADD a trailing / to that option !). | ||
17 | After that, rerun ./configure. If this doesn't fix it, you have other | ||
18 | issues ;) | ||
19 | |||
20 | - if you didn't install GStreamer, you can still compile the plug-ins. | ||
21 | Add the path to gstreamer-uninstalled.pc (which lives in the gstreamer | ||
22 | source tree) to PKG_CONFIG_PATH | ||
23 | or run configure --with-pkg-config-path=(path to gstreamer uninstalled) | ||
24 | |||
25 | - the output of configure will give you a list of plug-ins with external | ||
26 | dependencies (ie, depending on other libs, see below). By no means | ||
27 | should you try to get them all built on your first run. This is hard | ||
28 | enough as it is ;) Resist the urge to get the most features for now. | ||
29 | It doesn't list all of the non-depending plug-ins, which get built | ||
30 | regardless (unless you explicitly asked it not to). | ||
31 | |||
32 | - build the tree: | ||
33 | make | 143 | make |
34 | If any plug-in causes a problem at this stage, you should re-configure | 144 | |
35 | with --disable-(dependency) | 145 | to build GStreamer. |
36 | and doublecheck if configure reports this plug-in as being disabled. | 146 | - if you want to install it (not required), run |
37 | Then re-run make. | 147 | make install |
38 | 148 | - You should create a registry for things to work. | |
39 | - install: | 149 | If you ran make install in the previous step, run |
40 | - if you installed GStreamer, and want to install the plug-ins as well, run | 150 | gst-register |
41 | make install | 151 | as root. |
42 | and, as root, run | 152 | |
43 | gst-register | 153 | If you didn't install, run |
44 | - if you installed GStreamer, but don't want to install the plug-ins, run | 154 | tools/gst-register |
45 | gst-register --gst-plugin-path=. | 155 | as a normal user. |
46 | - if you didn't install GStreamer, then do | 156 | |
47 | path/to/gstreamer/tools/gst-register --gst-plugin-path=. | 157 | - try out a simple test: |
48 | (Replace path/to/gstreamer obviously) | 158 | gst-launch fakesrc num_buffers=5 ! fakesink |
49 | 159 | (If you didn't install GStreamer, again prefix gst-launch with tools/) | |
50 | - test: | 160 | |
51 | - run | 161 | If it outputs a bunch of messages from fakesrc and fakesink, everything is |
52 | gst-launch sinesrc ! fakesink | 162 | ok. |
53 | and prefix gst-launch with the path to gstreamer/tools if you didn't install | 163 | |
54 | GStreamer. | 164 | - After this, you're ready to install gst-plugins, which will provide the |
55 | If this doesn't give any errors, you can abort it. | 165 | functionality you're probably looking for by now, so go on and read |
56 | 166 | that README. | |
57 | - try replacing fakesink with your choice of | ||
58 | osssink/esdsink/artsdsink/alsasink/jacksink (depending on what output | ||
59 | method you have available) and see if you hear a C tone. | ||
60 | |||
61 | - After this, you should look into installing an application, like | ||
62 | gst-player, gst-editor or monkey-media with rhythmbox. | ||
63 | 167 | ||
64 | COMPILING FROM CVS | 168 | COMPILING FROM CVS |
65 | ------------------ | 169 | ------------------ |
66 | When building from CVS sources, you will need to run autogen.sh to generate | 170 | When building from CVS sources, you will need to run autogen.sh to generate |
67 | the build system files. | 171 | the build system files. |
68 | 172 | ||
69 | GStreamer is cutting-edge stuff. To be a CVS developer, you need | 173 | You will need a set of additional tools typical for building from CVS, |
70 | what used to be considered cutting-edge tools. | 174 | including: |
71 | 175 | - autoconf | |
72 | ATM, most of us have at least these versions : | 176 | - automake |
73 | 177 | - libtool | |
74 | * autoconf 2.52 (NOT 2.52d) | ||
75 | * automake 1.5 | ||
76 | * gettext 0.11.5 | ||
77 | * libtool 1.4 (NOT Gentoo's genetic failure 1.4.2) | ||
78 | * pkg-config 0.8.0 | ||
79 | 178 | ||
80 | autogen.sh will check for these versions and complain if you don't have | 179 | autogen.sh will check for recent enough versions and complain if you don't have |
81 | them. You can also specify specific versions of automake and autoconf with | 180 | them. You can also specify specific versions of automake and autoconf with |
82 | --with-automake and --with-autoconf | 181 | --with-automake and --with-autoconf |
83 | 182 | ||
@@ -87,8 +186,6 @@ autogen.sh can pass on arguments to configure - you just need to separate them | |||
87 | from autogen.sh with -- between the two. | 186 | from autogen.sh with -- between the two. |
88 | prefix has been added to autogen.sh but will be passed on to configure because | 187 | prefix has been added to autogen.sh but will be passed on to configure because |
89 | some build scripts like that. | 188 | some build scripts like that. |
90 | You will probably have to pass at least --with-pkg-config-path to autogen.sh | ||
91 | to point to the CVS version of GStreamer. | ||
92 | 189 | ||
93 | When you have done this once, you can use autoregen.sh to re-autogen with | 190 | When you have done this once, you can use autoregen.sh to re-autogen with |
94 | the last passed options as a handy shortcut. Use it. | 191 | the last passed options as a handy shortcut. Use it. |
@@ -96,14 +193,25 @@ the last passed options as a handy shortcut. Use it. | |||
96 | After the autogen.sh stage, you can follow the directions listed in | 193 | After the autogen.sh stage, you can follow the directions listed in |
97 | "COMPILING FROM SOURCE" | 194 | "COMPILING FROM SOURCE" |
98 | 195 | ||
196 | You can also run your whole cvs stack uninstalled. The script in | ||
197 | the gstreamer module /docs/faq/gst-uninstalled) is helpful in setting | ||
198 | up your environment for this. | ||
199 | |||
99 | PLUG-IN DEPENDENCIES AND LICENSES | 200 | PLUG-IN DEPENDENCIES AND LICENSES |
100 | --------------------------------- | 201 | --------------------------------- |
101 | GStreamer is developed under the terms of the LGPL (see LICENSE file for | 202 | GStreamer is developed under the terms of the LGPL (see LICENSE file for |
102 | details). Some of our plug-ins however rely on libraries which are available | 203 | details). Some of our plug-ins however rely on libraries which are available |
103 | under other licenses. This means that if you are using an application which | 204 | under other licenses. This means that if you are using an application which |
104 | has a non-GPL compatible license (for instance a closed-source application) | 205 | has a non-GPL compatible license (for instance a closed-source application) |
105 | with GStreamer, you have to make sure not to use GPL-linked plug-ins. | 206 | with GStreamer, you have to make sure not to use GPL-linked plug-ins. |
106 | When using GPL-linked plug-ins, GStreamer is for all practical reasons | 207 | When using GPL-linked plug-ins, GStreamer is for all practical reasons |
107 | under the GPL itself. | 208 | under the GPL itself. |
108 | 209 | ||
109 | There is a LICESENSE_readme file containing licensing information on the plugins | 210 | HISTORY |
211 | ------- | ||
212 | The fundamental design comes from the video pipeline at Oregon Graduate | ||
213 | Institute, as well as some ideas from DirectMedia. It's based on plug-ins that | ||
214 | will provide the various codec and other functionality. The interface | ||
215 | hopefully is generic enough for various companies (ahem, Apple) to release | ||
216 | binary codecs for Linux, until such time as they get a clue and release the | ||
217 | source. | ||