OpenMAX IL Overview

This document introduces you to the Symbian approach to OpenMAX IL (Integration Layer).

Purpose

OpenMAX IL is a low-level interface used in mobile devices that allows the Multimedia Device Framework (MDF) to

  • load audio, video and imaging components

  • control audio, video and imaging components

  • connect audio, video and imaging components

  • unload audio, video and imaging components.

Required background

You should be familiar with the OpenMAX IL standard developed by The Khronos Group, which enables the portability of media components across any OS platform.

Key concepts/terms

The following terms are introduced here and will be used throughout this documentation:

OpenMAX IL Client

MDF plays the role of the OpenMAX IL client within the OpenMAX IL architecture.

OpenMAX IL Core

OpenMAX IL Core is a platform-specific entity which is used to load and unload OpenMAX IL Components, and to facilitate communication between them.

OpenMAX IL Component

OpenMAX IL Component is an individual block of functionality such as codec, source, sink, filter, splitter, mixer, or any data processing functionality.

OpenMAX IL Content Pipe

OpenMAX IL Content Pipe is an entity that provides abstraction of access to content data.

Note: The OpenMAX IL libraries have the same naming convention as the key terms described above.

Architectural relationships

MDF interacts with OpenMAX IL to communicate with the OpenMAX IL Components.

Figure 1. Architectural relationship between MDF and OpenMAX IL

OpenMAX IL Core uses OpenMAX IL Loader to load and unload OpenMAX IL Components. The high-level view of the Symbian implementation of OpenMAX IL using the OpenMAX IL Loader pattern is shown below:

Figure 2. OpenMAX IL Component loading using OpenMAX IL Core and Loaders

OpenMAX IL library summary

The Symbian platform provides support to OpenMAX IL with the following libraries:

OpenMAX IL Core

OpenMAX IL Core handles the IL client requests to load or unload components by delegating these requests to the appropriate OpenMAX IL Loader. OpenMAX IL Core also facilitates communication with these components. For more information see OpenMAX IL Core Overview.

OpenMAX IL Loader Interface

You need to install the OpenMAX IL Loader interface, which is an ECom plug-in. This interface is used to instantiate and access a group of OpenMAX IL Components. For more information see OpenMAX IL Loader Interface Overview.

OpenMAX IL Component Interface

You need to install the OpenMAX IL Component interface, which is an ECom plug-in. This interface is loaded by OpenMAX IL Loader to provide access to OpenMAX IL Component. For more information see OpenMAX IL Component Overview.

OpenMAX IL Content Pipe Interface

You need to install the OpenMAX IL Content Pipe interface, which is an ECom plug-in. This interface is loaded by OpenMAX IL Core to provide access to OpenMAX IL Content Pipe. For more information see OpenMAX IL Content Pipe Overview.

Typical uses

OpenMAX IL Components are used like any typical Multimedia features such as playing video, recording audio and capturing images. For example, two OpenMAX IL Components, decoder and render, are loaded by OpenMAX IL and communicate with each other for decoding and rendering.