Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <ECam.h>

Class MCameraObserver

class MCameraObserver;

Description

Mixin base class for camera clients.

An application must implement an MCameraObserver or MCameraObserver2 (recommended) in order to use the camera API. This derived class is called when the camera is ready for use, an image has been captured or a buffer of video data is ready, including when errors occur.

Implementations of the camera API should use MCameraObserver::FrameBufferReady(MFrameBuffer *,TInt) and MFrameBuffer::Release() to co-ordinate the mapping of any special memory objects.

Members

Defined in MCameraObserver:


Member functions


ReserveComplete(TInt)

virtual void ReserveComplete(TInt aError)=0;

Description

Camera reservation is complete.

Called asynchronously when CCamera::Reserve() completes.

Parameters

TInt aError

An error on failure and KErrNone on success.


PowerOnComplete(TInt)

virtual void PowerOnComplete(TInt aError)=0;

Description

Indicates camera power on is complete.

Called on completion of CCamera:PowerOn().

Parameters

TInt aError

KErrNone on success, KErrInUse if the camera is in use by another client or KErrNoMemory if insufficient system memory is available.


ViewFinderFrameReady(CFbsBitmap &)

virtual void ViewFinderFrameReady(CFbsBitmap &aFrame)=0;

Description

Tests whether transfer of view finder data has completed.

Called periodically in response to the use of CCamera::StartViewFinderBitmapsL(TSize &).

Parameters

CFbsBitmap &aFrame

The view finder frame.


ImageReady(CFbsBitmap *,HBufC8 *,TInt)

virtual void ImageReady(CFbsBitmap *aBitmap, HBufC8 *aData, TInt aError)=0;

Description

Transfers the current image from the camera to the client.

Called asynchronously when CCamera::CaptureImage() completes.

Parameters

CFbsBitmap *aBitmap

On return, a pointer to an image held in CFbsBitmap form if this was the format specified in CCamera::PrepareImageCaptureL(TFormat,TInt).

HBufC8 *aData

On return, a pointer to an HBufC8 if this was the format specified in CCamera::PrepareImageCaptureL(TFormat,TInt). NULL if there was an error.

TInt aError

KErrNone on success or an error code on failure.


FrameBufferReady(MFrameBuffer *,TInt)

virtual void FrameBufferReady(MFrameBuffer *aFrameBuffer, TInt aError)=0;

Description

Passes a filled frame buffer to the client.

Called asynchronously, when a buffer has been filled with the required number of video frames by CCamera::StartVideoCapture().

Parameters

MFrameBuffer *aFrameBuffer

On return, a pointer to an MFrameBuffer if successful, or NULL if not successful.

TInt aError

KErrNone if successful, or an error code if not successful.