Location:
devvideoplay.h
class MMMFDevVideoPlayObserver;
The MMMFDevVideoPlayObserver mixin class defines a set of callback functions that the client using the MSL video API needs to implement. The callbacks are called in the context of the same thread that uses the API. DevVideo API methods can be safely called from the callbacks.
Defined in MMMFDevVideoPlayObserver
:
MdvpoFatalError()
, MdvpoInitComplete()
, MdvpoNewBuffers()
, MdvpoNewPictures()
, MdvpoPictureLoss()
, MdvpoPictureLoss()
, MdvpoReferencePictureSelection()
, MdvpoReturnPicture()
, MdvpoSliceLoss()
, MdvpoStreamEnd()
, MdvpoSupplementalInformation()
, MdvpoTimedSnapshotComplete()
virtual void MdvpoNewBuffers()=0;
Notifies the client that one or more new empty input buffers are available. The client can fetch the input buffer with GetBufferL().
virtual void MdvpoReturnPicture(TVideoPicture *aPicture)=0;
Returns a used input video picture back to the caller. The picture memory can be re-used or freed.
|
virtual void MdvpoSupplementalInformation(const TDesC8 &aData, const TTimeIntervalMicroSeconds &aTimestamp, const TPictureId
&aPictureId)=0;
Delivers supplemental information from a coded data unit. The information is codec-dependent.
|
virtual void MdvpoPictureLoss()=0;
Back channel information from the decoder, indicating a picture loss without specifying the lost picture.
virtual void MdvpoPictureLoss(const TArray< TPictureId > &aPictures)=0;
Back channel information from the decoder, indicating the pictures that have been lost.
|
virtual void MdvpoSliceLoss(TUint aFirstMacroblock, TUint aNumMacroblocks, const TPictureId &aPicture)=0;
Back channel information from the decoder, indicating the loss of consecutive macroblocks in raster scan order.
|
virtual void MdvpoReferencePictureSelection(const TDesC8 &aSelectionData)=0;
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.
|
virtual void MdvpoTimedSnapshotComplete(TInt aError, TPictureData *aPictureData, const TTimeIntervalMicroSeconds &aPresentationTimestamp,
const TPictureId &aPictureId)=0;
Called when a timed snapshot request has been completed. When this method is called, the snapshot has been taken, and the memory reserved for the picture can be re-used or freed.
|
virtual void MdvpoNewPictures()=0;
Notifies the client that one or more new output pictures are available. The client can then use GetNewPictureInfo() and NextPicture() to fetch the pictures.
virtual void MdvpoFatalError(TInt aError)=0;
Reports a fatal decoding or playback error to the client. When these errors occur, decoding and playback is stopped automatically.
The client must destroy the CMMFDevVideoPlay
object and create a new instance before attempting to continue. Note that scenarios have been identified where MdvpoFatalError
may get referenced at some point during the execution of a CMMFDevVideoPlay
procedure. Therefore CMMFDevVideoPlay
object should be deleted outside of MdvpoFatalError context in order to avoid accidental access to de-allocated CMMFDevVideoPlay
data members.
Note that running out of processing power or encountering corrupted bitstream data should not be classified as errors if the decoder and post-processor can recover automatically.
|
virtual void MdvpoInitComplete(TInt aError)=0;
Reports that DevVideoPlay initialization has completed. The interface can now be used for video playback.
|
virtual void MdvpoStreamEnd()=0;
Reports that the input video stream end has been reached and all pictures have been processed. This method is only called after the client has called InputEnd(). No more output pictures will be available.