USERNAME PASSWORD LOST PASSWORD? REGISTER
"A Complete Mobile Application Development Environment"
Advertisement

Downloads
Documentation
Forums
Blog
Press
Contact Us




Introduction to Multimedia PDF Print E-mail
Documentation »  ACCESS Linux Platform Native Development »  Introduction to Multimedia

"Multimedia" is media that uses multiple forms of information content and information processing (for instance audio, graphics, and video) to inform or entertain the user. The multimedia component of the ACCESS Linux Platform is designed with this objective in mind but targeted for the mobile space.

Multimedia versus Content Management ^TOP^

In the ACCESS Linux Platform there are two frameworks in place for handling files, each with a different purpose. The Content Management framework is responsible for administering data and files stored in various mediums. This framework uses a media selector to manage the list of files. The Multimedia framework, on the other hand, is responsible for the playback and recording of specific file types managed by the Content Management framework.

The focus of this manual is on the Multimedia framework. For information on file administration and the Content Management Framework, refer to the Content Management manual.

Design Overview ^TOP^

The Multimedia framework contains several components.

Multimedia Applications
These are the clients requesting audio/video playback or recording. Included in this list are players, recorders, preference panels, widgets, and volume controls (including hardware buttons). These are all clients of the Multimedia framework.
Media Engine
This component encapsulates the GStreamer core and plugins for encoding or decoding. It drives the application requests for audio or video playback through the use of media sessions.
Audio Manager
This component runs as a Linux daemon and processes audio-only requests from various clients.
Hardware
These are the input or output devices supported by each device.

Pictured here is a high-level diagram of the Multimedia framework. It shows how the above components relate to each other, and the open-source modules included in the architecture.

Figure 1.1  Multimedia framework

Inside the Framework ^TOP^

Within the Multimedia framework there are two mechanisms in place for working with files. Use of one over the other depends on the type of file you are working with. In general, if you are working with files that need to be encoded or decoded you should use a media session. For files that are already decoded, such as WAV files with PCM data, you should create an audio stream. You also have the option of writing your own encoder and decoder that work with raw data streams. In this case you can use an audio stream to transfer the encoded or decoded data.

Chapter 2, "Media Session," goes into the media session in detail. For an in-depth description of how you use audio streams in your applications, see Chapter 3, "Audio Subsystem."

Multimedia and the Exchange Manager ^TOP^

The Exchange Manager is a central system broker in charge of the communication between different applications or servers. It facilitates data exchange between clients and service providers. This allows, for example, an email application that wants to play a WAV file sent as an attachment to employ the services of the Audio Player.

In addition to taking advantage of services provided by other applications or servers, applications can also provide services to others. If your application implements a service that can be usefully employed by others, you can register those verb/Subject combinations it knows how to handle with a call to alp_exg2_handler_register_launch() or alp_exg2_handler_register_callback().

For details on using the Exchange Manager to take advantage of the services provided by another application or using it to make available services provided by your application, plus a detailed list of platform services, Exchange verbs, data types, and parameters, see ACCESS Linux Platform: Application Programming.

Standard Media-Related Exchange Services ^TOP^

A number of multimedia-related applications are registered with the Exchange Manager, providing services to those non-multimedia applications wishing a simple, standard mechanism for playing or recording audio or video. Table 1.1 lists the Exchange verbs and data types for the standard multimedia applications supported by ACCESS Linux Platform.


NOTE: A given device may have some or all of these applications, and may have additional multimedia applications. As well, the set of Exchange verbs supported by the applications on a given device may or may not correspond to what is listed in this document.

Table 1.1  Multimedia application registered Exchange verbsĀ 

Application

Verb

Data Type

Audio Player

"display"

"audio/mpeg", "audio/x-ms-wma", "audio/x-mpegurl", "audio/x-wav", "audio/x-amr", "audio/mid", "audio/mobile-xmf", "audio/melody"

"display_drm1.0"

"audio/mpeg", "audio/x-ms-wma", "audio/x-mpegurl", "audio/x-wav", "audio/x-amr", "audio/mid", "audio/mobile-xmf", "audio/melody"

"send_obex_legacy"

"audio/mp3"

Camera

"recordpicture"

"image/jpg"

"recordpicture"

"video/ogg"

Picture Editor

"--alp-picture-edit"

"picture"

Picture Manager

"--alp-picture-edit"

"picture"

"--pic-manager"

"picture/manager"

"display"

"picture/display", "collection/x-ply", "image/x-ms-bmp", "image/x-png", "image/jpeg", "image/gif"

"display_drm1.0"

"image/x-ms-bmp", "image/x-png", "image/jpeg", "image/gif"

"store"

"image/x-ms-bmp", "image/x-png", "image/jpeg", "image/gif"

Video Player

"display"

"video/mp4", "video/x-3gp", "video/mpeg"

"display_drm1.0"

"video/x-3gp", "video/x-3gp", "video/mpeg"

"store"

"video/mp4", "video/3gpp", "video/mpeg"

Voice Recorder

"recordsound"

"audio/x-wav", "audio/x-amr"

"stoprecordsound"

"audio/x-wav", "audio/x-amr"

As shown in the above table, the Audio Player is registered with the Exchange Manager as a service for those non-multimedia clients wishing to play audio. The client application only needs to know what action, what type of data, and possible parameters the service expects. It is then up to the Exchange Manager to take care of the request. For audio playback using the Audio Player, the verb request is "display", the MIME type is one of several, such as "audio/mpeg". As a parameter (not listed in the above table) you pass the path to the audio file to be played.

Digital Rights Management ^TOP^

DRM is an OS component that defines how action rights associated to a file will be granted. For example, you may have a song that you are allowed to play, but not copy or transfer to someone else. DRM will ensure that the user cannot go around the rights associated with this file.

ACCESS Linux Platform is fully compliant with the OMA DRM version 1.0 specification. It supports Forward Lock, Combined Delivery, Separate Delivery, and Superdistribution.

A GStreamer plugin recognizes and tags a source as DRM-protected. This meta information is passed along with the stream. The Audio Router recognizes DRM tags and prevents these streams from being routed into a GStreamer pipe. This safety mechanism prohibits recording of protected content.

ACCESS Linux Platform securely stores DRM-protected content provided by content provider applications and services, such as the Download Manager or an email client. The DRM Agent allows trusted content-rendering applications like the Media Player to retrieve DRM-protected content in accordance with the rules set forth in the OMA DRM specification.

As ACCESS Linux Platform is an open operating system, special consideration has been applied to protect the content. The following security mechanisms are used:

  • Access to DRM-protected content is only granted to trusted applications.
  • DRM-protected content is stored encrypted in standard DCF format. DRM files can reside on the device or on removable memory cards.
  • Rights Objects (ROs) are stored in the Vault. Only trusted applications have access to ROs.
  • To simplify handling of DRM-protected files, the system stores all DRM-protected files in a designated directory.
  • Only trusted applications are able to load and execute the functions provided by the DRM library.

 

Add as favourites (261) | Quote this article on your site | Views: 3028

Comments (1)
RSS comments
1. Written by This e-mail address is being protected from spam bots, you need JavaScript enabled to view it on 19-05-2008 02:05 - Guest
 
 
OMA DRM
Can u please provide me the OMA DRM module for seperate delivery using perl script.
 

Only registered users can write comments.
Please login or register.

Powered by AkoComment Tweaked Special Edition v.1.4.6
AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com
All right reserved

 


© 2009 ACCESS Developer Network    |    Joomla! is Free Software released under the GNU/GPL License.    |    ACCESS Global Website
Events Support Community Platforms Home