Microsoft DirectX 8.1 (C++)

Working with DVD Text Strings

DVD discs, especially karaoke discs, might contain a database of text information to supplement the video or audio content. Such text on karaoke discs can include song titles, artist names, record labels, and so on. Versions of this text can be present in more than one language. These strings are optional; discs are not required to have them. If present, they are organized in a way that closely mirrors the logical hierarchy of the DVD volume. Each string is preceded by a number that identifies what part of the disc structure the string belongs to or gives some clue as to the content of the string. A subset of the string types is defined in the DVD_TextStringType enumeration.

There are two basic types of text strings: structure identifiers and content strings. Types with a value of 0x01 through 0x20 are structure identifiers. They are empty strings; the numerical code is used to identify the logical structure to which any following content strings belong. This structure corresponds very closely to the logical structure of a DVD disc contents: volume, title, chapter, and so on. The remaining types identify content strings that hold information that may be displayed to the viewer in a user interface. The exact way in which content strings are used is not closely defined, so DVD authors can use them in various ways.

Historically, DVD text strings have been used almost exclusively on karaoke discs, and these discs mostly use the 0x01 and 0x02 structure identifiers and the 0x30 type content string. But it is reasonable to assume that, as time goes by, more types of DVD-Video discs will contain text strings and these strings will be organized in more complex ways to provide fuller descriptions of disc contents.

For information on DVD text strings, see the DVD Forum at www.dvdforum.org.

The CDvdCore::GetDvdText method in the DVDSample application demonstrates the basic steps in enumerating and displaying DVD text strings.