This section provides an overview of the Camera Framework.


The ECam component supplies a header file (.h) and library definition files (.def). These specify the API and binary interfaces that device creators can implement. They provide an interface for cross-platform, compatible camera clients to access the camera on any given device. The Camera Framework supports any concrete ECam implementation only as a ECom plug-in. The ROM plug-in with the highest version number is selected at instantiation phase. The Symbian version of ECam is a stub for easy replacement by an alternate implementation.

Required background

ECam is a component of the Multimedia subsystem.

Architectural relationships

Clients have specific priorities and may pre-empt others in their interactions with the camera. When a camera client needs to share the camera with another client, it creates a handle to the camera and passes this handle to the component. Clients that share with each other are called collaborative clients.

Platform security requires that applications have the UserEnvironment capability to create a Camera object. Clients with the MultimediaDD capability are given a higher priority.

Note: The process by which a client passes a handle to another client is beyond the scope of this Camera Framework guide.

Application developers and device creators implement the ECam API for the camera hardware on their phone. All cameras are ECom plug-ins sub-classed from the CCameraPlugin class.

API summary

The Camera Framework includes the following APIs.


  • Camera

    This provides functionality to control a digital camera and to request and receive specific image data from it.

    See also Key Onboard ECam API Classes

  • Advanced Settings

    This provides domain specific getters and setters for well known camera hardware settings. This is used to query the camera for the list of supported and currently active hardware settings. For a specific setting, clients can query the camera for the list of supported values.

  • Camera Snap Shot

    Clients can use snapshots to show captured images on the display almost instantly (while in the background the image may be processed by using some compression algorithm before storing the data). The client can specify the properties of the snapshot, such as size, background colour and position to be used if the snapshot has been scaled and so on. Snapshot object can be created specifically for still images and video APIs.

Typical uses

Camera Component Users

  • Camera plug-ins

  • Multimedia Framework plug-ins