IDvdControl Interface

The IDvdControl interface controls the playback and search mechanisms of a DVD title that contains one or more video movies.

The DVD file system is very different from a format such as CD-ROM, which contains a linear series of tracks not easily customizable by the author. The author of DVD-formatted media files can control track layout and navigation much more precisely; the media file itself has many parts and control mechanisms, which enables the author to arrange and rearrange the playback order as needed. You can locate a specific portion of a file by time (in hours, minutes, seconds, and frames) or by chapter value.

A media file is made up of a list of program chains (PGCs), each of which is made up of a list of programs, each of which is made up of a list of cells, each of which is made up of a list of video object units (VOBUs), each of which is made up of a list of packs, and each of which is made up of actual MPEG data.

To obtain a copy of the DVD-Video specification, "DVD Specifications for Read-Only Disc, Part 3, Video Specifications," contact Toshiba Corporation at 1-1, Shibaura 1-Chrome, Minato-ku, Tokyo 105-01, Japan, Tel. +81-3-5444-9580, Fax. +81-3-5444-9430.

This interface is implemented by the Microsoft® DirectShow® DVD Navigator to enable DVD playback.

Use this interface to control playback (set root drive, play, stop, and so forth) or use DVD-specific functionality such as menus and buttons when playing DVD-Video files.

Methods in Vtable Order

IUnknown methodsDescription
QueryInterface Retrieves pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IDvdControl methodsDescription
TitlePlay Finds the media file with the specified title index and plays it back.
ChapterPlay Plays the media file with the specified title index and chapter value.
TimePlay Plays the media file with the specified title index, starting at the specified time.
StopForResume Transitions playback to the DVD_DOMAIN_Stop state after saving resume information.
GoUp Halts playback of the current media file and starts playback of the designated previous program chain (PGC).
TimeSearch Halts playback of the current chapter and starts playback from the specified time in the same media file.
ChapterSearch Halts playback of the current chapter and starts playback from the specified chapter value in the same media file.
PrevPGSearch Halts playback of the current program and starts playback from the previous program within the program chain (PGC).
TopPGSearch Halts playback of the current program and restarts playback of the current program within the program chain (PGC).
NextPGSearch Halts playback of the current program and starts playback from the next program within the program chain (PGC).
ForwardScan Searches forward through the current disc at the specified speed.
BackwardScan Searches backward through the current disc at the specified speed.
MenuCall Displays the specified menu on the screen.
Resume Returns to playing back a title from a menu.
UpperButtonSelect Selects the upper directional button from the displayed menu.
LowerButtonSelect Selects the lower directional button from the displayed menu.
LeftButtonSelect Selects the left directional button from the displayed menu.
RightButtonSelect Selects the right directional button from the displayed menu.
ButtonActivate Activates the selected button.
ButtonSelectAndActivate Selects and activates the specified button.
StillOff Resumes playback, canceling still mode.
PauseOn Pauses the current media file playback.
PauseOff Unpauses the current media file playback.
MenuLanguageSelect Sets the displayed language for navigation menus.
AudioStreamChange Sets the current audio stream.
SubpictureStreamChange Selects the new subpicture stream and enables or disables it for display.
AngleChange Sets the new display angle.
ParentalLevelSelect Sets the parental access level for the current media file.
ParentalCountrySelect Sets the current country for controlling parental access levels.
KaraokeAudioPresentationModeChange Sets the audio playback mode to karaoke.
VideoModePreferrence Sets the video display mode the user prefers.
SetRoot Sets the root directory containing the DVD-Video volume.
MouseActivate Selects and activates a DVD button in response to a mouse click.
MouseSelect Selects a DVD button in response to mouse movement.
ChapterPlayAutoStop Start playing at the specified chapter within the specified title and play the number of chapters specified.

IDvdControl::AngleChange

IDvdControl Interface

Sets the new display angle.

Syntax

HRESULT AngleChange(
    ULONG ulAngle
);

Parameters

ulAngle
[in] Value of the new angle, which must be from 1 through 9.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

IDvdControl::AudioStreamChange

IDvdControl Interface

Sets the current audio stream.

Syntax

HRESULT AudioStreamChange(
    ULONG nAudio
);

Parameters

nAudio
[in] Value that specifies the audio track to use, which must be from 0 through 7.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

AudioStreamChange affects the audio of the current Video Title Set (VTS). When called from within a menu, this method sets the audio stream of the title from which the menu was called.

IDvdControl::BackwardScan

IDvdControl Interface

Searches backward through the current disc at the specified speed.

Syntax

HRESULT BackwardScan(
    double dwSpeed
);

Parameters

dwSpeed
[in] Value that specifies how quickly DirectShow will search through the media file. This value is a multiplier, where 1.0 is the authored speed, so a value of 2.5 will search backward at two and one-half times the authored speed, while a value of 0.5 will search backward at half the authored speed. The actual speed of playback depends on the capabilities of the video decoder, and might differ from the specified rate.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::ButtonActivate

IDvdControl Interface

Activates the selected button.

Syntax

HRESULT ButtonActivate(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

"Selecting" a DVD button simply highlights the button but does not "activate" the button. Selecting is the Microsoft® Windows® equivalent of tabbing to a button but not pressing the SPACEBAR or ENTER key. Activating is the Windows equivalent of pressing the SPACEBAR or ENTER key after tabbing to a button.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

See Also

IDvdControl::ButtonSelectAndActivate

IDvdControl::ButtonSelectAndActivate

IDvdControl Interface

Selects and activates the specified button.

Syntax

HRESULT ButtonSelectAndActivate(
    ULONG uiButton
);

Parameters

uiButton
[in] Value that specifies the button that will be selected and activated, which must be from 1 through 36.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

Electronic remote control devices typically have a number of buttons that activate various functions of a DVD playback unit. Typically, you call this method when a user clicks a button on the control device; DirectShow then indicates that the button was selected (by playing a sound or changing a graphic, for example) and calls methods appropriate to which button was selected, such as ButtonActivate.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::ChapterPlay

IDvdControl Interface

Plays the media file with the specified title index and chapter value.

Syntax

HRESULT ChapterPlay(
    ULONG uiTitle,
    ULONG uiChapter
);

Parameters

uiTitle
[in] Value that specifies the title number DirectShow will play back; this value must be from 1 through 99.
uiChapter
[in] Value that specifies the chapter within the specified title where DirectShow will start playback; this value must be from 1 through 999.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

IDvdControl::ChapterPlayAutoStop

IDvdControl Interface

Instructs the DVD player to start playing at the specified chapter within the specified title and play the number of chapters specified.

Syntax

HRESULT ChapterPlayAutoStop(
    ULONG ulTitle,
    ULONG ulChapter,
    ULONG ulChaptersToPlay
);

Parameters

ulTitle
[in] Title number for playback.
ulChapter
[in] Chapter number to start playback.
ulChaptersToPlay
[in] Number of chapters to play from the start chapter.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method is valid in any domain. For more information, see DVD_DOMAIN.

Chapters range from 1 through 999. See EC_DVD_CHAPTER_AUTOSTOP for more information.

IDvdControl::ChapterSearch

IDvdControl Interface

Halts playback of the current chapter and starts playback from the specified chapter within the same title.

Syntax

HRESULT ChapterSearch(
    ULONG Chapter
);

Parameters

Chapter
Chapter value that specifies the point where playback will begin.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::ForwardScan

IDvdControl Interface

Searches forward through the current disc at the specified speed.

Syntax

HRESULT ForwardScan(
    double dwSpeed
);

Parameters

dwSpeed
[in] Value that specifies how quickly DirectShow will search through the media file. This value is a multiplier, where 1.0 is the authored speed, so a value of 2.5 will search forward at two and one-half times the authored speed, while a value of 0.5 will search forward at half the authored speed. Note that the actual speed of playback depends on the capabilities of the video decoder, and might differ from the specified rate.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::GoUp

IDvdControl Interface

Halts playback of the current media file and starts playback of the designated previous program chain (PGC).

Syntax

HRESULT GoUp(void);

Return Value

Returns an HRESULT value.

Remarks

Each PGC is associated with a previous PGC at authoring time, which this method sets as the new playback file.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::KaraokeAudioPresentationModeChange

IDvdControl Interface

Sets the audio playback mode to karaoke.

Syntax

HRESULT KaraokeAudioPresentationModeChange(
    ULONG ulMode
);

Parameters

ulMode
[in] Requested audio playback mode.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

Karaoke support is currently not implemented.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

IDvdControl::LeftButtonSelect

IDvdControl Interface

Selects the left directional button from the displayed menu.

Syntax

HRESULT LeftButtonSelect(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

On physical or electronic remote control devices, there is often a group of four directional buttons used for certain types of operations (such as menu navigation). This method tells DirectShow that something (the user, probably) triggered the left directional button.

"Selecting" a DVD button simply highlights the button but does not "activate" the button. Selecting is the Windows equivalent of tabbing to a button but not pressing the SPACEBAR or ENTER key. Activating is the Windows equivalent of pressing the SPACEBAR or ENTER key after tabbing to a button.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::LowerButtonSelect

IDvdControl Interface

Selects the lower directional button from the displayed menu.

Syntax

HRESULT LowerButtonSelect(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

On physical or electronic remote control devices, there is often a group of four directional buttons used for certain types of operations (such as menu navigation). This method tells DirectShow that something (the user, probably) triggered the lower directional button.

"Selecting" a DVD button simply highlights the button but does not "activate" the button. Selecting is the Windows equivalent of tabbing to a button but not pressing the SPACEBAR or ENTER key. Activating is the Windows equivalent of pressing the SPACEBAR or ENTER key after tabbing to a button.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::MenuCall

IDvdControl Interface

Displays the specified menu on the screen.

Syntax

HRESULT MenuCall(
    DVD_MENU_ID MenuID
);

Parameters

MenuID
[in] Value that specifies the menu to display. Member of the DVD_MENU_ID enumerated data type.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

IDvdControl::MenuLanguageSelect

IDvdControl Interface

Sets the displayed language for navigation menus.

Syntax

HRESULT MenuLanguageSelect(
    LCID LanguageCode
);

Parameters

LanguageCode
Value that specifies the new language.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method selects the default language for menus.

This method returns an error unless the domain is DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

Applications specify languages with standard Windows LCIDs.

IDvdControl::MouseActivate

IDvdControl Interface

Selects and activates a DVD button in response to a mouse click.

Syntax

HRESULT MouseActivate(
    POINT point );

Parameters

point
[in] Specified point within the display window.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method checks the specified point within the display window to see if it is within a current DVD button's highlight rectangle. If it is, this method selects and then activates the button.

DVD buttons do not all necessarily have highlight rectangles. Button rectangles can overlap, and the rectangles do not always correspond to the visual representation of DVD buttons.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::MouseSelect

IDvdControl Interface

Selects a DVD button in response to mouse movement.

Syntax

HRESULT MouseSelect(
    POINT point );

Parameters

point
[in] Specified point within the display window.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method is valid in any domain. For more information, see DVD_DOMAIN.

This method checks the specified point within the display window to see if it is within a current DVD button's highlight rectangle. If it is, this method selects the button.

DVD buttons do not all necessarily have highlight rectangles. Button rectangles can overlap, and the rectangles do not always correspond to the visual representation of DVD buttons.

IDvdControl::NextPGSearch

IDvdControl Interface

Halts playback of the current program and starts playback from the next program within the program chain (PGC).

Syntax

HRESULT NextPGSearch(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

A program is usually equivalent to a chapter, and a PGC is usually equivalent to a title. In the case of One_Sequential_PGC_Titles, each program is required to be a chapter and each title has only one PGC, but in other cases (especially with random/shuffle PGCs and parental blocks) there can be more than one program between chapters and there can be more than one PGC in a title.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::ParentalCountrySelect

IDvdControl Interface

Sets the current country for controlling parental access levels.

Syntax

HRESULT ParentalCountrySelect(
    WORD wCountry
);

Parameters

wCountry
[in] Value that specifies the current country according to the Alpha-2 Code defined in ISO3166. See Remarks.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

The ISO3166 2-letter country codes in the wCountry parameter must be supplied to this method as a WORD. The conversion is demonstrated for the United States (US) in the following line of code.

WORD wCountry  =  ( WORD( 'U' ) << 8 ) | 'S';

See Also

IDVDControl::ParentalLevelSelect

IDvdControl::ParentalLevelSelect

IDvdControl Interface

Sets the parental access level for the current media file.

Syntax

HRESULT ParentalLevelSelect(
    ULONG ulParentalLevel
);

Parameters

ulParentalLevel
Value that specifies the current media file parental access level. Should be a value from 1 to 8, inclusive. Predefined parental levels are as follows:
1The rating is G, General.
3The rating is PG, Parental Guidance Suggested.
4The rating is PG-13, Parental Guidance Suggested, not recommended for those under 13.
6The rating is R, Restricted.
7The rating is NC-17.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

This method sets the current user's access level; this access level determines what media files the user can play back. Higher levels can play lower-level content; lower levels can't play higher-level content. For example, adults can watch child-safe content, but children can't watch adult content.

The DVD Navigator filter provides no restriction on setting the parental level. DVD player applications can enforce restrictions on the parental level setting, such as providing password protection for raising the current parental level. Parental management in the DVD Navigator is disabled by default.

To disable parental management, pass 0xffffffff for ulParentalLevel. If parental management is disabled, then the player will play the first program chain (PGC) in a parental block regardless of parental IDs.

See Also

IDVDControl::ParentalCountrySelect

IDvdControl::PauseOff

IDvdControl Interface

Resumes playback of the current media file after a pause.

Syntax

HRESULT PauseOff(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

If the media file was not paused in playback, this method does nothing.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

See Also

IDvdControl::PauseOn

IDvdControl::PauseOn

IDvdControl Interface

Pauses the current media file playback.

Syntax

HRESULT PauseOn(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method freezes playback and any internal timers, similar to IMediaControl::Pause. If the media file was not running, this method does nothing.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

See Also

IDvdControl::PauseOff

IDvdControl::PrevPGSearch

IDvdControl Interface

Halts playback of the current program and starts playback from the previous program within the program chain (PGC).

Syntax

HRESULT PrevPGSearch(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

A program is usually equivalent to a chapter, and a PGC is usually equivalent to a title. In the case of One_Sequential_PGC_Titles, each program is required to be a chapter and each title has only one PGC, but in other cases (especially with random/shuffle PGCs and parental blocks) there can be more than one program between chapters and there can be more than one PGC in a title.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::Resume

IDvdControl Interface

Returns to playing back a title from a menu.

Syntax

HRESULT Resume(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

If the file is stopped or already running, this method does nothing.

This method returns to title playback in DVD_DOMAIN_Title. Applications typically call this method after MenuCall which puts the DVD Navigator in DVD_DOMAIN_VideoTitleSetMenu or DVD_DOMAIN_VideoManagerMenu.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu or DVD_DOMAIN_VideoTitleSetMenu. For more information, see DVD_DOMAIN.

IDvdControl::RightButtonSelect

IDvdControl Interface

Selects the right directional button from the displayed menu.

Syntax

HRESULT RightButtonSelect(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_OUTOFMEMORY Out of memory (insufficient buffer space).
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

On physical or electronic remote control devices, there is often a group of four directional buttons used for certain types of operations (such as menu navigation). This method tells DirectShow that something (the user, probably) triggered the right directional button.

"Selecting" a DVD button simply highlights the button but does not "activate" the button. Selecting is the Windows equivalent of tabbing to a button but not pressing the SPACEBAR or ENTER key. Activating is the Windows equivalent of pressing the SPACEBAR or ENTER key after tabbing to a button.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::SetRoot

IDvdControl Interface

Sets the root directory containing the DVD-Video volume.

Syntax

HRESULT SetRoot(
    LPCWSTR pszPath
);

Parameters

pszPath
[in] Pointer to the directory name to set as the root directory.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER NULL pointer argument.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

If you haven't set the root directory before calling IDvdControl::TitlePlay, the first drive starting from C: that contains a VIDEO_TS directory in the top level directory will be used as the root.

IDvdControl::StillOff

IDvdControl Interface

Resumes playback, canceling still mode.

Syntax

HRESULT StillOff(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

If the display image was not in still-store mode, this method does nothing.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::StopForResume

IDvdControl Interface

Transitions playback to the DVD_DOMAIN_Stop state after saving resume information.

Syntax

HRESULT StopForResume(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

If no file is playing or paused, this method does nothing.

The DVD Navigator filter transfers to the stopped state, but the filter graph remains in the DirectShow run state.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::SubpictureStreamChange

IDvdControl Interface

Selects the new subpicture stream and enables or disables it for display.

Syntax

HRESULT SubpictureStreamChange(
    ULONG nSubPicture,
    BOOL bDisplay
);

Parameters

nSubPicture
Value that specifies the source of the subpicture, which must be from 0 through 32, or 63.
0-31Indicates that the stream is valid.
32Enables you to toggle the display without changing the current stream (that is, change bDisplay without altering the current stream).
63Indicates that the stream is the dummy stream.
bDisplay
Value that specifies whether the subpicture is enabled; TRUE makes the subpicture visible and FALSE hides it.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

IDvdControl::TimePlay

IDvdControl Interface

Plays the media file with the specified title index, starting at the specified time.

Syntax

HRESULT TimePlay(
    ULONG uiTitle,
    ULONG bcdTime
);

Parameters

uiTitle
Value that specifies the title number DirectShow will play back; this value must be from 1 through 99.
bcdTime
Pointer to the DVD_TIMECODE structure where DirectShow will start playback.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

IDvdControl::TimeSearch

IDvdControl Interface

Halts playback of the current chapter and starts playback from the specified time in the same media file.

Syntax

HRESULT TimeSearch(
    ULONG bcdTime
);

Parameters

bcdTime
Pointer to the DVD_TIMECODE structure where DirectShow will start playback.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::TitlePlay

IDvdControl Interface

Finds the media file with the specified title index and plays it back.

Syntax

HRESULT TitlePlay(
    ULONG uiTitle
);

Parameters

uiTitle
Value that specifies the title number DirectShow will play back; this value must be from 1 through 99.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.

IDvdControl::TopPGSearch

IDvdControl Interface

Halts playback of the current program and restarts playback of the current program within the program chain (PGC).

Syntax

HRESULT TopPGSearch(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
E_UNEXPECTED DVD is not initialized.
S_OK Success.

Remarks

A program is usually equivalent to a chapter, and a PGC is usually equivalent to a title. In the case of One_Sequential_PGC_Titles, each program is required to be a chapter and each title has only one PGC, but in other cases (especially with random/shuffle PGCs and parental blocks) there can be more than one program between chapters and there can be more than one PGC in a title.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::UpperButtonSelect

IDvdControl Interface

Selects the upper directional button from the displayed menu.

Syntax

HRESULT UpperButtonSelect(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_NOTIMPL Method is not supported.
S_OK Success.

Remarks

On physical or electronic remote control devices, there is often a group of four directional buttons used for certain types of operations (such as menu navigation). This method tells DirectShow that something (the user, probably) triggered the upper directional button.

"Selecting" a DVD button simply highlights the button but does not "activate" the button. Selecting is the Windows equivalent of tabbing to a button but not pressing the SPACEBAR or ENTER key. Activating is the Windows equivalent of pressing the SPACEBAR or ENTER key after tabbing to a button.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, or DVD_DOMAIN_Title. For more information, see DVD_DOMAIN.

IDvdControl::VideoModePreferrence

IDvdControl Interface

Sets the video display mode the user prefers.

Syntax

HRESULT VideoModePreferrence(
    ULONG ulPreferredDisplayMode
);

Parameters

ulPreferredDisplayMode
[in] Value that specifies the new display mode for DVD content. Member of the DVD_PREFERRED_DISPLAY_MODE enumerated data type.

Return Value

Returns an HRESULT value that depends on the implementation of the interface. Typical return values might include one of the following:
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
S_OK Success.

Remarks

This method changes the default video window's aspect ratio, and can also specify a default aspect ratio conversion mechanism.

This method returns an error unless the domain is DVD_DOMAIN_VideoManagerMenu, DVD_DOMAIN_VideoTitleSetMenu, DVD_DOMAIN_Title, or DVD_DOMAIN_Stop. For more information, see DVD_DOMAIN.


Top of Page Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.