Running CVS GStreamer
At the moment, we need to run GStreamer from CVS while some bugs are getting fixed, and I figured we should have some instructions on how to do this. This guide assumes you are already running a distribution with GStreamer 0.10 installed, and I will show you how to parallel install them - as in, how to run them side by side.
You first need to download the CVS code for gstreamer. First create a directory to put the code in - I use /sources/gstreamer. Before you download this code, create a directory inside this directory called 'head'. To do so, execute this at the command line:
Now go into that directory and use the following command to download the main gstreamer core module:
cvs -d:pserver:firstname.lastname@example.org:/cvs/gstreamer co gstreamer
You also need some other modules. Just run the above command and replace the 'gstreamer' at the end with the following, one by one:
NOTE that you can get all of them in one command with:
cvs -d:pserver:email@example.com:/cvs/gstreamer co gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-python gnonlin
Inside the gstreamer module is a special script we can use to run your existing gstreamer and this new fire-in-your-pants gstreamer side by side. The script sets several environment variables to point at the CVS gstreamer.
First, make sure you have a 'bin' directory in your home directory:
Now copy the script to this bin directory and rename it to gst-head:
cp /sources/gstreamer/head/gstreamer/docs/faq/gst-uninstalled ~/bin/gst-head
(The reason we rename is that the bit after the dash (head) refers to the sub-directory in /sources/gstreamer (in our case, head). Now edit this file and look for the MYGST line. Change it to this:
Each time you want to use your CVS gstreamer, you will need to run this script. Run it like this:
Install the following packages (Ubuntu):
- python-gtk2-dev (installs load of other stuff too)
The easiest way to do this on Ubuntu is
sudo apt-get build-dep gstreamer0.10 gstreamer0.10-alsa sudo apt-get install automake1.7 python-dev python-gtk2-dev bison flex libspeex-dev libflac-dev libtag1-dev libhal-dev gettext check
The other way is to:
sudo apt-get install build-essential automake1.7 libtool libglib2.0-dev libxml2 liboil0.3-dev python-dev python-gtk2-dev bison flex libxml2-dev libgnomevfs2-dev libasound2-dev libspeex-dev libflac-dev libtag1-dev libhal-dev libogg-dev libvorbis-dev libid3tag0-dev libmad0-dev gettext check
Now go to the 'gstreamer' module and run this:
This will check you have the right bits installed. If it fails, it will tell you what is not installed. If so, install the right things and re-run the script. When it succeeds, run make:
DO NOT RUN make install. THE SCRIPT THAT SETS ENVIRONMENT VARIABLES REFERS TO THE SOFTWARE IN THE CVS DIRECTORIES - IF YOU DO make install YOU WILL OVERWRITE YOUR EXISTING INSTALLATION, SO DON'T DO IT!
Now, repeat the steps for the other modules. You should do this in the order: gstreamer (which you've done), gst-plugins-base, gst-plugins-good, gst-plugins-ugly, gst-python, gnonlin. With the plugins modules, each time you run autogen.sh, at the end it will tell you which modules it is going to build, and which ones it it won't. For the ones with external dependencies, you will need to install other stuff for the plugins to be built. This will mean install something like libvorbis-dev for Ogg Vorbis support. I didn't note these dependencies down, so when someone does this, note it on this wiki page. Thanks.
You'll definitely want the following, otherwise Jokosher won't work at all:
- libasound2-dev (ALSA)
Updating your CVS
If you want to update a module, go into the directory (such as the gst-plugins-base dir) and run:
cvs update -PAd
Then re-run autogen.sh and make, and the module is re-built. Again, don't run 'make install'!!
When you want to use your CVS gstreamer, always run that script first, and you are ready to roll!
Here is a script to rebuild all the checked-out gstreamer stuff. Put it in your "head" or "uninstalled" folder as "build-all", and make it executable with chmod +x build-all. Then, run gst-head (or gst-uninstalled, or whatever you've called it), and then "./build-all".
#!/bin/bash # build all the gstreamer stuff for f in gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-python gnonlin; do cd $f make distclean rm -rf po cvs update -PAd ./autogen.sh make cd .. done
(If you don't have gst-plugins-bad or gst-plugins-ugly checked out, remove them from the list.)