#include <icl/imageconversionextensionintf.h>
class MImageConvStreamedEncode : public MImageConvExtension |
Public Member Functions | |
---|---|
pure virtual void | AddBlocks(TRequestStatus *, const CImageFrame &, const TInt &) |
pure virtual void | AppendBlocks(TRequestStatus *, const CImageFrame &, TInt) |
pure virtual void | Complete(TRequestStatus *) |
pure virtual void | GetCapabilities(TUid, TEncodeStreamCaps &) |
pure virtual void | GetSupportedFormatsL(RArray< TUid > &, TUid &) |
pure virtual void | InitFrameL(TUid, TInt, const TSize &, const TSize &, TEncodeStreamCaps::TNavigation, const CFrameImageData *) |
Inherited Functions | |
---|---|
MImageConvExtension::IncrementRef() | |
MImageConvExtension::Release() | |
MImageConvExtension::Uid()const |
Block Streaming extension for encoder plugins.
void | AddBlocks | ( | TRequestStatus * | aStatus, |
const CImageFrame & | aBlocks, | |||
const TInt & | aSeqPosition | |||
) | [pure virtual] |
Add blocks to the stream at a random position.
Parameters | |
---|---|
aStatus | request status |
aBlocks | wraps a memory buffer containing the pixel data to be added to the stream |
aSeqPosition | position of block in stream starting at 0 |
void | AppendBlocks | ( | TRequestStatus * | aStatus, |
const CImageFrame & | aBlocks, | |||
TInt | aNumBlocksToAdd | |||
) | [pure virtual] |
Append blocks to the stream.
Parameters | |
---|---|
aStatus | request status |
aBlocks | wraps a memory buffer containing the pixel data to be added to the stream |
aNumBlocksToAdd | number of blocks of size TEncodeStreamCaps::MinBlockSizeInPixels to add to the stream |
void | Complete | ( | TRequestStatus * | aStatus | ) | [pure virtual] |
Signal completion of writing the stream
Parameters | |
---|---|
aStatus | request status |
void | GetCapabilities | ( | TUid | aFormat, |
TEncodeStreamCaps & | aCaps | |||
) | const [pure virtual] |
Returns the capabilities of the codec plugin for a specific format.
Parameters | |
---|---|
aFormat | The format. |
aCaps | The capabilities for the format given. |
Returns a list of supported formats and the optimal format to be used.
See also: imageframeconst.h for a list of format uids.
Parameters | |
---|---|
aFormats | Returns an array of format uids |
aOptimalFormat | The 'best' uid to use. |
void | InitFrameL | ( | TUid | aFormat, |
TInt | aFrameNumber, | |||
const TSize & | aFrameSizeInPixels, | |||
const TSize & | aBlockSizeInPixels, | |||
TEncodeStreamCaps::TNavigation | aNavigation, | |||
const CFrameImageData * | aFrameImageData | |||
) | [pure virtual] |
Initialise the stream.
See also: TJpegImageData
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 | |
---|---|
aFormat | the format to use |
aFrameNumber | frame to stream |
aFrameSizeInPixels | Size of this frame in pixels |
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 |
aNavigation | indication to stream of the way that the stream will be navigated. Allows codec to optimise it's behaviour. |
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. |