although it is feasible and can provide excellent visual results, would not
be acceptable in the Symbian ecosystem.
LCDUI is a mission-critical API which every Java application must use
and has a direct effect on the end-user experience. It must operate in
the way which best fits the Symbian OS model. To enforce consistent
behavior and functionality, with minimal customization for Symbian OS
licensees, LCDUI is tightly integrated with the native widgets and native
11.5.4 Integration: JSR-135 MMAPI and MIDP 2.0 Media API
JSR-135 MMAPI is a direct superset of the JSR-118 MIDP 2.0 Media API,
defining the support for tone generation, media playback, MIDI, video,
camera, and more. The two main high-level classes used in this API
are DataSource for protocol handling and Player for content han-
dling. Together, they encapsulate the two parts of multimedia processing:
handling the data delivery and handling the data content.
Applications use the MMAPI Manager to request Player s, by giving
the locator string (e.g., capture://video) , and to query properties,
supported content types and supported protocols. Fine-grained control
is an important feature of JSR-135 MMAPI. Therefore, each Player
provides type-specific controls to expose features that are unique to a
particular media type. Support for some features of some media types is
mandatory while other features are recommended or entirely optional.
Not all MMAPI implementations support all multimedia types and
input protocols. Some implementations may support only a few selected
types and protocols. For example, some may support only playback of
local audio files. The API is designed in a way that allows optional or
new features to be added without breaking the existing functionality. It
is designed so that by staying with a high level of abstraction, JSR-135
implementations can extend the API to support newly introduced features.
The multimedia subsystem provides the multimedia capabilities of Sym-
bian OS. These include audio recording and playback, video recording
and playback, still image conversion and camera control. Not all of these
capabilities are necessarily present but frameworks exist in each case to
support them. Ultimately, the functionality provided is at the discretion
of the licensee.
The Multimedia subsystem is split into three components:
The Multimedia Framework (MMF) is a lightweight, multithreaded
plug-in framework for handling multimedia data. The MMF offers