This is a how to on how to get going developing using GStreamer 0.10 on the Maemo embedded evironment. The next major revision of the Maemo development platform will use this version of GStreamer and at that time GStreamer will probably also become official part of the Maemo SDK according to current plans.
The first step is to set up the Scratchbox development environment following the instructions in the Mameo.org Tutorial. You should also take a look at the scratchbox host distributions page for some information on things that needs to be done for running scratchbox on various distributions.
Once you have your environment set up in scratchbox you just copy the needed release tarballs of gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-ugly, gst-plugins-bad and liboil into the scratchbox home directory. For me this is /scratchbox/users/cschalle/home/cschalle. (cschalle being my username, replace it with your own).
You might also want to grab Tremor (the integer Vorbis decoder/demuxer) from Xiph.org Subversion respository - http://svn.xiph.org/trunk/Tremor and run autogen.sh and 'make dist' on it to create a tarball and copy that also into the scratchbox home directory, so you can build the Tremor plugin.
Once all these files are copied in login into the scratchbox environment (/scratchbox/login). Make sure you are using an ARM target and not an i386 one. Build everything starting with liboil (and tremor if you got it), then gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-ugly and finally gst-plugins-bad. Build the gstreamer packages using '--prefix=/usr --disable-gst-debug --disable-static'. (Disabling the debug saves you some precious CPU cycles.). After running configure run 'make install-strip'. I needed to do 'make install-strip' in order to get the Tremor plugin to work (to lower overhead).
Once everything is installed you can go into the various directories and scp everything over to your 770 for testing. You probably want to delete the .a and .la files before copying the gstreamer files over. Here is the series of commands I run has been released:
cd /usr/lib
rm libgst*0.10*.la
rm libgst*0.10*.a
cd gstreamer-0.10
rm *.la *.a
cd ..
scp libvorbisidec* root@IP_OF_YOUR_770:/usr/lib
(only if you have Tremor installed)
scp liboil* root@IP_OF_YOUR_770:/usr/lib
scp -r libgst* gstreamer-0.10 root@IP_OF_YOUR_770:/usr/lib
cd /usr/bin
scp gst* root@IP_OF_YOUR_770:/usr/bin
When that is done ssh into your 770 and run a few commands to check that the environment is working. start with gst-inspect-0.10.
When that is working you can test a few pipelines to see if things are working correctly like
gst-launch-0.10 audiotestsrc wave=2 ! esdsink
gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! ximagesink
gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! sdlvideosink
gst-launch-0.10 gnomevfssrc location=http://on.your.lan/filename.wav ! wavparse ! audioconvert ! esdsink
gst-launch-0.10 gnomevfssrc location=http://on.your.lan/filename.ogg ! tremor ! audioconvert ! esdsink
gst-launch-0.10 gnomevfssrc location=/home/user/MyDocuments/some.ogg ! tremor ! audioconvert ! esdsink
Hopefully at this point you have a working install on your 770 and can start doing development inside the Mameo environment of your application and plugin.