DevVideo Library Overview

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.

DLL LIB Short Description



These files are used for implementing DevVideo.

Architectural Relationship

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 1. 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.

Key DevVideo Classes

The video play and record functionality provided by DevVideo is contained within the following key classes:

Using DevVideo

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.