Microsoft DirectX 8.1 (C++)

IDvdControl2::SetOption

The SetOption method enables or disables a DVD Navigator filter's internal behavioral flag.

Syntax

HRESULT SetOption(
  DVD_OPTION_FLAG flag,
  BOOL bEnable
);

Parameters

flag

[in] DVD_OPTION_FLAG enumeration value that specifies the flag to alter. For details, see Remarks.

bEnable

[in] Variable of type BOOL that specifies whether to enable to disable flag. Set to TRUE to enable flag, or FALSE to disable it.

Return Values

Returns one of the following values.

Return code Description
S_OK Success.
E_INVALIDARG The flag value is not DVD_ResetOnStop or DVD_NotifyParentalLevelChange.

Remarks

Call SetOption with the desired flags immediately after creating an instance of the DVD Navigator and whenever you want to change any behaviors.

Flag Meaning
DVD_ResetOnStop Set to TRUE to cause the Navigator to enter the DVD Stop domain when the filter graph stops. This is the default behavior. When the Navigator resumes playback from the Stop domain, it starts at the beginning of the disc. This is not always the desired behavior, because the filter graph can be stopped unexpectedly if the screen resolution changes, a screen saver starts, the computer goes into suspend mode, or for some other reason. To prevent the Navigator from entering the DVD Stop domain when the graph makes a transition into a Stop state, set this flag to FALSE. This causes the Navigator, when the filter graph restarts, to resume playback from the point where it stopped.

Typically, an application should set this flag to FALSE right after or before calling IMediaControl::Run to start playback of a DVD-Video. It should set the flag to TRUE before calling IMediaControl::Stop in response to an explicit user command to Stop playback.

DVD_NotifyParentalLevelChange Tells the DVD Navigator whether the application should be notified when the Navigator encounters parental level changes on the disc. If this flag is set to TRUE, when the Navigator encounters a temporary parental management level command, it sends the application an EC_DVD_PARENTAL_LEVEL_CHANGE event and blocks until it receives the application's response through AcceptParentalLevelChange.

If you set the flag to FALSE, when the Navigator encounters a temporary parental management level command and the current parental level is too low, the Navigator automatically rejects it and branches to whatever path the disc specifies when such a command is rejected. An EC_DVD_PARENTAL_LEVEL_CHANGE event is sent telling the application what the required level should be. It is up to the application to stop playback, put up a password dialog box and restart the movie playback so that it can succeed on the next attempt.

DVD_HMSF_TimeCodeEvents Set this flag to TRUE to receive EC_DVD_CURRENT_HMSF_TIME time events in the DVD_HMSF_TIMECODE format instead of the earlier BCD format as passed with EC_DVD_CURRENT_TIME event. The DVD_HMSF_TIMECODE format is easier to work with. This flag defaults to FALSE to facilitate backward compatibility with applications that use the BCD format.

The following table shows the Annex J command name to which this method name corresponds, and the domains in which this method is valid.

Annex J Command Name Valid Domains
None All

See Also