Introducing MAFW

Introduction
Pre-requisites
Main concepts
Packages

Introduction

The Maemo platform provides multimedia capabilities through the GStreamer framework. GStreamer takes care of all the low-level multimedia playback details (codecs, formats, protocols, etc), making developer's life really easy, and allowing fast developing of typical multimedia applications.

However, there are still a few topics that are not covered by frameworks like GStreamer. Usually, these topics have to do with the complexity of last generation Media Player applications, which try to provide integration with all kind of multimedia services (UPnP, Last.Fm, Youtube, etc), although others are more traditional, yet find no support in relatively low-level frameworks like GStreamer, such as playlist manipulation.

The Multimedia Applications FrameWork (MAFW) tries to complement and enhance the multimedia experience in the Maemo platform, providing developers with a flexible, easy to use, and extendable high level layer on top of the already available multimedia related technologies. Specifically, MAFW intends to provide multimedia application developers with:

  • An extendable, pluggable framework interface, which allows to develop new plugins that provide integration with new multimedia services or rendering engines, that 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 and playlist manipulation.

  • Independence of the technology. Since MAFW is a plugin based framework, it is not tied to a particular multimedia technology (GStreamer, MPlayer, Tracker). Plugin developers have freedom to choose the technologies they want to use in their plugins, and application developers do not need to know about them.

The purpose of this manual is to introduce the basic concepts of the MAFW framework to interested multimedia developers, explaining its fundamental concepts and providing insight and examples on how it should be used to develop multimedia applications in the Maemo platform.