CMMFDescriptorBuffer Class Reference

class CMMFDescriptorBuffer : public CMMFDataBuffer

This class is a wrapper class to give a descriptor the same API as a CMMFDataBuffer.

The purpose of this class is that components such as codecs can use CMMFDataBuffers transparently without having to be concerned with whether the buffer is a descriptor buffer or a transfer buffer.

Inherits from

Constructor & Destructor Documentation

CMMFDescriptorBuffer()

CMMFDescriptorBuffer()[private, inline]

~CMMFDescriptorBuffer()

IMPORT_C~CMMFDescriptorBuffer()

Destructor.

Destructor also deletes the buffer contained in the CMMFDescriptorBuffer.

Member Functions Documentation

BufferSize()

TUint BufferSize()const [virtual]

Returns the actual data size (ie. not the maximum length) of the data contained in the CMMFDescriptorBuffer.

ConstructL(TInt)

voidConstructL(TIntaMaxBufferSize)[private]

Internal.

Parameters

TInt aMaxBufferSizeThe size in bytes of the descriptor buffer to be created.

Data()

TDes8 &Data()[virtual]

Returns a descriptor to the data contained in the CMMFDescriptorBuffer.

Data()

const TDesC8 &Data()const [virtual]

Returns a descriptor to the data contained in the CMMFDescriptorBuffer.

NewL()

IMPORT_C CMMFDescriptorBuffer *NewL()[static]

Method to instantiate a CMMFDescriptorBuffer.

Defaults to a CMMFDescriptorBuffer automatically. This NewL creates a CMMFDescriptorBuffer with a default size of 32 bytes.

NewL(TInt)

IMPORT_C CMMFDescriptorBuffer *NewL(TIntaMaxBufferSize)[static]

Method to instantiate a CMMFDescriptorBuffer. This NewL creates a CMMFDescriptorBuffer with a size of aMaxBufferSize bytes.

Parameters

TInt aMaxBufferSizeThe size in bytes of the descriptor buffer to be created.

ReAllocBufferL(TInt)

IMPORT_C voidReAllocBufferL(TIntaMaxBufferSize)

Reallocates the max size in bytes of a CMMFDescriptorBuffer.

Parameters

TInt aMaxBufferSizeThe new size in bytes of the descriptor buffer.

SetPosition(TUint)

voidSetPosition(TUintaPosition)[virtual]

Sets the position.

This method is used by components (eg codecs) which read data from a buffer and wish to store a read position marker for further reads. Note: The position cannot exceed the size of the actual data not the max length.

Parameters

TUint aPositionThe position.

SetRequestSizeL(TInt)

voidSetRequestSizeL(TIntaSize)[virtual]

Sets the request size.

This function is used in cases where a component (eg a data source) may not be able or be desirable to write to the entire max length of the buffer (eg variable bit rate codecs). In which case the SetRequestSizeL() can be set which can be read by the RequestSize() function in the component so that it knows to only write data upto the request size and not fill the buffer up to its max length.

Parameters

TInt aSizeThe request size.

SetStatus(TBufferStatus)

voidSetStatus(TBufferStatusaStatus)[virtual]

Overriden method to set the status and resets the data size to 0 when the buffer becomes available.

Parameters

TBufferStatus aStatusThe buffer status. See TBufferStatus for possible options.

Member Data Documentation

TUint8 * iData

TUint8 *iData[private]

TPtr8 iPtr

TPtr8 iPtr[private]