MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

Multimedia APIs overview

MeeGo 1.2 Harmattan APIs provide a vast amount of APIs that can handle various media types and media sources. For more information, see Multimedia API topics.


GStreamer is a multimedia framework that allows you to create a variety of media-handling components. It uses a media pipeline to collect the related elements that are executed in synchronisation with each other. GStreamer is written in C programming language and it is suitable for both plugin and application development. It provides APIs for the following purposes:

  • Playing audio and video
  • Recording audio and video
  • Streaming multimedia files
  • Editing multimedia files

See also Using GStreamer.

Example use: To create an application with live streaming feature.

For more information, see GStreamer API documentation.


PulseAudio is a sound server, a background process that accepts sound input from one or more sources (processes or capture devices) and redirects it into one or more sinks (sound cards, remote network PulseAudio servers, or other processes). It provides tools for following purposes:

  • Low-latency tools for advanced audio processing
  • Audio playback
  • Audio recording

PulseAudio provides two APIs:

  • Simple API: designed for applications with very basic sound playback or capture needs. It can only support a single stream for each connection and has no handling of complex features like events, channel mappings and volume control. It is very simple to use and quite sufficent for many programs.
  • Asynchronous API: recommended for asynchronous, event loop based style and for using advanced features of the PulseAudio API.

See also Synthesizer example.

Example use: To add background music to your application.

For more information, see PulseAudio API documentation.

Qt Multimedia Kit

Qt Multimedia Kit is part of Qt Mobility. It is the only QtMobility API which is not in QtMobility namespace. Basically it is simpler to use than PulseAudio with audio files. It provides APIs for the following purposes:

  • Playing audio and video
  • Recording audio and video
  • Capturing and displaying still images
  • Managing media content

See also Using the device camera

Example use: To create a camera application with a slide show feature.

For more information, see Qt Multimedia Kit API information.