class TCodecProcessResult |
Indicates the result of processing data from the source buffer to a destination buffer and provides functions to compare the result code.
Public Member Functions | |
---|---|
TCodecProcessResult() | |
TBool | operator!=(const TCodecProcessResultStatus) |
TBool | operator==(const TCodecProcessResultStatus) |
Public Member Enumerations | |
---|---|
enum | TCodecProcessResultStatus { EProcessComplete, EProcessIncomplete, EEndOfData, EDstNotFilled, EProcessError, EProcessIncompleteRepositionRequest, EProcessCompleteRepositionRequest } |
Public Attributes | |
---|---|
TUint | iDstBytesAdded |
TUint | iSrcBytesProcessed |
TCodecProcessResultStatus | iStatus |
Private Attributes | |
---|---|
TInt | iReserved1 |
TInt | iReserved2 |
TInt | iReserved3 |
TBool | operator!= | ( | const TCodecProcessResultStatus | aStatus | ) | const [inline] |
Overloaded operator to test inequality.
A boolean indicating if the two status codes are not the same. ETrue if they are not, EFalse otherwise.
const TCodecProcessResultStatus aStatus | The status to compare the result of the process function. |
TBool | operator== | ( | const TCodecProcessResultStatus | aStatus | ) | const [inline] |
Overloaded operator to test equality.
A boolean indicating if the two status codes are the same. ETrue if they are, EFalse otherwise.
const TCodecProcessResultStatus aStatus | The status to compare the result of the process function. |
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. |
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.
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.