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)

voidClientHistogramReady(MHistogramV2Buffer *aClientHistogramBuffer,
TIntaErrorCode
)[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 * aClientHistogramBufferPointer 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 aErrorCodeAppropriate error code.

ClientSnapshotReady(MCameraBuffer2 *, TInt)

voidClientSnapshotReady(MCameraBuffer2 *aSnapshotBuffer,
TIntaErrorCode
)[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 * aSnapshotBufferPointer 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 aErrorCodeAppropriate error code.

CustomInterface(TUid, TAny *&)

TInt CustomInterface(TUidaInterface,
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 aInterfaceThe Uid of the particular interface function required for callbacks.
TAny *& aPtrInterfaceThe implementation has to type-cast the retrieved custom interface pointer to the appropriate type.

DirectVideoCaptureFailed(TInt)

voidDirectVideoCaptureFailed(TIntaErrorCode)[pure virtual]

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

Parameters

TInt aErrorCodeThe 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)

voidImageProcessingFailed(TIntaErrorCode)[pure virtual]

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

Parameters

TInt aErrorCodeThe reason of failure of the image processing.

VideoBufferReady(MCameraBuffer2 *, TInt)

voidVideoBufferReady(MCameraBuffer2 *aVideoBuffer,
TIntaErrorCode
)[pure virtual]

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

Parameters

MCameraBuffer2 * aVideoBufferPointer 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 aErrorCodeAppropriate error code.