Microsoft DirectX 8.1 (C++)

Video Control Overview

This topic applies to Windows XP Home Edition and Windows XP Professional only.

The Video Control constructs and manages filter graphs for receiving television broadcasts. It also enables the new features provided by Microsoft TV Technologies in Microsoft Windows XP Home Edition and Windows XP Professional. The Video Control works both with digital TV devices that are compatible with Broadcast Driver Architecture, and with WDM-compatible analog TV devices that do not use BDA.

In traditional DirectShow programming, an application creates an instance of a high-level object called the Filter Graph Manager, and uses it to create the filter graph. The filter graph is a set of components called filters, which are connected together to perform some task on a digital media stream. The application has access to individual filters in the graph, but the Filter Graph Manager is responsible for making the filters work together.

Filter graphs for television applications are relatively complex; for example, see Analog TV Filter Graph. Although it is possible to create a TV graph directly through the Filter Graph Manager, doing so is complicated and likely to be error-prone, especially for digital TV. The Video Control makes it convenient to build both analog and digital TV graphs. Moreover, unlike the Filter Graph Manager, the Video Control is fully Automation-compatible, so you can use it in Microsoft Visual Basic® applications or even Web pages, through script.

Devices and Features

Rather than expose individual filters to applications, the Video Control exposes higher level objects called devices. In some cases a device might represent a single filter. In other cases it might represent several filters, or a software component outside the graph. Unlike DirectShow filters, devices are Automation-compatible. Also, devices enable to underlying filter graph to change without affecting the application.

Currently, the following types of device are supported:

Applications can communicate directly with these objects to perform various tasks, but the Video Control handles the low-level details of making these components work together as a unit.

The following diagram illustrates the relationship between the application, the Video Control, and its associated objects.

Video Control and Application

Input Device Objects

For this version of Windows XP Home Edition and Windows XP Professional, the documented input devices include only TV tuner cards. Applications can expose the input device objects to end users, for example to enable a user to switch between multiple TV tuner cards. The following types of TV tuner devices are supported:

Output Device Objects

For this version of Windows XP Home Edition and Windows XP Professional, the only supported output devices are the video renderer and the audio renderer.

By default, the Video Control builds the filter graph with one video renderer and one audio renderer. The video renderer is always the Video Mixing Renderer (VMR), for both analog and digital TV filter graphs. It never uses older filters such as the Overlay Mixer Filter or the Video Renderer Filter. The VMR’s mode of operation differs depending on the type of graph. For analog TV graphs, the Video Control puts the VMR into mixing mode and applications cannot modify this. Mixing mode is required to display closed captioning on analog TV pictures. For digital graphs, the Video Control puts the VMR into non-mixing mode. To enable video mixing, the application must activate the closed caption feature. (You can activate the feature without displaying the captions themselves, if desired.) For more information about the VMR, see Using the Video Mixing Renderer.

For audio, the Video Control uses whichever device is appropriate for the audio stream generated by the input device. If the sound card supports DirectSound, the Video Control uses it.

Feature Objects

Features are objects that represent a service on a television signal, or a client-side capability, or both. Applications determine which features to enable. This release of Windows XP Home Edition and Windows XP Professional supports the following features: