How To Packaging and support for OpenMAX
Building GStreamer with GST-OpenMax
Introduction
This how-to will describe how to setup [GStreamer] a library for constructing graphs of media-handling components on the Pandaboard. Using [gst-openmax] a GStreamer plug-in that allows communication with OpenMAX IL components and [gst-ducati] a plugin for using the HW accellerated codecs on IVA-HD via the codec-engine API.
Configuring your environment
- These instructions have been tested on the Pandaboard Rev A1 running Fedora 17 ARM.
- Startup the Pandaboard and make sure you have internet connectivity.
- Install the Fedora 17 development tools
yum update yum groupinstall "Development Tools" "Development Libraries"
- Add the RPM repositories containing the GStreamer plugins
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
- Install GStreamer plugins
yum install gstreamer-{ffmpeg,plugins-{good,ugly,bad{,-free,-nonfree}}} ffmpeg yum install gstreamer-devel gstreamer-plugins-base-devel
Building OpenMAX IL
- Download the source code to a temporary directory
mkdir -p /tmp/omx cd /tmp/omx wget http://downloads.sourceforge.net/omxil/libomxil-bellagio-0.9.0.tar.gz
- Extract the tarball and configure the source code
tar -xvf libomxil-bellagio-0.9.0.tar.gz cd liboxmil-bellagio-0.9.0 ./configure --prefix=$HOME/omx
- Build and install
make make install
Building GST-OpenMax
- Clone the git repository into a temporary directory
mkdir -p /tmp/omx cd /tmp/omx git clone git://anongit.freedesktop.org/gstreamer/gst-openmax
- Build and install
cd gst-openmax ./autogen.sh ./configure --prefix=$HOME/omx make make install
Testing OpenMax
- Check if the codecs have been sucessfully loaded
gst-inspect | grep omx
- Export environment variables for library and plugin directories
export GST_PLUGIN_PATH="/usr/local/lib/gstreamer-0.10:$HOME/omx/lib/gstreamer-0.10" export LD_LIBRARY_PATH="$HOME/omx/lib"
- Registering Components
/home/<user>/omx/bin/omxregister-bellagio -v
- Testing audio output using mp3 "test.mp3"
gst-launch-0.10 filesrc location="test.mp3" ! omx_mp3dec use-timestamps=false ! audioconvert ! alsasink