Microsoft DirectX 8.1 (C++)

Building the DVD Filter Graph

The recommended way to build the DVD playback filter graph is to have a DVD Graph Builder object do it for you automatically. This approach is demonstrated below and in the DVD sample application. If you need to build your DVD filter graph manually, you can do so by following the basic rules of graph building discussed elsewhere in the DirectShow documentation. Generally, you should not manually add, remove, connect, or disconnect individual filters in the graph created by the DVD Graph Builder, because doing so might confuse the cleanup code.

When creating an instance of the DVD Graph Builder object, an application receives a pointer to the object’s IDvdGraphBuilder interface. Call IDvdGraphBuilder::GetFiltergraph to obtain the filter graph manager’s IGraphBuilder interface, and then call QueryInterface on IGraphBuilder to obtain IMediaEventEx. Use this interface to begin receiving events before building the rest of the graph. This will ensure that your application receives events from the DVD Navigator when it is initialized. To build the graph, simply call the IDvdGraphBuilder::RenderDvdVideoVolume method. For more information, see Building the Filter Graph.

On Windows XP Home Edition and Windows XP Professional, the DVD Graph Builder will always use the Video Mixing Renderer (VMR) in the graph, unless: