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 analog copy protection), 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.
To play DVDs, the user must have an MPEG-2 decoder.
This section contains the following topics.
- DVD Support Features in DirectShow
- DVD Basics
- Building the DVD Filter Graph
- Obtaining the DVD Interface Pointers
- DVD Commands
- Identifying Valid DVD Operations
- Synchronizing DVD Commands
- Data Flow in the DVD Navigator
- Handling DVD Event Notifications
- Working With DVD Menus
- Audio and Subpicture Streams
- Enforcing Parental Management Levels
- Saving and Restoring DvdState Objects
- Working with DVD Text Strings
- Playing Karaoke Audio Streams
- Handling Disc Ejections
- DVD Playback Enhancements in Windows Vista
- DVD Filter Graph Configuration
- Shortcuts to C++ DVD Reference Pages
For references on DVD/MPEG2 decoder development, see DVD Decoder Development in DirectShow.