Microsoft DirectX 8.1 (C++)

DVD Filter Graph Configuration

Generally, application developers don't need to be concerned with the details of the DVD filter graph because it is created automatically. This section is provided for those who want an idea of what is going on behind the scenes. (See DirectShow Filters for more information about the filters described in this article.)

The exact graph configuration depends on two factors, (1) whether the application is running on Windows XP Home Edition or Windows XP Professional, and (2) whether the MPEG-2 decoder is software-based or hardware-based. The following illustration shows a

DVD filter graph with a software decoder for applications that run on Microsoft® Windows® 98SE, Windows 2000, or Windows Me.

DVD Filter Graph

On Windows XP Home Edition and Windows XP Professional, the Overlay Mixer and Video Renderer are replaced by the Video Mixing Renderer filter, and the Line 21 Decoder is replaced by the Line 21 Decoder 2, as shown in the following illustration. This graph also has a software decoder.

DVD Filter Graph for Windows XP

When a hardware decoder is present, it is typically connected directly to the video card by a video port. This enables the decoded video bits to be sent directly to the frame buffer on the graphics card without passing into host memory. To manage this direct connection on earlier versions of Windows, DirectShow supports DirectDraw Video Port Extensions (VPE) through an interface on the Overlay Mixer Filter. The VBI Surface Allocator is used to allocate memory on the video card for the decoding of closed captioning data. In Windows XP Home Edition and Windows XP Professional, all of the VPE functionality is handled by the Video Port Manager. The following diagram shows a filter graph with a hardware decoders for applications running on Windows® 98SE, Windows 2000, or Windows Me.

DVD graph with a hardware decoder for Windows 98/2000

The next diagram shows a DVD filter graph for applications running on Windows XP Home Edition and Windows XP Professional.

DVD graph for Windows XP with a hardware decoder

In all these graphs, the DVD Navigator is the source filter; it performs several tasks:

On the audio stream, the DVD Navigator connects downstream to an audio decoder, which connects to the DirectSound Renderer Filter, the default audio renderer. On the video and subpicture streams, the downstream filters are the third-party video decoder, and the Video Mixing Renderer (or the Overlay Mixer, and the Video Renderer on downlevel applications). If your application will handle line 21 closed-captioned data, you must add the DirectShow Line 21 Decoder 2 filter to the graph. This involves a single method call; the filter will be connected automatically.

Your application communicates with and controls the DVD Navigator through the custom interfaces that the DVD Navigator exposes: IDvdControl2—the "set" methods—and IDvdInfo2—the "get" methods. It also must communicate with the filter graph manager (through IMediaControl) to stop, start, and otherwise control the graph. You might also need to control other individual filters, such as the Overlay Mixer filter for switching between windowed and full-screen display. For more information, see IMixerPinConfig2. The exact configuration of the graph will vary depending on what type of MPEG-2 decoder you have installed, whether you need to handle line 21 closed-captioned data, and other factors.