1 Short description of the need
Linux in general, including MeeGo in particular, lacks a unified solution for playing multimedia content. Almost every application has its own solution, limiting the opportunity to benefit from new hardware capabilities provided by modern chipsets on non-PC platforms, and reducing the scope of usability of high value multimedia content, which is often protected using a proprietary codec. It isn't the first time that Linux has had to break boundaries and change established solutions to drastically improve its support for new services. In the recent past, we've seen the adoption of CUPS (1999-2002) for printing and Sane (2000-2005) for scanning, enabling the use of Linux in the office environment, which, before these two, seemed only possible for the geek in search of a long night enjoying troubleshooting fun. The current proposition has no less of an outrageous ambition than creating a Unified Multi Media Service (UMMS), which will enable playing audio and video (AV) from an application on any Linux platform (starting from MeeGo), without having to worry about anything more than its position on the screen and its possible initial transparency over the User Interface graphics.
The purpose of this document is to provide an understanding of a solution which could be used to deliver a unified service. This would enable a large community of developers to benefit from the best possible audio and video capabilities provided by various Linux implementations, without having to worry about the supporting HW. It addresses the managers who wish to understand the requirements and the constraints required for such a solution, as well as the developers who will have to deliver a working implementation. It focuses on an initial application for MeeGo TV, but it has been designed with the vision to expand, in a second phase, to all MeeGo verticals, starting with tablets. It is intended to go beyond TV and tablets and further, and experience a general adoption by the larger Linux community. Only MeeGo needs are described in this initial document.
MeeGo is an open source version of Linux which targets Netbooks, Tablets, Mobiles, Connected TV, and Automotive domains. MeeGo has the goals of delivering an optimized user experience and also enabling a community of developers to service applications across domains. Unfortunately, not only does Linux not have a standard set of APIs to play audio and video (AV), but the existing main Linux AV Player APIs (Mplayer and Totem) do not cater to TV's needs:
This document explains the constraints introduced by these requirements and provides possible solutions and recommendations.
Specifications File:Meego Unified MultiMedia Service V0.4.odt
5 Where is the code
Visit MeeGo OBS and search for UMMS https://build.meego.com
or directly the GIT repo git://gitorious.org/meego-middleware/umms.git