TImageConvStreamedEncode Class Reference

class TImageConvStreamedEncode
Public Member Functions
IMPORT_C voidAddBlocks(TRequestStatus &, const CImageFrame &, const TInt &)
IMPORT_C voidAppendBlocks(TRequestStatus &, const CImageFrame &, TInt)
IMPORT_C voidComplete(TRequestStatus &)
IMPORT_C voidGetCapabilities(TUid, TEncodeStreamCaps &)
IMPORT_C voidGetSupportedFormatsL(RArray< TUid > &, TUid &)
IMPORT_C voidInitFrameL(TUid, TInt, const TSize &, const TSize &, TEncodeStreamCaps::TNavigation, const CFrameImageData *)
Private Member Functions
TImageConvStreamedEncode()
voidSetExtension(MImageConvExtension *)
Private Attributes
MImageConvStreamedEncode *iExtension
TInt iReserved

Constructor & Destructor Documentation

TImageConvStreamedEncode()

IMPORT_CTImageConvStreamedEncode()[private]

Member Functions Documentation

AddBlocks(TRequestStatus &, const CImageFrame &, const TInt &)

IMPORT_C voidAddBlocks(TRequestStatus &aStatus,
const CImageFrame &aBlocks,
const TInt &aSeqPosition
)

Add blocks to the stream at a random position.

Parameters

TRequestStatus & aStatusrequest status
const CImageFrame & aBlockswraps a memory buffer containing the pixel data to be added to the stream
const TInt & aSeqPositionposition of block in stream starting at 0

AppendBlocks(TRequestStatus &, const CImageFrame &, TInt)

IMPORT_C voidAppendBlocks(TRequestStatus &aStatus,
const CImageFrame &aBlocks,
TIntaNumBlocksToAdd
)

Append blocks to the stream.

Parameters

TRequestStatus & aStatusrequest status
const CImageFrame & aBlockswraps a memory buffer containing the pixel data to be added to the stream
TInt aNumBlocksToAddnumber of blocks of size TEncodeStreamCaps::MinBlockSizeInPixels to add to the stream

Complete(TRequestStatus &)

IMPORT_C voidComplete(TRequestStatus &aStatus)

Signal completion of writing the stream

Parameters

TRequestStatus & aStatusrequest status

GetCapabilities(TUid, TEncodeStreamCaps &)

IMPORT_C voidGetCapabilities(TUidaFormat,
TEncodeStreamCaps &aCaps
)const

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

Parameters

TUid aFormatThe format.
TEncodeStreamCaps & aCapsThe capabilities for the format given.

GetSupportedFormatsL(RArray< TUid > &, TUid &)

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

InitFrameL(TUid, TInt, const TSize &, const TSize &, TEncodeStreamCaps::TNavigation, const CFrameImageData *)

IMPORT_C voidInitFrameL(TUidaFormat,
TIntaFrameNumber,
const TSize &aFrameSizeInPixels,
const TSize &aBlockSizeInPixels,
TEncodeStreamCaps::TNavigationaNavigation,
const CFrameImageData *aFrameImageData
)

Initialise the stream.

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

must call InitFrameL before AppendBlocks or AddBlocks. Failure to do so completes request with KErrNotReady

can either specify format through aFormat or aImageFrameData. Conflicts cause a leave with KErrArgument.

Parameters

TUid aFormatthe format to use
TInt aFrameNumberframe to stream
const TSize & aFrameSizeInPixelsSize of this frame in pixels
const TSize & aBlockSizeInPixelsSize of block to be added / appended.
TEncodeStreamCaps::TNavigation aNavigationindication to stream of the way that the stream will be navigated. Allows codec to optimise it's behaviour.
const CFrameImageData * aFrameImageDataThe frame image data (optional pass NULL if not required). There are format-specific image data variants that are used by encoders to obtain image specific data. This behaviour is invoked by specifying aFrameImageData. Otherwise, encoder specific defaults are invoked.

SetExtension(MImageConvExtension *)

voidSetExtension(MImageConvExtension *aExtension)[private]

Parameters

MImageConvExtension * aExtension

Member Data Documentation

MImageConvStreamedEncode * iExtension

MImageConvStreamedEncode *iExtension[private]

TInt iReserved

TInt iReserved[private]