Video Client Overview

This document provides an overview of the video client library in the multimedia framework component.

Purpose

The Video Client provides basic video file manipulation features. The Video Client enables you to:

  • Record and play back video clips (with and without attached audio).

  • Render video to graphics surfaces (with and without an associated target window).

  • Manipulate video file metadata (if supported by the video format being used).

Video Client Library Details

The DLL that provides the functionality and the library to which your code must link is identified below.

DLL LIB Short Description

mediaclientvideo.dll

mediaclientvideo.lib

These files are used for implementing the Video Client.

Architectural Relationship

The methods for playing and recording video clips interact with the lower levels of MMF (known as the controller framework). The controller framework is in turn responsible for managing the interface to video and audio hardware. On some phones, this is implemented as a device driver; on others it may be implemented as a connection to lower level hardware controllers.

Clients using the CVideoPlayerUtility or CVideoRecorderUtility classes must have an active scheduler running in their thread because the implementations use active objects and callbacks.

The CVideoPlayerUtility function uses CMediaClientVideoDisplay to support video display. This allows clients to use video display functionality separately from the client utilities.

Description

The video classes are plug-in based, leaving the list of supported video formats for input and output open ended. Unlike the audio classes, no default video formats/codecs are provided. It is the responsibility of the device creator to develop and implement appropriate video plug-ins.

Key Video Client Classes

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

  • CVideoPlayerUtility - the video player class. This class provides an interface to play sampled video data.

  • MVideoPlayerUtilityObserver - an interface to a set of video player callback functions.

  • CVideoRecorderUtility - the video recorder class. This class provides an interface to record sampled video data.

  • MVideoRecorderUtilityObserver - an interface to a set of video recorder callback functions.