class TCodecProcessResult;
Description
Indicates the result of processing data from the source buffer to a destination buffer and provides functions to compare the
result code.
Members
Defined in TCodecProcessResult
:
EDstNotFilled
, EEndOfData
, EProcessComplete
, EProcessCompleteRepositionRequest
, EProcessError
, EProcessIncomplete
, EProcessIncompleteRepositionRequest
, TCodecProcessResult()
, TCodecProcessResultStatus
, iDstBytesAdded
, iSrcBytesProcessed
, iStatus
, operator!=()
, operator==()
inline TCodecProcessResult();
Description
Default constructor.
inline TBool operator==(const TCodecProcessResultStatus aStatus) const;
Description
Overloaded operator to test equality.
Parameters
Return value
TBool
|
A boolean indicating if the two status codes are the same. ETrue if they are, EFalse otherwise.
|
|
inline TBool operator!=(const TCodecProcessResultStatus aStatus) const;
Description
Overloaded operator to test inequality.
Parameters
Return value
TBool
|
A boolean indicating if the two status codes are not the same. ETrue if they are not, EFalse otherwise.
|
|
TCodecProcessResultStatus
Description
Flag to track the codec's processing status.
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.
|
|
TCodecProcessResultStatus iStatus;
Description
The codec's processing status.
See also:
TUint iSrcBytesProcessed;
Description
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.
TUint iDstBytesAdded;
Description
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.