This document provides an overview of the DevVideo library.
DevVideo provides the interface between the Symbian platform and the video processing hardware for all video functionality.
DevVideo Library Details
The DLL that provides the functionality and the library to which your code must link is identified below.
DevVideo provides middleware components, such as MMF controller plug-ins, access to video codecs, pre-processors and post-processors. DevVideo interacts with:
MMF Controller Framework
The controller framework helps to manage the interface to DevVideo and provides controller plug-ins for playing and recording video data.
Controller plug-ins
Video play and video record controller plug-ins implement play and record functionality respectively.
Video Hardware Device interface
CMMFVideoHwDevice is the base class for all video hardware devices. Video playback hardware devices are video decoders and video post-processors. Video recording hardware devices are video pre-processors and encoders.
Note that, although the interface is called "Hardware Device" interface, it is possible that the codecs, and pre-processors and post-processors, are not running on a separate hardware device. They could be running on the same processor as all the other software.
Shown below is a representation of how DevVideo interacts with the Multimedia Framework and Media Device Framework components:
Figure: DevVideo and related components
DevVideo is a hardware abstraction layer that provides access to video functionality. DevVideo functionality includes video decoding, encoding, pre-processing and post-processing.
The video play and record functionality provided by DevVideo is contained within the following key classes:
MMMFDevVideoPlayProxy - the interface to CMMFDevVideoPlay
. Hardware devices use this interface to deliver data back to the client.
CMMFDevVideoPlay - DevVideoPlay interface and implementation.
MMMFDevVideoPlayObserver - set of callback functions that any client using CMMFDevVideoPlay
must implement.
MMMFDevVideoRecordProxy - the interface to CMMFDevVideoRecord
. Hardware devices use this interface to deliver data back to the client.
CMMFDevVideoRecord - DevVideoRecord interface and implementation.
MMMFDevVideoRecordObserver - set of callback functions that any client using CMMFDevVideoRecord
must implement.
Clients can use DevVideo to:
Select the video decoder to use.
Configure the video decoder.
Select the video post-processor to use.
Configure the video post-processor.
Set clock source for timing video playback.
Set video output destination.
Start video playback.
Pause video playback.
Stop video playback.
Select the video encoder to use.
Configure the video encoder.
Select the video pre-processor to use.
Configure the video pre-processor.
Set clock source for timing of video recording.
Start video recording.
Pause video recording.
Stop video recording.
Pass video buffers to and from the client.
Pass pictures to and from the client.