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.
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.
The Camera Framework includes the following APIs.
ECam 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 Viewfinder
This provides the support for both direct and client viewfinder. It also provides information regarding the current state of that direct viewfinder. The different possible states are active, paused and inactive.
See also Key Viewfinder Classes
Note: The direct viewfinder is applicable only for viewfinders that use Ccamera viewfinder methods.
Camera Histogram
This gets the histogram data in a specified format for an image (for example, luminance based histogram, average colour value histogram and so on).
Camera Overlay
This overlays an image onto the viewfinder, snapshots, still images and video. A client can create multiple overlays, each one with different properties.
Camera plug-in Support
All cameras are ECom plug-ins sub-classed from CCameraPlugin class and register support for the interface KUidOnboardCameraPlugin in their resource file. Symbian introduced plug-in support for ECam from v9.1 onwards. Before that, device creators were supposed to re-implement ECam, which was effectively reference code.
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.
Camera Component Users
Camera Component tasks
The camera component is used for the following:
Onboard Camera
Camera plug-in Support
Advanced Settings
Camera plug-in
Histogram
Overlay
Snapshot
Viewfinder
Onboard Camera
The Onboard Camera provides functionality to control a digital camera and to request and receive specific image data from it.
Advanced Settings
The Advanced Settings gets or sets individual setting value as well as retrieve their current ranges.
Camera plug-in
This API, an ECom plug-in, is introduced as an alternative to static linking. This allows the partners to replace the camera implementation more easily.
Histogram
The Histogram provides the functionality needed to work with histogram data in a specified format for an image.
Overlay
The Overlay is used to overlay an image onto the viewfinder, snapshots, still images and video.
Snapshot
The Snapshot allows the client to request snapshot data in a specified image format for both still images and video.
Viewfinder
The Viewfinder enables to pause and resume the direct viewfinder which is currently active and has been started using Ccamera methods.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.