1 Short expression of the need
Linux in general including MeeGo in particular lacks a unified solution to play Multimedia content. Almost each application has created 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 of use licensed Codec for Linux environment. It is not the first time than Linux had to break boundary and change established solutions to drastically improve its support for new services. In a recent past we have seen the adoption of CUPS (1999-2002) for printing and Sane (2000-2005) for scanning enabling the use of Linux in office environment what before these two, seemed only possible for the geek in search of long night enjoying a deep troubleshooting fun. The current proposition has no less of an outrageous ambition than to offer creating a Unified Multi Media Service (UMMS) which will enable to play Audio and Video (AV) from an application on any Linux platform (starting by MeeGo) without having to worry about anything more than it's 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 to 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 does focus on an initial application for MeeGo TV but it has been designed with the vision of an expansion to all MeeGo verticals in a second phase, starting by the Tablets and further, its generic adoption by a 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, and which has the goals of both 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 Video (AV) but also the existing main Linux AV Player APIs (Mplayer and Totem) do not cater for TV needs : Programming language independence Management of protected high value content (Pay TV) GPL license isolation Support of TV features (broadcast, sub-title, language selection, aspect ratio, trick play, …) Sophisticated transport independence (smooth streaming, forward error correction, ...) Multiple back-end video pipe support Support of new generation HW feature (e.g. video as an OpenGL texture) This document explains the constraints introduced by these requirements and provides possible solutions and recommendations.
4 Latest Full Specification
5 Where is code
Visit MeeGo OBS and search for UMMS https://build.meego.com