MCaptureVideoObserver Class Reference

class MCaptureVideoObserver

A mixin class to be implemented by the client in order to use the video capture control API(CCameraVideoCaptureControl). The derived class methods are called by the implementation when the video capture operations are ready to be notified accordingly.

CCamera::CCameraVideoCaptureControl

Member Functions Documentation

ClientHistogramReady(MHistogramV2Buffer *, TInt)

void ClientHistogramReady ( MHistogramV2Buffer * aClientHistogramBuffer,
TInt aErrorCode
) [pure virtual]

Implementation sends this callback in order to notify the client about availability of the histogram data. If a call to CCameraV2Histogram::StartHistogram() is made without a previous successful call to CCameraV2Histogram:: PrepareClientHistogramL() then the callback returns KErrBadHandle.

Note:

Client shall use the currently available histogram for the video frames until a new histogram is available.

Parameters

MHistogramV2Buffer * aClientHistogramBuffer Pointer to MHistogramV2Buffer which retrieves a single histogram alongwith relevant information about it. The ownership will be retained by the implementation. Client needs to call Release in order to indicate the implementation that the buffer can be re-used. Client shall never try to delete the pointer. NULL, if error.
TInt aErrorCode Appropriate error code.

ClientSnapshotReady(MCameraBuffer2 *, TInt)

void ClientSnapshotReady ( MCameraBuffer2 * aSnapshotBuffer,
TInt aErrorCode
) [pure virtual]

Implementation sends this callback in order to notify the client about the availability of client snapshot data for the video being captured.

If a call to CCameraSnapshot::EnableSnapshotL() (on the CCameraVideoCaptureControl instance) is made without a successful call to CCameraSnapshot::PrepareSnapshotL(const TSnapshotParameters& aSnapshotParameters) (on the CCameraVideoCaptureControl instance), then the callback returns KErrBadHandle.

Parameters

MCameraBuffer2 * aSnapshotBuffer Pointer to MCameraBuffer2 class object which retrieves the snapshot for the video being captured. The ownership will be retained by the implementation. Client needs to call Release in order to indicate the implementation that the buffer can be re-used. Client shall never try to delete the pointer. NULL, if error.
TInt aErrorCode Appropriate error code.

CustomInterface(TUid, TAny *&)

TInt CustomInterface ( TUid aInterface,
TAny *& aPtrInterface
) [pure virtual]

Gets a custom interface for future callbacks. This method will be called by the implementation to get a new interface which would support future callbacks.

Parameters

TUid aInterface The Uid of the particular interface function required for callbacks.
TAny *& aPtrInterface The implementation has to type-cast the retrieved custom interface pointer to the appropriate type.

DirectVideoCaptureFailed(TInt)

void DirectVideoCaptureFailed ( TInt aErrorCode ) [pure virtual]

Implementation sends this callback in order to notify the client about the failure of direct video capture operation.

Parameters

TInt aErrorCode The reason of failure of the direct video capture. The error code could be ECam specific. Client shall be prepared to handle unrecognized error code.

ImageProcessingFailed(TInt)

void ImageProcessingFailed ( TInt aErrorCode ) [pure virtual]

Implementation sends this callback in order to notify the client about the failure of image processing for the video frames.

Parameters

TInt aErrorCode The reason of failure of the image processing.

VideoBufferReady(MCameraBuffer2 *, TInt)

void VideoBufferReady ( MCameraBuffer2 * aVideoBuffer,
TInt aErrorCode
) [pure virtual]

Implementation sends this callback in order to notify the client about the availability of video frames.

Parameters

MCameraBuffer2 * aVideoBuffer Pointer to MCameraBuffer2 class object which retrieves the video frames. The ownership will be retained by the implementation. Client needs to call Release in order to indicate the implementation that the buffer can be re-used. Client shall never try to delete the pointer. NULL, if error.
TInt aErrorCode Appropriate error code.