MMMFDevVideoPlayProxy Class Reference

#include "devvideoplay.h"

class MMMFDevVideoPlayProxy
Public Member Functions
pure virtual voidMdvppFatalError(CMMFVideoHwDevice *, TInt)
pure virtual voidMdvppInitializeComplete(CMMFVideoHwDevice *, TInt)
pure virtual voidMdvppNewBuffers()
pure virtual voidMdvppNewPicture(TVideoPicture *)
pure virtual voidMdvppPictureLoss()
pure virtual voidMdvppPictureLoss(const TArray< TPictureId > &)
pure virtual voidMdvppReferencePictureSelection(const TDesC8 &)
pure virtual voidMdvppReturnPicture(TVideoPicture *)
pure virtual voidMdvppSliceLoss(TUint, TUint, const TPictureId &)
pure virtual voidMdvppStreamEnd()
pure virtual voidMdvppSupplementalInformation(const TDesC8 &, const TTimeIntervalMicroSeconds &, const TPictureId &)
pure virtual voidMdvppTimedSnapshotComplete(TInt, TPictureData *, const TTimeIntervalMicroSeconds &, const TPictureId &)

Detailed Description

MMMFDevVideoPlayProxy is the interface to the CMMFDevVideoPlay API implementation that the hardware devices use to deliver data back to the client and report their progress to the API implementation.

Member Function Documentation

MdvppFatalError ( CMMFVideoHwDevice *, TInt )

voidMdvppFatalError(CMMFVideoHwDevice *aDevice,
TIntaError
)[pure virtual]

Reports a fatal error to the client. The device must automatically stop processing video data when such errors occur, and may not do further processing before it has been deleted and re-created.

ParameterDescription
aDevice"The device that reported the error."
aError"The error code."

MdvppInitializeComplete ( CMMFVideoHwDevice *, TInt )

voidMdvppInitializeComplete(CMMFVideoHwDevice *aDevice,
TIntaError
)[pure virtual]

Reports that an asynchronous Initialize() method has completed. The device is now ready for playback.

ParameterDescription
aDevice"The device that was initialzied."
aError"Initialization result error code, KErrNone if initialization was successful."

MdvppNewBuffers ( )

voidMdvppNewBuffers()[pure virtual]

Notifies the client that one or more new empty input buffers are available. Called by the decoder hardware device.

MdvppNewPicture ( TVideoPicture * )

voidMdvppNewPicture(TVideoPicture *aPicture)[pure virtual]

Delivers a new decoded picture to the client. The CMMFDevVideoPlay implementation will maintain a list of decoded pictures and implement GetNewPictureInfo() and NextPictureL() based on those. The pictures will be returned back to the hardware device using ReturnPicture().

ParameterDescription
aPicture"The newly processed picture."

MdvppPictureLoss ( )

voidMdvppPictureLoss()[pure virtual]

Back channel information, indicating a picture loss without specifying the lost picture.

MdvppPictureLoss ( const TArray< TPictureId > & )

voidMdvppPictureLoss(const TArray< TPictureId > &aPictures)[pure virtual]

Back channel information, indicating the pictures that have been lost.

ParameterDescription
aPictures"Picture identifiers for the lost pictures. The reference is only valid until the method returns."

MdvppReferencePictureSelection ( const TDesC8 & )

voidMdvppReferencePictureSelection(const TDesC8 &aSelectionData)[pure virtual]

Back channel information from the decoder, indicating a reference picture selection request. The request is delivered as a coding-standard specific binary message. Reference picture selection can be used to select a pervious correctly transmitted picture to use as a reference in case later pictures have been lost.

ParameterDescription
aSelectionData"The reference picture selection request message. The message format is coding-standard specific, and defined separately. The reference is only valid until the method returns."

MdvppReturnPicture ( TVideoPicture * )

voidMdvppReturnPicture(TVideoPicture *aPicture)[pure virtual]

Returns a used input video picture back to the caller. Called by a post-processor hardware device after the picture has been processed and the picture source was the client, not another plug-in.

ParameterDescription
aPicture"The picture to return."

MdvppSliceLoss ( TUint, TUint, const TPictureId & )

voidMdvppSliceLoss(TUintaFirstMacroblock,
TUintaNumMacroblocks,
const TPictureId &aPicture
)[pure virtual]

Back channel information, indicating the loss of consecutive macroblocks in raster scan order.

ParameterDescription
aFirstMacroblock"The first lost macroblock. The macroblocks are numbered such that the macroblock in the upper left corner of the picture is considered macroblock number 1 and the number for each macroblock increases from left to right and then from top to bottom in raster-scan order." @param "aNumMacroblocks" "The number of lost macroblocks that are consecutive in raster-scan order." @param "aPicture" "The picture identifier for the picture where the macroblocks were lost. If the picture is not known, aPicture.iIdType is set to ENone. The reference is only valid until the method returns."

MdvppStreamEnd ( )

voidMdvppStreamEnd()[pure virtual]

Reports that the input video stream end has been reached and all pictures have been processed. Called by each hardware device after their InputEnd() methods have been called and all data has been processed. The proxy implementation will notify the client about stream end when all hardware devices have called this method.

MdvppSupplementalInformation ( const TDesC8 &, const TTimeIntervalMicroSeconds &, const TPictureId & )

voidMdvppSupplementalInformation(const TDesC8 &aData,
const TTimeIntervalMicroSeconds &aTimestamp,
const TPictureId &aPictureId
)[pure virtual]

Delivers supplemental information from a decoder hardware device to the client. The information is codec-dependent. The method is synchronous - the client MMMFDevVideoPlayObserver::MdvppSupplementalInformation() method is called immediately, and the memory for the supplemental information can be re-used when the call returns.

ParameterDescription
aData"The supplemental data."
aTimestamp"The presentation timestamp for the picture that the supplemental data is part of."
aPictureId"Picture identifier for the picture. If a picture ID is not available, aPictureId.iIdType is set to ENone."

MdvppTimedSnapshotComplete ( TInt, TPictureData *, const TTimeIntervalMicroSeconds &, const TPictureId & )

voidMdvppTimedSnapshotComplete(TIntaError,
TPictureData *aPictureData,
const TTimeIntervalMicroSeconds &aPresentationTimestamp,
const TPictureId &aPictureId
)[pure virtual]

Delivers a timed snapshot result to the client. The memory reserved for the snapshot picture can no longer be used in the device.

ParameterDescription
aError"An error code, KErrNone if no errors occurred. If an error occurred, the data in the snapshot may not be valid, but the memory can still be freed." @param "aPictureData" "The snapshot picture data." @param "aPresentationTimestamp" "The presentation timestamp for the snapshot picture." @param "aPictureId" "Picture identifier for the picture. If a picture ID is not available, aPictureId.iIdType is set to ENone."