Documentation/Maemo 5 Developer Guide/Using Multimedia Components/Getting Started with Multimedia

This section explains how to get started with developing multimedia applications and plug-ins in the Maemo SDK. It is recommended to read also GStreamer's documentation.

Below is an overview diagram about the multimedia APIs from an application perspective. Please note that applications can always use lower APIs directly when appropriate.


[edit] Simple GStreamer Example

This example demonstrates how to use GStreamer's API to play PCM audio.

First, get the sample applications (including build scripts), for instance with the following command:

svn checkout

To compile and run, start Xephyr and execute the following commands:

cd maemo-examples
make start ./example_wavlaunch

To use, simply:

  • Click Open to open the File Chooser.
  • Browse to a .wav file and select Open.
  • Select Play to start playing.

Many aspects of GStreamer's application development are described in the GStreamer Application Development Manual.

For more information on how to use GStreamer's API, see the Core API Reference.

[edit] Plug-in Development

In order to have support for a new media format in the Maemo SDK, it is necessary to compile a codec for the format, and compile the GStreamer plug-in supporting that codec.

Codecs are libraries that enable the use of compression for digital audio and video. GStreamer plug-ins are loadable libraries, which provide GStreamer elements that process video and audio streams.

Some plug-ins have the codec embedded and therefore do not need an additional library. To play some unusual formats, a demuxer GStreamer plug-in is needed as well. More information about the internals of GStreamer plug-ins can be found in the Plugin Writers Guide.

The list of plug-ins for GStreamer is available here.

To add support for a new media format:

  • Get the codec from the codec's manufacturer.
  • Get the GStreamer plug-ins from the GStreamer website.
  • Extract packages to the Scratchbox environment and follow the compiling instructions for the codec and the GStreamer plug-ins package.