Microsoft DirectX 9.0

DVD Applications

Microsoft® DirectShow® provides a component called the DVD Navigator source filter which simplifies DVD navigation tasks in C++. The DVD Navigator has all the capabilities that you find on a full-featured stand-alone DVD player, plus additional capabilities specific to playing DVDs on personal computers. Using the DVD Navigator, C++ and scripting developers can create full-featured DVD applications without referring to the DVD specification. The DVD Navigator, in coordination with the decoder filters, also handles regional management and copyright protection (CSS and Macrovision), isolating application developers from these details.

The DVD Navigator filter works across an entire DVD-Video "volume," which consists of the files in the VIDEO_TS directory. Unlike most DirectShow source filters that work with individual streams or files, the DVD Navigator uses the DVD-Video structure of titles, chapters, and time codes. Developers wishing to play individual MPEG-2 files in DirectShow should use the MPEG-2 Demultiplexer instead of the DVD Navigator filter. See MPEG-2 Support in DirectShow for more information.

C++ developers control the DVD Navigator directly through the Component Object Model (COM) interfaces it exposes. Script or Visual Basic developers targeting Windows 2000 platforms or earlier can control the DVD Navigator indirectly through the MSWebDVD ActiveX® control. On Windows XP, this same DVD-Navigator based functionality is also provided through the Video Control using the MSVidWebDVD object. For more information, see Using the Video Control.

Most DVD applications, including as players with customized interfaces, Web pages that control DVD playback, PowerPoint presentations with embedded DVD video, can be created in HTML or Visual Basic using the MSVidWebDVD object, together with the Video Control. This is simpler and faster than using C++, which is only required for more specialized applications, such as games, programs that overlay graphics on video, custom ActiveX controls or DLLs, and so on. The MSWebDVD ActiveX control is another lightweight control, but its functionality is contained within the MSVidWebDVD object, and is only recommended with Windows 2000 or earlier platforms.

Note   DirectShow provides all the filters necessary to navigate and play DVD-Video except the MPEG-2 decoder. To play DVDs using an application based on DirectShow, users must have installed on their system a third-party hardware or software decoder that is DirectShow-compatible.

This section contains the following topics.

To develop a DVD application using the Video Control, see DVD Applications in Visual Basic (Video Control).

For references on DVD/MPEG2 decoder development, see DVD Decoder Development in DirectShow.

DVD-ROM content developers: The DVD-ROM Boilerplate video is located in the Extras\DirectShow\DVDBoilerplate folder of the DirectX SDK. (Click on "Explore this CD" to navigate to the folder. This folder does not install to your local drive.) The boilerplate video is provided for developers producing DVD-ROM titles that contain no DVD-Video formatted data. A disc without a proper DVD-Video zone may behave unpredictably when placed in a standalone DVD-Video player, possibly ejecting the disc or locking up. This confusing situation can be avoided by adding the DVD-ROM boilerplate video to the disc. When the disc is inserted into a DVD-Video player it will display a message informing the user that the disc is designed to work in a DVD-ROM PC with Microsoft® Windows®.