MImageConvStreamedDecode Class Reference

class MImageConvStreamedDecode : public MImageConvExtension

Block Streaming extension for decoder plugins.

Inherits from

Member Functions Documentation

GetBlocks(TRequestStatus *, CImageFrame *, TInt, TInt, TInt *)

void GetBlocks ( TRequestStatus * aStatus,
CImageFrame * aFrame,
TInt aSeqPosition,
TInt aNumBlocksToGet,
TInt * aNumBlocksRead
) [pure virtual]

Start asynchronous call to return random blocks from the stream

Note:

use CImageDecoder::Cancel() to cancel this request.

Parameters

TRequestStatus * aStatus request status
CImageFrame * 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.
TInt aSeqPosition block number starting at 0 ...
TInt aNumBlocksToGet number of blocks requested
TInt * aNumBlocksRead number of blocks which will be returned when the request completes

GetBufferSize(TUid, TSize &, TInt)

TInt GetBufferSize ( TUid aFormat,
TSize & aBlockSizeInPixels,
TInt aNumBlocks
) const [pure virtual]

Get the size of the memory buffer to hold the returned data.

Parameters

TUid aFormat the required format
TSize & aBlockSizeInPixels size of a single block to be returned
TInt aNumBlocks the number of blocks of size TDecodeStreamCaps::MinBlockSizeInPixels() to be returned by one request

GetCapabilities(TUid, TInt, TDecodeStreamCaps &)

void GetCapabilities ( TUid aFormat,
TInt aFrameNumber,
TDecodeStreamCaps & aCaps
) const [pure virtual]

Returns the capabilities of the codec plugin for a specific format.

Parameters

TUid aFormat The format.
TInt aFrameNumber frame to stream
TDecodeStreamCaps & aCaps The capabilities for the format given.

GetNextBlocks(TRequestStatus *, CImageFrame *, TInt, TInt *, TBool *)

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.

Note:

use CImageDecoder::Cancel() to cancel this request.

Parameters

TRequestStatus * aStatus request status
CImageFrame * 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.
TInt aNumBlocksToGet number of blocks requested
TInt * aNumBlocksRead number of blocks which will be returned when the request completes
TBool * aHaveMoreBlocks

GetSupportedFormatsL(RArray< TUid > &, TUid &)

void GetSupportedFormatsL ( RArray < TUid > & aFormats,
TUid & aOptimalFormat
) const [pure virtual]

Returns a list of supported formats and the optimal format to be used. imageframeconst.h for a list of format uids.

Parameters

RArray < TUid > & aFormats Returns an array of format uids
TUid & aOptimalFormat The 'best' uid to use.

InitFrameL(TUid, TInt, TDecodeStreamCaps::TNavigation)

void InitFrameL ( TUid aFormat,
TInt aFrameNumber,
TDecodeStreamCaps::TNavigation aNavigation
) [pure virtual]
Initialise the stream.
Note:

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

Parameters

TUid aFormat the format to use
TInt aFrameNumber frame to stream
TDecodeStreamCaps::TNavigation aNavigation indication to stream of the way that the stream will be navigated. Allows codec to optimise it's behaviour.