Table of Contents

Class DVDTitleInfo

Namespace
VisioForge.Core.Types.MediaInfo
Assembly
VisioForge.Core.dll

Represents comprehensive information about a DVD title, including its attributes, menu structure, chapters, and parental controls.

public class DVDTitleInfo

Inheritance

Inherited Members

Examples

// Analyzing DVD title information
void AnalyzeDVDTitle(DVDTitleInfo titleInfo)
{
    Console.WriteLine($"Title has {titleInfo.NumberOfChapters} chapters");

    // Check parental controls
    if (titleInfo.ParentalLevel.HasFlag(DVDTitleInfoParentalLevel.Level5))
    {
        Console.WriteLine("Title requires parental level 5 or higher");
    }

    // Analyze main video attributes
    if (titleInfo.MainAttributes?.VideoAttributes != null)
    {
        var video = titleInfo.MainAttributes.VideoAttributes;
        Console.WriteLine($"Video: {video.SourceResolutionX}x{video.SourceResolutionY}");
        Console.WriteLine($"Frame rate: {video.FrameRate} fps");
    }

    // Check for interactive menus
    if (titleInfo.MenuAttributes != null)
    {
        Console.WriteLine("Title includes interactive menus");
    }
}

Remarks

A DVD title is a major content unit on a DVD disc, typically representing a movie, episode, or other complete program. Each title contains its own set of chapters, audio tracks, subtitle tracks, and menu systems. DVDs can contain multiple titles - for example, a disc might have the main feature as Title 1, deleted scenes as Title 2, and behind-the-scenes content as Title 3.

DVD Title Structure:

  • Title: Complete program unit (movie, episode, etc.)
  • Chapter: Subdivision of a title for navigation (scenes)
  • Cell: Smallest playback unit containing video/audio data
  • VOBU: Video Object Unit - group of GOPs (Group of Pictures)

Title Attributes:
Each title has specific attributes defining its video format, audio options, subtitle availability, and playback restrictions. These attributes help players determine compatibility and available features.

Menu System:
DVD titles often include interactive menus for navigation, language selection, and special features. The menu attributes define the video format and capabilities of these interactive elements.

Properties

MainAttributes

Gets or sets the main attributes of the DVD title, including video, audio, and subtitle stream information.

public DVDTitleAttributes MainAttributes { get; set; }

Property Value

DVDTitleAttributes

Remarks

Main attributes define the actual content streams available during playback, including: video format, multiple audio tracks (different languages, commentary), subtitle options, and angle information for multi-angle scenes.

MenuAttributes

Gets or sets the attributes of the DVD menu system associated with this title.

public DVDMenuAttributes MenuAttributes { get; set; }

Property Value

DVDMenuAttributes

Remarks

DVD menus provide interactive navigation and can include:

  • Main menu: Title selection, setup options
  • Chapter menu: Scene selection within the title
  • Audio menu: Language and commentary track selection
  • Subtitle menu: Subtitle language selection
  • Special features menu: Bonus content navigation
Menu attributes define the video format used for these interactive screens, which may differ from the main content's video format.

NumberOfChapters

Gets or sets the total number of chapters (scenes) in this DVD title.

public int NumberOfChapters { get; set; }

Property Value

int

Remarks

Chapters provide convenient navigation points within a title, similar to bookmarks. They allow viewers to jump directly to specific scenes or segments. Chapter points are typically placed at natural breaks in the content, such as:

  • Scene changes in movies
  • Commercial breaks in TV episodes
  • Song boundaries in concerts
  • Topic changes in documentaries

The DVD specification allows up to 99 chapters per title. Chapter information is stored in the Program Chain (PGC) structure of the DVD's IFO files.

ParentalLevel

Gets or sets the parental control levels supported by this DVD title.

public DVDTitleInfoParentalLevel ParentalLevel { get; set; }

Property Value

DVDTitleInfoParentalLevel

Remarks

DVD parental controls allow content to be restricted based on viewer age or maturity level. The system uses 8 levels, where Level 1 is the most restrictive (suitable for all ages) and Level 8 is the least restrictive (adult content).

Typical Level Mappings:

  • Level 1: General audiences, all ages
  • Level 3: Parental guidance suggested
  • Level 4: PG-13 equivalent
  • Level 6: Restricted, under 17 requires parent
  • Level 8: Adults only

When multiple levels are flagged, it indicates the title can be played at any of those levels, potentially with different content (e.g., edited versions for lower levels).

TimeCodeFlags

Gets or sets the time code flags that indicate special timing or playback characteristics of the title.

public ulong TimeCodeFlags { get; set; }

Property Value

ulong

Remarks

Time code flags provide additional timing metadata that helps ensure proper playback, especially when dealing with mixed frame rates or converted content. Common flags include:

  • Drop-frame timecode indicator (for NTSC 29.97 fps content)
  • Film source flag (24 fps content with 3:2 pulldown)
  • Progressive/interlaced indicators
  • Time base references for synchronization

These flags are particularly important for professional video editing and authoring applications that need to maintain frame-accurate timing.