TCodecProcessResult Class Reference

#include <mmf/server/mmfcodec.h>

class TCodecProcessResult

Detailed Description

Indicates the result of processing data from the source buffer to a destination buffer

and provides functions to compare the result code.

Member Attribute Documentation

iDstBytesAdded

TUint iDstBytesAdded

The number of bytes added to the destination buffer.

A codec should set this, and iSrcBytesProcessed, to indicate the source bytes processed for a

particular call (i.e. not the total number of source bytes processed or destination bytes

added). The codec should also ensure that the length of the destination buffer matches the

length of the processed data in the destination buffer. Note that the codec should not

reallocate the maximum length of the destination buffer.

iSrcBytesProcessed

TUint iSrcBytesProcessed

The number of source bytes processed.

The number of bytes of source data that have been processed.

A codec should set this, and iDstBytesAdded, to indicate the source bytes processed for a

particular call (i.e. not the total number of source bytes processed or destination bytes

added). The codec should also ensure that the length of the destination buffer matches the

length of the processed data in the destination buffer. Note that the codec should not

reallocate the maximum length of the destination buffer.

iStatus

The codec's processing status.

See also: enum TCodecProcessResultStatus

Member Enumeration Documentation

Enum TCodecProcessResultStatus

Flag to track the codec's processing status.

EnumeratorValueDescription
EProcessComplete

The codec successfully has completed its processing.

A codec should return this code when it has fully processed the source buffer, and is finished

with the destination buffer. The codec should finish with the destination buffer when it has

been filled. The EProcessComplete return code indicates that the codec has finished

with the destination buffer. This informs the data path that the destination buffer may now be

passed onto the data sink. If the codec returns EProcessComplete this means that the codec is

expecting a new source buffer and a new destination buffer the next time it's ProcessL() method

is called.

EProcessIncomplete

Could not empty the source buffer because the destination buffer became full.

A codec should return this code when it has not been able to fully process the source buffer.

This would usually be the case if the codec has filled the destination buffer (or the remaining

space available in the destination buffer is insufficient to perform any further useful

processing) before the source buffer has been processed. The EProcessIncomplete return code

indicates that the codec has finished with the destination buffer. This informs the data path

that the destination buffer may now be passed onto the data sink. If the codec returns

EProcessIncomplete this means that the codec is expecting the same source buffer but a new

destination buffer the next time it's ProcessL() method is called.

EEndOfData

Codec came across an end of data.

This can be returned if a codec is able to determine that there is no more source data. It is

not necessary for the codec to return this however as in most cases the codec will not be able

to determine when the end of data has been reached.

EDstNotFilled

Could not fill the destination buffer because the source buffer has been emptied

A codec should return this code when is has fully processed the source buffer and there is still

sufficient space available in the destination buffer for the codec to continue using the same

destination buffer. The EDstNotFilled return code indicates that the codec has not finished with

the destination buffer. If the codec returns EDstNotFilled this means that the codec is

expecting a new source buffer but the same destination buffer the next time its ProcessL()

method is called.

EProcessError

An error occured.

This is no longer required as if an error occurs in the codec's ProcessL()function, it should

leave. When used with a datapath, returning EProcessError has the same effect as leaving with

KErrCorrupt.

EProcessIncompleteRepositionRequest

Deprecated

As 'EFrameIncomplete' but also requests a call to GetNewDataPosition.

EProcessCompleteRepositionRequest

Deprecated

As 'EFrameComplete' but also requests a call to GetNewDataPosition.

Constructor & Destructor Documentation

TCodecProcessResult ( )

TCodecProcessResult()[inline]

Default constructor.

Member Function Documentation

operator!= ( const TCodecProcessResultStatus )

TBool operator!=(const TCodecProcessResultStatusaStatus)const [inline]

Overloaded operator to test inequality.

EFalse otherwise.

Parameters
aStatusThe status to compare the result of the process function.
Return Value
A boolean indicating if the two status codes are not the same. ETrue if they are not,

operator== ( const TCodecProcessResultStatus )

TBool operator==(const TCodecProcessResultStatusaStatus)const [inline]

Overloaded operator to test equality.

otherwise.

Parameters
aStatusThe status to compare the result of the process function.
Return Value
A boolean indicating if the two status codes are the same. ETrue if they are, EFalse