MHistogramV2Buffer Class Reference

class MHistogramV2Buffer

This class is used to pass histogram data between the camera device and a client that uses CCameraV2Histogram and implements MCaptureImageObserver, MCaptureVideoObserver, MDirectViewFinderObserver and MClientViewFinderObserver.

Only one histogram data is available per buffer. ECam implementation will issue another callback once a new histogram data is ready. Till that time, client shall use the histogram data available from the histogram buffer currently retrieved.

The class allows the client to access the data as a descriptor to a kernel chunk.

CCameraV2Histogram

Member Functions Documentation

ChunkL()

RChunk &ChunkL()[pure virtual]
Returns a handle to the chunk that contains the histogram data. The RChunk is exposed so that it can potentially be shared between multiple processes.
Note:

The descriptor pointer returned by DataL() is effectively derived from this RChunk.

leave
KErrNotSupported if the chunk is not available. May Leave with any other error code as well.

ChunkOffsetL()

TInt ChunkOffsetL()[pure virtual]

Returns the offset in the chunk (returned by ChunkL()) that contains the data for the histogram within the histogram buffer.

leave
KErrNotSupported if the chunk is not available. May Leave with any other error code as well.

DataL()

TDesC8 *DataL()[pure virtual]

Allows access to the histogram in the histogram buffer via a descriptor.

leave
May Leave with any error code.

ElementSize()

TInt ElementSize()[pure virtual]

Returns the number of bits per histogram element value used to store the histogram data within the histogram buffer.

The number of bits per histogram element will be decided by the ECam implementation.

NumOfElementsL()

NumOfElements()

TInt NumOfElements()[pure virtual]

Returns the number of elements in the histogram within the histogram buffer.

This value can be used along with the element size obtained by calling ElementSizeL(), to calculate the exact size of histogram data ( element-size x number-of-elements = histogram-size ).

Release()

voidRelease()[pure virtual]

Releases the buffer. Once the client has processed the histogram data it should use this method to signal to the camera that the buffer can be deleted or re-used.

Type()

CCamera::CCameraV2Histogram::THistogramType Type()[pure virtual]

Returns the type of histogram data that is available within the histogram buffer.