MImageConvStreamedDecode Class Reference

#include <icl/imageconversionextensionintf.h>

class MImageConvStreamedDecode : public MImageConvExtension

Inherits from

Detailed Description

Block Streaming extension for decoder plugins.

Member Function 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.

ParameterDescription
aStatusrequest status
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.
aSeqPositionblock number starting at 0 ...
aNumBlocksToGetnumber of blocks requested
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.

ParameterDescription
aFormatthe required format
aBlockSizeInPixelssize of a single block to be returned
aNumBlocksthe 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.

GetCapabilities ( TUid, TInt, TDecodeStreamCaps & )

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

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

ParameterDescription
aFormatThe format.
aFrameNumberframe to stream
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.

ParameterDescription
aStatusrequest status
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.
aNumBlocksToGetnumber of blocks requested
aNumBlocksReadnumber of blocks which will be returned when the request completes

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.

See also: imageframeconst.h for a list of format uids.

ParameterDescription
aFormatsReturns an array of format uids
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

ParameterDescription
aFormatthe format to use
aFrameNumberframe to stream
aNavigationindication to stream of the way that the stream will be navigated. Allows codec to optimise it's behaviour.