MImageConvStreamedEncode Class Reference

class MImageConvStreamedEncode : public MImageConvExtension

Block Streaming extension for encoder plugins.

Inherits from

Member Functions Documentation

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

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

Add blocks to the stream at a random position.

Parameters

TRequestStatus * aStatus request status
const CImageFrame & aBlocks wraps a memory buffer containing the pixel data to be added to the stream
const TInt & aSeqPosition position of block in stream starting at 0

AppendBlocks(TRequestStatus *, const CImageFrame &, TInt)

void AppendBlocks ( TRequestStatus * aStatus,
const CImageFrame & aBlocks,
TInt aNumBlocksToAdd
) [pure virtual]

Append blocks to the stream.

Parameters

TRequestStatus * aStatus request status
const CImageFrame & aBlocks wraps a memory buffer containing the pixel data to be added to the stream
TInt aNumBlocksToAdd number of blocks of size TEncodeStreamCaps::MinBlockSizeInPixels to add to the stream

Complete(TRequestStatus *)

void Complete ( TRequestStatus * aStatus ) [pure virtual]

Signal completion of writing the stream

Parameters

TRequestStatus * aStatus request status

GetCapabilities(TUid, TEncodeStreamCaps &)

void GetCapabilities ( TUid aFormat,
TEncodeStreamCaps & aCaps
) const [pure virtual]

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

Parameters

TUid aFormat The format.
TEncodeStreamCaps & aCaps The capabilities for the format given.

GetSupportedFormatsL(RArray< TUid > &, TUid &)

void GetSupportedFormatsL ( 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 > & aFormats Returns an array of format uids
TUid & aOptimalFormat The 'best' uid to use.

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

void InitFrameL ( TUid aFormat,
TInt aFrameNumber,
const TSize & aFrameSizeInPixels,
const TSize & aBlockSizeInPixels,
TEncodeStreamCaps::TNavigation aNavigation,
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 aFormat the format to use
TInt aFrameNumber frame to stream
const TSize & aFrameSizeInPixels Size of this frame in pixels
const TSize & aBlockSizeInPixels Size 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 aNavigation indication to stream of the way that the stream will be navigated. Allows codec to optimise it's behaviour.
const CFrameImageData * aFrameImageData The 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]