TImageConvStreamedDecode Class Reference

class TImageConvStreamedDecode

'Block' streaming extension for Image Conversion Library decoder.

Constructor & Destructor Documentation

TImageConvStreamedDecode()

IMPORT_C TImageConvStreamedDecode ( ) [private]

Member Functions Documentation

GetBlocks(TRequestStatus &, CImageFrame &, TInt, TInt, TInt &)

IMPORT_C void GetBlocks ( TRequestStatus & aStatus,
CImageFrame & aFrame,
TInt aSeqPosition,
TInt aNumBlocksToGet,
TInt & aNumBlocksRead
)

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 top left 0 ... TDecodeStreamCaps::StreamSizeInBlocks()
TInt aNumBlocksToGet number of blocks requested
TInt & aNumBlocksRead number of blocks which will be returned when the request completes

GetBufferSize(TUid, TSize &, TInt)

IMPORT_C TInt GetBufferSize ( TUid aFormat,
TSize & aBlockSizeInPixels,
TInt aNumBlocks
) const

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

Parameters

TUid aFormat the required format
TSize & aBlockSizeInPixels returns the size in pixels of the block returned from the stream when aNumBlocks of minimum block size are requested.
TInt aNumBlocks the number of blocks of size TDecodeStreamCaps::MinBlockSizeInPixels() to be returned by one request

GetCapabilities(TUid, TInt, TDecodeStreamCaps &)

IMPORT_C void GetCapabilities ( TUid aFormat,
TInt aFrameNumber,
TDecodeStreamCaps & aCaps
) const

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

Parameters

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

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

IMPORT_C void GetNextBlocks ( TRequestStatus & aStatus,
CImageFrame & aFrame,
TInt aNumBlocksToGet,
TInt & aNumBlocksRead,
TBool & aHaveMoreBlocks
)

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 &)

IMPORT_C void GetSupportedFormatsL ( RArray < TUid > & aFormats,
TUid & aOptimalFormat
) const

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)

IMPORT_C void InitFrameL ( TUid aFormat,
TInt aFrameNumber,
TDecodeStreamCaps::TNavigation aNavigation
)

Initialise the stream.

leave
System wide error if for example the format is not supported.
Note:

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.

SetExtension(MImageConvExtension *)

void SetExtension ( MImageConvExtension * aExtension ) [private]

Parameters

MImageConvExtension * aExtension

Member Data Documentation

MImageConvStreamedDecode * iExtension

MImageConvStreamedDecode * iExtension [private]

TInt iReserved

TInt iReserved [private]