CMMFDescriptor Class Reference

class CMMFDescriptor : public CMMFClip

MultiMedia framework class. Represents a client side descriptor. May be source descriptor from which data is read or destination to which data is written

Inherits from

Public Member Functions
~CMMFDescriptor()
voidBufferEmptiedL(CMMFBuffer *)
voidBufferFilledL(CMMFBuffer *)
TInt64 BytesFree()
TBool CanCreateSinkBuffer()
TBool CanCreateSourceBuffer()
TBool CanUseTransferBuffer()
CMMFBuffer *CreateSinkBufferL(TMediaId, TBool &)
CMMFBuffer *CreateSourceBufferL(TMediaId, TBool &)
voidEmptyBufferL(CMMFBuffer *, MDataSource *, TMediaId)
voidFillBufferL(CMMFBuffer *, MDataSink *, TMediaId)
MDataSink *NewSinkL()
MDataSource *NewSourceL()
voidReadBufferL(TInt, CMMFBuffer *, TInt, MDataSink *)
voidReadBufferL(CMMFBuffer *, TInt, MDataSink *)
voidReadBufferL(CMMFBuffer *, TInt)
TInt SetSize(TInt)
voidSetTransferBuffer(TBool)
TFourCC SinkDataTypeCode(TMediaId)
TInt Size()
TFourCC SourceDataTypeCode(TMediaId)
voidWriteBufferL(TInt, CMMFBuffer *, TInt, MDataSource *)
voidWriteBufferL(CMMFBuffer *, TInt, MDataSource *)
voidWriteBufferL(CMMFBuffer *, TInt)
Protected Member Functions
CMMFDescriptor()
voidConstructL(const TDesC8 &)
voidConstructSinkL(const TDesC8 &)
voidConstructSourceL(const TDesC8 &)
Private Member Functions
TInt MaxLength()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CMMFClip::CMMFClip(TUid,TUid)
CMMFClip::Delete()
Private Attributes
TDes8 *iDes
RThread iDesThread
TInt iOffset
TFourCC iSinkFourCC
TFourCC iSourceFourCC
TBool iUseTransferBuffer

Constructor & Destructor Documentation

CMMFDescriptor()

CMMFDescriptor()[protected]

~CMMFDescriptor()

~CMMFDescriptor()[virtual]

Member Functions Documentation

BufferEmptiedL(CMMFBuffer *)

voidBufferEmptiedL(CMMFBuffer *aBuffer)[virtual]

Parameters

CMMFBuffer * aBuffer

BufferFilledL(CMMFBuffer *)

voidBufferFilledL(CMMFBuffer *aBuffer)[virtual]

Parameters

CMMFBuffer * aBuffer

BytesFree()

TInt64 BytesFree()[virtual]

Returns the amount of space available for the clip.

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

The amount of space available.

CanCreateSinkBuffer()

TBool CanCreateSinkBuffer()[virtual]

CanCreateSourceBuffer()

TBool CanCreateSourceBuffer()[virtual]

CanUseTransferBuffer()

TBool CanUseTransferBuffer()

ConstructL(const TDesC8 &)

voidConstructL(const TDesC8 &aInitData)[protected]

Parameters

const TDesC8 & aInitData

ConstructSinkL(const TDesC8 &)

voidConstructSinkL(const TDesC8 &aInitData)[protected, virtual]

Parameters

const TDesC8 & aInitData

ConstructSourceL(const TDesC8 &)

voidConstructSourceL(const TDesC8 &aInitData)[protected, virtual]

Parameters

const TDesC8 & aInitData

CreateSinkBufferL(TMediaId, TBool &)

CMMFBuffer *CreateSinkBufferL(TMediaIdaMediaId,
TBool &aReference
)[virtual]

Parameters

TMediaId aMediaId
TBool & aReference

CreateSourceBufferL(TMediaId, TBool &)

CMMFBuffer *CreateSourceBufferL(TMediaIdaMediaId,
TBool &aReference
)[virtual]

Parameters

TMediaId aMediaId
TBool & aReference

EmptyBufferL(CMMFBuffer *, MDataSource *, TMediaId)

voidEmptyBufferL(CMMFBuffer *aBuffer,
MDataSource *aSupplier,
TMediaIdaMediaId
)[virtual]

Parameters

CMMFBuffer * aBuffer
MDataSource * aSupplier
TMediaId aMediaId

FillBufferL(CMMFBuffer *, MDataSink *, TMediaId)

voidFillBufferL(CMMFBuffer *aBuffer,
MDataSink *aConsumer,
TMediaIdaMediaId
)[virtual]

Parameters

CMMFBuffer * aBuffer
MDataSink * aConsumer
TMediaId aMediaId

MaxLength()

TInt MaxLength()[private, inline]

NewSinkL()

MDataSink *NewSinkL()[static]

NewSourceL()

MDataSource *NewSourceL()[static]

ReadBufferL(TInt, CMMFBuffer *, TInt, MDataSink *)

voidReadBufferL(TIntaLength,
CMMFBuffer *aBuffer,
TIntaPosition,
MDataSink *aConsumer
)[virtual]

Reads aLength number of bytes of data from the offset, aPosition into the buffer, aBuffer. Intended for asynchronous usage.

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

Parameters

TInt aLengthThe number of bytes to read.
CMMFBuffer * aBufferThe buffer to read the data into.
TInt aPositionThe offset from which to start reading.
MDataSink * aConsumerThe sink of tha data read from the clip. Will be informed of read if not NULL.

ReadBufferL(CMMFBuffer *, TInt, MDataSink *)

voidReadBufferL(CMMFBuffer *aBuffer,
TIntaPosition,
MDataSink *aConsumer
)[virtual]

Reads the maximum number of bytes of data from the offset, aPosition into the buffer, aBuffer. Intended for asynchronous usage.

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

Parameters

CMMFBuffer * aBufferThe buffer to read the data into.
TInt aPositionThe offset from which to start reading.
MDataSink * aConsumerThe sink of tha data read from the clip. Will be informed of read if not NULL.

ReadBufferL(CMMFBuffer *, TInt)

voidReadBufferL(CMMFBuffer *aBuffer,
TIntaPosition
)[virtual]

Reads the maximum number of bytes of data from the offset, aPosition into the buffer, aBuffer. Intended for synchronous usage.

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

Parameters

CMMFBuffer * aBufferThe buffer to read the data into.
TInt aPositionThe offset from which to start reading.

SetSize(TInt)

TInt SetSize(TIntaSize)[virtual]

Sets the size of the clip. This should be overriden in the derived classes, the default version returns KErrNotSupported.

An error code indicating if the function call was successful. KErrNone on success, otherwise another of the system-wide error codes.

Parameters

TInt aSizeThe size of the clip.

SetTransferBuffer(TBool)

voidSetTransferBuffer(TBoolaTBuffer)

Parameters

TBool aTBuffer

SinkDataTypeCode(TMediaId)

TFourCC SinkDataTypeCode(TMediaIdaMediaId)[virtual]

Parameters

TMediaId aMediaId

Size()

TInt Size()[virtual]

Returns the size of the clip in bytes.

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

The size of the clip.

SourceDataTypeCode(TMediaId)

TFourCC SourceDataTypeCode(TMediaIdaMediaId)[virtual]

Parameters

TMediaId aMediaId

WriteBufferL(TInt, CMMFBuffer *, TInt, MDataSource *)

voidWriteBufferL(TIntaLength,
CMMFBuffer *aBuffer,
TIntaPosition,
MDataSource *aSupplier
)[virtual]

Writes aLength number of bytes of data from the offset, aPosition from the buffer, aBuffer. Intended for asynchronous usage.

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

Parameters

TInt aLengthThe number of bytes to write.
CMMFBuffer * aBufferThe buffer to write the data into.
TInt aPositionThe offset from which to start writing.
MDataSource * aSupplierThe source of the data writen to the clip. Will be informed of write if not NULL.

WriteBufferL(CMMFBuffer *, TInt, MDataSource *)

voidWriteBufferL(CMMFBuffer *aBuffer,
TIntaPosition,
MDataSource *aSupplier
)[virtual]

Writes the maximum number of bytes of data from the offset, aPosition from the buffer, aBuffer. Intended for asynchronous usage.

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

Parameters

CMMFBuffer * aBufferThe buffer to write the data into.
TInt aPositionThe offset from which to start writing.
MDataSource * aSupplierThe source of the data writen to the clip. Will be informed of write if not NULL.

WriteBufferL(CMMFBuffer *, TInt)

voidWriteBufferL(CMMFBuffer *aBuffer,
TIntaPosition
)[virtual]

Writes the maximum number of bytes of data from the offset, aPosition from the buffer, aBuffer. Intended for synchronous usage.

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

Parameters

CMMFBuffer * aBufferThe buffer to write the data into.
TInt aPositionThe offset from which to start writing.

Member Data Documentation

TDes8 * iDes

TDes8 *iDes[private]

RThread iDesThread

RThread iDesThread[private]

TInt iOffset

TInt iOffset[private]

TFourCC iSinkFourCC

TFourCC iSinkFourCC[private]

TFourCC iSourceFourCC

TFourCC iSourceFourCC[private]

TBool iUseTransferBuffer

TBool iUseTransferBuffer[private]