Author(s): Iago Toral
The Multimedia Application Framework (MAFW) tries to complement and enhance the multimedia experience in Maemo, providing developers with a flexible, easy to use, and extendable high level layer on top of the already available multimedia technologies. Specifically, MAFW intends to provide application developers with:
- An extendable, pluggable framework interface, which allows to develop new plugins that integrate with new multimedia services or rendering engines and which can be seamlessly integrated in all MAFW based applications.
- Easy to use APIs that speed up application developing, providing support for playback control, discovery and browsing of multimedia resources as well as playlist manipulation.
- Independence of the technology. Since MAFW is a plugin based framework, it is not tied to any particular multimedia technology. Plugin developers have freedom to choose the technologies they want to use in their plugins, and these are transparent to application developers.
Plugins in MAFW can be of two kinds: Sources and Renderers. Source plugins provide access to multimedia repositories, examples of possible source plugins would be locally stored media files, UPnP servers, YouTube videos, etc. Renderer plugins provide media rendering mechanisms, for example, a GStreamer based renderer that renders media in the local device or a UPnP renderer that plays back media on a remote UPnP device.
Since all Source and Renderer plugins implement the same API, developers can create applications that benefit from available plugins right away, gaining new features without any need of extra work on the application side.
MAFW has been recently open sourced by Nokia  through its Garage site  with the aim to create a community of developers around it that helps with the implementation of new plugins as well as the improvement of its core. It has also been reviewed by Ars Technica .
This talk intends to introduce MAFW to the community, covering:
MAFW will power the Multimedia Player in Maemo Fremantle, but being this a framework based on Gnome friendly technologies (Glib, GObject, DBus, GStreamer, Tracker, GUpnP, etc) we are planning on porting it to the Desktop as well. Hopefully we will be able to demo how this works on the desktop by the time of the Desktop Summit.
Author bio: Igalia
I am a Software Engineer at Igalia and user of the Gnome Desktop and Linux OS for quite many years now.
I have been involved in the Build Brigade effort during the last years (http://live.gnome.org/BuildBrigade), which aims to provide a continuous integration system for Gnome (http://build.gnome.org). Nowadays I am mostly focused on Multimedia, specially around MAFW and GStreamer.
I am also interested in Gnome based solutions for embedded devices in general, and the Maemo platform in particular.