TCodecProcessResult Class Reference

class TCodecProcessResult

Indicates the result of processing data from the source buffer to a destination buffer and provides functions to compare the result code.

Constructor & Destructor Documentation

TCodecProcessResult()

TCodecProcessResult()[inline]

Default constructor.

Member Functions Documentation

operator!=(const TCodecProcessResultStatus)

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

Overloaded operator to test inequality.

Parameters

const TCodecProcessResultStatus aStatusThe status to compare the result of the process function.

operator==(const TCodecProcessResultStatus)

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

Overloaded operator to test equality.

Parameters

const TCodecProcessResultStatus aStatusThe status to compare the result of the process function.

Member Enumerations Documentation

Enum TCodecProcessResultStatus

Flag to track the codec's processing status.

Enumerators

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

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

EProcessCompleteRepositionRequest

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

Member Data Documentation

TUint 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.

TInt iReserved1

TInt iReserved1[private]

This member is internal and not intended for use.

TInt iReserved2

TInt iReserved2[private]

TInt iReserved3

TInt iReserved3[private]

TUint 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.

TCodecProcessResultStatus iStatus

TCodecProcessResultStatus iStatus

The codec's processing status.

enum TCodecProcessResultStatus