MImageConvStreamedEncode Class Reference

class MImageConvStreamedEncode : public MImageConvExtension

Block Streaming extension for encoder plugins.

Inherits from

Member Functions Documentation

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

voidAddBlocks(TRequestStatus *aStatus,
const CImageFrame &aBlocks,
const TInt &aSeqPosition
)[pure virtual]

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)

voidAppendBlocks(TRequestStatus *aStatus,
const CImageFrame &aBlocks,
TIntaNumBlocksToAdd
)[pure virtual]

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

voidComplete(TRequestStatus *aStatus)[pure virtual]

Signal completion of writing the stream

Parameters

TRequestStatus * aStatusrequest status

GetCapabilities(TUid, TEncodeStreamCaps &)

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

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

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, const TSize &, const TSize &, TEncodeStreamCaps::TNavigation, const CFrameImageData *)

voidInitFrameL(TUidaFormat,
TIntaFrameNumber,
const TSize &aFrameSizeInPixels,
const TSize &aBlockSizeInPixels,
TEncodeStreamCaps::TNavigationaNavigation,
const CFrameImageData *aFrameImageData
)[pure virtual]
Initialise the stream. TJpegImageData
Note:

TO DO Do we need to specify where the destination is held e.g. in memory, on flash card etc?

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

can either specify format through aFormat or aImageFrameData. Conflicts should 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. ??? do we want to support multiple blocks being added in which case InitFrameL needs an extra parameter
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. There exists format-specific image data variants that are used by encoders to obtain image specific data. This behaviour is invoked by specifying aFrameImageData. Otherwise, if set to NULL, encoder specific defaults are invoked.

Member Data Documentation

TInt iReserved

TInt iReserved[private]