CMMFBuffer Class Reference

class CMMFBuffer : public CBase

Abstract representation of a buffer to contain multimedia data.

Inherits from

Constructor & Destructor Documentation

CMMFBuffer(TUid)

CMMFBuffer(TUidaType)[protected, inline]

Parameters

TUid aType

~CMMFBuffer()

~CMMFBuffer()[inline, virtual]

Destructor.

Member Functions Documentation

BufferSize()

TUint BufferSize()const [pure virtual]

Returns the size of the data in the buffer.

This is a virtual function that each derived class must implement.

FrameNumber()

TUint FrameNumber()const [inline]

Returns the frame number.

IsFileServerSafe(TUid)

IMPORT_C TBoolIsFileServerSafe(TUidaUid)[static]

Static method which returns ETrue if the buffer UID is a buffer that is safe to be used with the file server. If the buffer type is not safe to be used with the file server, then the client would need to copy the contents of the buffer, prior to passing it onto the file server.

This implementation assumes the CMMFPtrBuffer is safe for file server copy. If this is not the case then remove the PtrBuffer set to ETrue.

Parameters

TUid aUidThe UID of the CMMFBuffer to be checked for support.

IsSupportedDataBuffer(TUid)

IMPORT_C TBoolIsSupportedDataBuffer(TUidaUid)[static]

Static method which returns ETrue if the buffer UID is a supported CMMFDataBuffer type.

Note: If the buffer is not a CMMFDataBuffer this method should return EFalse.

Parameters

TUid aUidThe UID of the CMMFBuffer to be checked for support.

LastBuffer()

TBool LastBuffer()const [inline]

Tests whether the buffer is the last buffer.

NextFrame()

voidNextFrame()[inline]

Sets the buffer as the next frame.

Position()

TUint Position()const [inline, virtual]

Returns the current buffer read/write position. Used as read/write position on a buffer where a codec may need several passes on the same buffer.

RequestSize()

TInt RequestSize()const [inline, virtual]

Returns the size of data processed by sink or data needed by source.

SetFrameNumber(TUint)

voidSetFrameNumber(TUintaFrame)[inline]

Sets the frame number. This is used for repositioning.

Parameters

TUint aFrameThe frame number.

SetLastBuffer(TBool)

voidSetLastBuffer(TBoolaLastBuffer)[inline]

Sets the buffer as the last buffer.

Parameters

TBool aLastBufferA boolean indicating if the buffer is the last buffer. ETrue if it is the last buffer, EFalse otherwise.

SetPosition(TUint)

voidSetPosition(TUintaPosition)[inline, virtual]

Sets the current buffer read/write position. Used as read/write position on a buffer where a codec may need several passes on the same buffer.

Parameters

TUint aPositionThe buffer's number.

SetStatus(TBufferStatus)

voidSetStatus(TBufferStatusaStatus)[inline, virtual]

Sets the buffer's status.

Parameters

TBufferStatus aStatusThe buffer's status.

SetTimeToPlay(TTimeIntervalMicroSeconds)

voidSetTimeToPlay(TTimeIntervalMicroSecondsaTime)[inline]

Sets the buffer timestamp, in microseconds.

Parameters

TTimeIntervalMicroSeconds aTimeThe buffer timestamp, in microseconds.

Status()

TBufferStatus Status()[inline]

Returns the buffer's status.

TimeToPlay()

TTimeIntervalMicroSeconds TimeToPlay()const [inline]

Returns the buffer timestamp, in microseconds.

Type()

TUid Type()const [inline]

Returns the buffer type.

Member Data Documentation

TUint iFrameNumber

TUint iFrameNumber[protected]

The frame number.

TBool iLastBuffer

TBool iLastBuffer[protected]

Indicates if this is the last buffer. ETrue if it is.

TUint iPosition

TUint iPosition[protected]

Used to store the current read/write position. Required when the codec and data path may have to read and write the buffer in more than one pass.

TInt iRequestSize

TInt iRequestSize[protected]

Stores Request size, needed for dynamic buffer length.

TBufferStatus iStatus

TBufferStatus iStatus[protected]

The current buffer status.

enum TBufferStatus

TTimeIntervalMicroSeconds iTimeToPlay

TTimeIntervalMicroSeconds iTimeToPlay[protected]

The buffer timestamp, in microseconds.

TUid iType

TUid iType[protected]

The buffer type.