CMMFClip Class Reference

#include <mmf/server/mmfclip.h>

class CMMFClip : public CBase, public MDataSource, public MDataSink, public CBase, public MDataSource, public MDataSink
Public Member Functions
pure virtual TInt64 BytesFree()
virtual TInt Delete()
pure virtual voidReadBufferL(TInt, CMMFBuffer *, TInt, MDataSink *)
pure virtual voidReadBufferL(CMMFBuffer *, TInt, MDataSink *)
pure virtual voidReadBufferL(CMMFBuffer *, TInt)
virtual TInt SetSize(TInt)
pure virtual TInt Size()
pure virtual voidWriteBufferL(TInt, CMMFBuffer *, TInt, MDataSource *)
pure virtual voidWriteBufferL(CMMFBuffer *, TInt, MDataSource *)
pure virtual voidWriteBufferL(CMMFBuffer *, TInt)
Protected Member Functions
CMMFClip(TUid, TUid)
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()
MDataSink::BufferFilledL(CMMFBuffer *)
MDataSink::CanCreateSinkBuffer()
MDataSink::ConstructSinkL(const TDesC8 &)
MDataSink::CreateSinkBufferL(TMediaId,TBool &)
MDataSink::DataSinkType()const
MDataSink::EmptyBufferL(CMMFBuffer *,MDataSource *,TMediaId)
MDataSink::MDataSink(TUid)
MDataSink::NegotiateL(MDataSource &)
MDataSink::NewSinkL(TUid,const TDesC8 &)
MDataSink::NewSinkLC(TUid,const TDesC8 &)
MDataSink::SetSinkDataTypeCode(TFourCC,TMediaId)
MDataSink::SetSinkPrioritySettings(const TMMFPrioritySettings &)
MDataSink::SinkCustomCommand(TMMFMessage &)
MDataSink::SinkDataTypeCode(TMediaId)
MDataSink::SinkPauseL()
MDataSink::SinkPlayL()
MDataSink::SinkPrimeL()
MDataSink::SinkStopL()
MDataSink::SinkThreadLogoff()
MDataSink::SinkThreadLogon(MAsyncEventHandler &)
MDataSink::~MDataSink()
MDataSource::BufferEmptiedL(CMMFBuffer *)
MDataSource::CanCreateSourceBuffer()
MDataSource::ConstructSourceL(const TDesC8 &)
MDataSource::CreateSourceBufferL(TMediaId,CMMFBuffer &,TBool &)
MDataSource::CreateSourceBufferL(TMediaId,TBool &)
MDataSource::DataSourceType()const
MDataSource::FillBufferL(CMMFBuffer *,MDataSink *,TMediaId)
MDataSource::MDataSource(TUid)
MDataSource::NegotiateSourceL(MDataSink &)
MDataSource::NewSourceL(TUid,const TDesC8 &)
MDataSource::NewSourceLC(TUid,const TDesC8 &)
MDataSource::SetSourceDataTypeCode(TFourCC,TMediaId)
MDataSource::SetSourcePrioritySettings(const TMMFPrioritySettings &)
MDataSource::SourceCustomCommand(TMMFMessage &)
MDataSource::SourceDataTypeCode(TMediaId)
MDataSource::SourcePauseL()
MDataSource::SourcePlayL()
MDataSource::SourcePrimeL()
MDataSource::SourceSampleConvert()
MDataSource::SourceStopL()
MDataSource::SourceThreadLogoff()
MDataSource::SourceThreadLogon(MAsyncEventHandler &)
MDataSource::~MDataSource()

Detailed Description

Abstract class to represent a source or sink that contains a multimedia clip (i.e. not a stream or hardware device).

Typical examples are a file or an area of memory (descriptor).

Constructor & Destructor Documentation

CMMFClip ( TUid, TUid )

CMMFClip(TUidaSourceType,
TUidaSinkType
)[protected, inline]

Protected constructor.

Parameters
aSourceTypeThe source type.
aSinkTypeThe sink type.

Member Function Documentation

BytesFree ( )

TInt64 BytesFree()[pure virtual]

Returns the amount of space available for the clip.

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

Return Value
The amount of space available.

Delete ( )

TInt Delete()[inline, virtual]

Deletes the clip.

This should be overriden in the derived classes, the default version returns KErrNotSupported.

another of the system-wide error codes.

Return Value
An error code indicating if the function call was successful. KErrNone on success, otherwise

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

voidReadBufferL(TIntaLength,
CMMFBuffer *aBuffer,
TIntaPosition,
MDataSink *aConsumer
)[pure 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
aLengthThe number of bytes to read.
aBufferThe buffer to read the data into.
aPositionThe offset from which to start reading.
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
)[pure 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
aBufferThe buffer to read the data into.
aPositionThe offset from which to start reading.
aConsumerThe sink of tha data read from the clip. Will be informed of read if not NULL.

ReadBufferL ( CMMFBuffer *, TInt )

voidReadBufferL(CMMFBuffer *aBuffer,
TIntaPosition
)[pure 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
aBufferThe buffer to read the data into.
aPositionThe offset from which to start reading.

SetSize ( TInt )

TInt SetSize(TIntaSize)[inline, virtual]

Sets the size of the clip. This should be overriden in the derived

classes, the default version returns KErrNotSupported.

another of the system-wide error codes.

Parameters
aSizeThe size of the clip.
Return Value
An error code indicating if the function call was successful. KErrNone on success, otherwise

Size ( )

TInt Size()[pure virtual]

Returns the size of the clip in bytes.

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

Return Value
The size of the clip.

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

voidWriteBufferL(TIntaLength,
CMMFBuffer *aBuffer,
TIntaPosition,
MDataSource *aSupplier
)[pure 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
aLengthThe number of bytes to write.
aBufferThe buffer to write the data into.
aPositionThe offset from which to start writing.
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
)[pure 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
aBufferThe buffer to write the data into.
aPositionThe offset from which to start writing.
aSupplierThe source of the data writen to the clip. Will be informed of write if not NULL.

WriteBufferL ( CMMFBuffer *, TInt )

voidWriteBufferL(CMMFBuffer *aBuffer,
TIntaPosition
)[pure 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
aBufferThe buffer to write the data into.
aPositionThe offset from which to start writing.