#include <icl/imageconversionextensionintf.h>
class MImageConvStreamedDecode : public MImageConvExtension |
Public Member Functions | |
---|---|
pure virtual void | GetBlocks(TRequestStatus *, CImageFrame *, TInt, TInt, TInt *) |
pure virtual TInt | GetBufferSize(TUid, TSize &, TInt) |
pure virtual void | GetCapabilities(TUid, TInt, TDecodeStreamCaps &) |
pure virtual void | GetNextBlocks(TRequestStatus *, CImageFrame *, TInt, TInt *, TBool *) |
pure virtual void | GetSupportedFormatsL(RArray< TUid > &, TUid &) |
pure virtual void | InitFrameL(TUid, TInt, TDecodeStreamCaps::TNavigation) |
Inherited Functions | |
---|---|
MImageConvExtension::IncrementRef() | |
MImageConvExtension::Release() | |
MImageConvExtension::Uid()const |
Block Streaming extension for decoder plugins.
void | GetBlocks | ( | TRequestStatus * | aStatus, |
CImageFrame * | aFrame, | |||
TInt | aSeqPosition, | |||
TInt | aNumBlocksToGet, | |||
TInt * | aNumBlocksRead | |||
) | [pure virtual] |
Start asynchronous call to return random blocks from the stream
use CImageDecoder::Cancel() to cancel this request.
Parameter | Description |
---|---|
aStatus | request status |
aFrame | An image frame wrapper a memory buffer to hold the returned block(s) of pixel data. This can be 'uninitialised' or given specific format which must match that specified in the InitFrameL call. |
aSeqPosition | block number starting at 0 ... |
aNumBlocksToGet | number of blocks requested |
aNumBlocksRead | number of blocks which will be returned when the request completes |
Get the size of the memory buffer to hold the returned data.
Parameter | Description |
---|---|
aFormat | the required format |
aBlockSizeInPixels | size of a single block to be returned |
aNumBlocks | the number of blocks of size TDecodeStreamCaps::MinBlockSizeInPixels() to be returned by one request |
Returns: The memory buffer size in bytes to hold the requested blocks.
void | GetCapabilities | ( | TUid | aFormat, |
TInt | aFrameNumber, | |||
TDecodeStreamCaps & | aCaps | |||
) | const [pure virtual] |
Returns the capabilities of the codec plugin for a specific format.
Parameter | Description |
---|---|
aFormat | The format. |
aFrameNumber | frame to stream |
aCaps | The capabilities for the format given. |
void | GetNextBlocks | ( | TRequestStatus * | aStatus, |
CImageFrame * | aFrame, | |||
TInt | aNumBlocksToGet, | |||
TInt * | aNumBlocksRead, | |||
TBool * | aHaveMoreBlocks | |||
) | [pure virtual] |
Start asynchronous call to return blocks sequentially from the stream. Blocks are returned from the first block until the last in the stream.
use CImageDecoder::Cancel() to cancel this request.
Parameter | Description |
---|---|
aStatus | request status |
aFrame | An image frame wrapper a memory buffer to hold the returned block(s) of pixel data. This can be 'uninitialised' or given specific format which must match that specified in the InitFrameL call. |
aNumBlocksToGet | number of blocks requested |
aNumBlocksRead | number of blocks which will be returned when the request completes |
Returns a list of supported formats and the optimal format to be used.
See also: imageframeconst.h for a list of format uids.
Parameter | Description |
---|---|
aFormats | Returns an array of format uids |
aOptimalFormat | The 'best' uid to use. |
void | InitFrameL | ( | TUid | aFormat, |
TInt | aFrameNumber, | |||
TDecodeStreamCaps::TNavigation | aNavigation | |||
) | [pure virtual] |
TO DO Do we need to specify where the source is held e.g. in memory, on flash card etc?
must call InitFrameL before GetBlocks or GetNextBlocks. Failure to do so completes request with KErrNotReady
Parameter | Description |
---|---|
aFormat | the format to use |
aFrameNumber | frame to stream |
aNavigation | indication to stream of the way that the stream will be navigated. Allows codec to optimise it's behaviour. |