#include <iclexifimageframe.h>
class CJPEGImageFrameDecoder : public CJPEGExifDecoder |
Public Member Functions | |
---|---|
~CJPEGImageFrameDecoder() | |
IMPORT_C void | ContinueConvertFrame(TRequestStatus *) |
IMPORT_C void | ConvertFrame(TRequestStatus *, CImageFrame &) |
IMPORT_C void | ConvertFrame(TRequestStatus *, CImageFrame &, TInt) |
IMPORT_C CJPEGImageFrameDecoder * | NewL() |
IMPORT_C TBool | RecommendedBufferSize(TUid, TInt &) |
IMPORT_C TBool | RecommendedBufferSize(TInt &) |
Protected Member Functions | |
---|---|
CJPEGImageFrameDecoder() |
Inherited Enumerations | |
---|---|
CImageDecoder:TImageType | |
CImageDecoder:TOptions |
This class provides access to an extension of the EXIF JPEG decoder that supports decoding of JPEG images held either in files or in descriptors to a destination of type CImageFrame.
This is an addition to the features provided by CJPEGExifDecoder.
IMPORT_C | CJPEGImageFrameDecoder | ( | ) | [protected] |
Constructor for the CJPEGImageFrameDecoder class.
IMPORT_C | ~CJPEGImageFrameDecoder | ( | ) |
Destructor for the CJPEGImageFrameDecoder class.
IMPORT_C void | ContinueConvertFrame | ( | TRequestStatus * | aRequestStatus | ) |
Continue decoding for destinations of type CImageFrame after new image data was added to the source file or descriptor and a previous call to ConvertFrame() or ContinueConvertFrame() returned KErrUnderflow.
Parameter | Description |
---|---|
aRequestStatus | Request status. This returns an error code on completion. KErrNone if frame was successfully decoded, KErrUnderflow if the frame was partially decoded, KErrNotReady if the destination is not valid, otherwise another of the system-wide error codes. |
IMPORT_C void | ConvertFrame | ( | TRequestStatus * | aRequestStatus, |
CImageFrame & | aDestFrame | |||
) |
Basic decode convert call for destinations of type CImageFrame.
This convert call is a standard asynchronous operation. It takes a pointer to the TRequestStatus object of the waiting active object in the main application which will be signalled when the operation is completed.
If the operation completes with KErrUnderflow, then there is insufficient information in the source file or descriptor. In this situation, ContinueConvertFrame() should be called repeatedly until the source file or descriptor has accumulated enough information for ContinueConvertFrame() to complete with KErrNone.
Parameter | Description |
---|---|
aRequestStatus | Pointer to the TRequestStatus object that is signalled on completion. Contains an error code. KErrNone if frame was decoded successfully, otherwise another of the system-wide error codes. |
aDestFrame | A CImageFrame that will contain the decoded frame. |
IMPORT_C void | ConvertFrame | ( | TRequestStatus * | aRequestStatus, |
CImageFrame & | aDestFrame, | |||
TInt | aFrameNumber | |||
) |
Basic decode convert call for destinations of type CImageFrame when frame number is specified.
This convert call is a standard asynchronous operation. It takes a pointer to the TRequestStatus object of the waiting active object in the main application which will be signalled when the operation is completed.
If the operation completes with KErrUnderflow, then there is insufficient information in the source file or descriptor. In this situation, ContinueConvertFrame() should be called repeatedly until the source file or descriptor has accumulated enough information for ContinueConvertFrame() to complete with KErrNone.
Parameter | Description |
---|---|
aRequestStatus | Pointer to the TRequestStatus object that is signalled on completion. Contains an error code. KErrNone if frame was decoded successfully, otherwise another of the system-wide error codes. |
aDestFrame | A CImageFrame that will contain the decoded frame. |
aFrameNumber | The number of the frame in a multi-frame image to decode. |
IMPORT_C CJPEGImageFrameDecoder * | NewL | ( | ) | [static] |
Reimplemented from CJPEGExifDecoder::NewL()
A factory function that constructs a JPEG CImageFrame decoder as an extension of the ICL EXIF decoder.
A leave occurs if there is insufficient memory available.
Returns: A pointer to the new JPEG CImageFrame decoder.
Returns the size (in bytes) of the buffer required to decode the image supplied to the decoder using a particular format.
The client should supply the buffer size in the aMaxBufferSize parameter of CImageFrame::NewL() when creating the destination CImageFrame before calling CJPEGImageFrameDecoder::ConvertFrame().
Parameter | Description |
---|---|
aFormatCode | The UID of a format code that the client intends to use to decode the image. |
bufferSize | On return contains recommended buffer size to be used, in bytes. Size is 0 if the codec cannot decode the image to the specified format. |
Returns: A boolean indicating whether or not the codec can decode the image to the requested format.
Returns the size (in bytes) of the buffer required to decode the image supplied to the decoder. The size returned will be the required size when using the plugin's default format code.
The client should supply the buffer size in the aMaxBufferSize parameter of CImageFrame::NewL() when creating the destination CImageFrame before calling CJPEGImageFrameDecoder::ConvertFrame().
Parameter | Description |
---|---|
bufferSize | On return contains recommended buffer size to be used, in bytes. Size is 0 if the codec cannot decode the image. |
Returns: A boolean indicating whether or not the codec supports decoding of that image.