MImageConvStreamedDecode Class Reference

class MImageConvStreamedDecode : public MImageConvExtension

Block Streaming extension for decoder plugins.

Inherits from

Member Functions Documentation

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

voidGetBlocks(TRequestStatus *aStatus,
CImageFrame *aFrame,
TIntaSeqPosition,
TIntaNumBlocksToGet,
TInt *aNumBlocksRead
)[pure virtual]

Start asynchronous call to return random blocks from the stream

Note:

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

Parameters

TRequestStatus * aStatusrequest status
CImageFrame * aFrameAn 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 aSeqPositionblock number starting at 0 ...
TInt aNumBlocksToGetnumber of blocks requested
TInt * aNumBlocksReadnumber of blocks which will be returned when the request completes

GetBufferSize(TUid, TSize &, TInt)

TInt GetBufferSize(TUidaFormat,
TSize &aBlockSizeInPixels,
TIntaNumBlocks
)const [pure virtual]

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

The memory buffer size in bytes to hold the requested blocks.

Parameters

TUid aFormatthe required format
TSize & aBlockSizeInPixelssize of a single block to be returned
TInt aNumBlocksthe number of blocks of size TDecodeStreamCaps::MinBlockSizeInPixels() to be returned by one request

GetCapabilities(TUid, TInt, TDecodeStreamCaps &)

voidGetCapabilities(TUidaFormat,
TIntaFrameNumber,
TDecodeStreamCaps &aCaps
)const [pure virtual]

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

Parameters

TUid aFormatThe format.
TInt aFrameNumberframe to stream
TDecodeStreamCaps & aCapsThe capabilities for the format given.

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

voidGetNextBlocks(TRequestStatus *aStatus,
CImageFrame *aFrame,
TIntaNumBlocksToGet,
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 * aStatusrequest status
CImageFrame * aFrameAn 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 aNumBlocksToGetnumber of blocks requested
TInt * aNumBlocksReadnumber of blocks which will be returned when the request completes
TBool * aHaveMoreBlocks

GetSupportedFormatsL(RArray< TUid > &, TUid &)

voidGetSupportedFormatsL(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 > & aFormatsReturns an array of format uids
TUid & aOptimalFormatThe 'best' uid to use.

InitFrameL(TUid, TInt, TDecodeStreamCaps::TNavigation)

voidInitFrameL(TUidaFormat,
TIntaFrameNumber,
TDecodeStreamCaps::TNavigationaNavigation
)[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 aFormatthe format to use
TInt aFrameNumberframe to stream
TDecodeStreamCaps::TNavigation aNavigationindication to stream of the way that the stream will be navigated. Allows codec to optimise it's behaviour.