This topic describes how to capture an image using standalone background processing in Ecam.
Before you start you should understand the Onboard Camera Overview topic.
The Ecam API has been extended for background processing by having it as a standalone process. In order to use standalone background processing you need to implement the MCameraObserver2, MPreImageCaptureControlObserver, MCaptureImageObserver interfaces and use with the CCamera API.
The following example shows you how to capture an image using standalone background processing in Ecam:
CCamera* camera; MCameraObserver2* observer2; camera = CCamera::New2L(*observer2, 0); MPreImageCaptureControlObserver* preImageCaptureControlObserver; CCamera::CCameraPreImageCaptureControl* preImgCapture = CCamera::CCameraPreImageCaptureControl::NewL(*camera, preImageCaptureControlObserver)); TInt supportedProcessingOptions; preImgCapture->GetSupportedProcessingOptionsL(supportedProcessingOptions); // provides supported image processing options CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters prepareImageParameters; prepareImageParameters::iImageProcessingOptions = EECamBackgroundProcessing; ... ... // Capture image ... ... TUint processingOptions = EECamBackgroundProcessing; imgCapture->PauseProcessing(processingOptions); // Pauses any background processing associated with this image capture imgCapture->ResumeProcessingL(processingOptions); // Resumes any background processing associated with this image capture // Retrieve the information for any stage of captured image. TImageState imgState; postImgCapture->GetImageStateL(imgState); // Retrieves the stage of any processing on the current image