Microsoft® DirectShow® supports system-defined events, which filters in the filter graph pass to the filter graph manager. Filters pass these events to the filter graph manager by using the IMediaEventSink::Notify method, and the application retrieves them with the IMediaEvent::GetEvent method.
When you retrieve an event by calling GetEvent, the event can contain interface pointers or pointers to allocated memory. Code that uses GetEvent should, therefore, call IMediaEvent::FreeEventParams to free any resources associated with the event's parameters after it handles the event.
The DVD event notification codes are listed in Dvdevcod.h. See Event Notification Codes for non-DVD event notification codes. The following list shows the available DVD event notification codes in alphabetical order.
The parameters listed with a DVD event notification code are the ones passed with the code in NotifyEvent, as shown in the following example.
NotifyEvent(EC_DVD_CHAPTER_AUTOSTOP, 0, 0);
DVD event notification code | Description |
---|---|
EC_DVD_ANGLE_CHANGE | Signals that either the number of available angles changed or that the current user angle number changed. |
EC_DVD_ ANGLES_AVAILABLE | Indicates whether an angle block is being played and angle changes can be performed. |
EC_DVD_AUDIO_STREAM_CHANGE | Signals that the current user audio stream number changed for the main title. |
EC_DVD_BUTTON_CHANGE | Signals that either the number of available buttons changed or that the currently selected button number changed. |
EC_DVD_CHAPTER_AUTOSTOP | Indicates that playback stopped as the result of a call to the IDvdControl::ChapterPlayAutoStop method. |
EC_DVD_CHAPTER_START | Signals that the DVD Navigator started playback of a new program in the DVD_DOMAIN_Title domain. |
EC_DVD_CURRENT_TIME | Signals the beginning of every video object unit (VOBU), which occurs every 0.4 to 1.0 seconds. |
EC_DVD_DOMAIN_CHANGE | Indicates the DVD Navigator's new domain. |
EC_DVD_ERROR | Signals a DVD error condition. |
EC_DVD_NO_FP_PGC | Indicates that the DVD disc does not have a FP_PGC (First Play Program Chain). |
EC_DVD_PARENTAL_LEVEL_CHANGE | Signals that the parental level of the authored content is about to change. |
EC_DVD_PLAYBACK_RATE_CHANGE | Indicates that a playback rate change has been initiated and the new rate is in the parameter. |
EC_DVD_PLAYBACK_STOPPED | Indicates that playback has been stopped. The DVD Navigator has completed playback of the PGC and did not find any other branching instruction for subsequent playback. |
EC_DVD_STILL_OFF | Signals the end of any still (PGC, Cell, or VOBU). |
EC_DVD_STILL_ON | Signals the beginning of any still (PGC, Cell, or VOBU). |
EC_DVD_SUBPICTURE_STREAM_CHANGE | Signals that the current user subpicture stream number changed for the main title. |
EC_DVD_TITLE_CHANGE | Indicates when the current title number changes. |
EC_DVD_VALID_UOPS_CHANGE | Signals that the available set of IDvdControl interface methods has changed. |
EC_DVD_WARNING | Signals a DVD warning condition. |
Signals that either the number of available angles changed or that the current user angle number changed.
Parameters
Remarks
Angle numbers range from 1 to 9.
The current angle number can change automatically with a navigation command authored on the disc as well as through application control by using the IDvdControl interface.
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Indicates whether an angle block is being played and angle changes can be performed.
Parameters
- lParam1
- Boolean (BOOL) value that indicates if an angle block is being played back. Zero (0) indicates that playback is not in an angle block and angles are not available, One (1) indicates that an angle block is being played back and angle changes can be performed.
- lParam2
- Zero.
Remarks
Angle changes are not restricted to angle blocks and the manifestation of the angle change can be seen only in an angle block.
For information on how to use this event code, see NotifyEvent.
Signals that the current user audio stream number changed for the main title.
Parameters
- lParam1
- DWORD value indicating the new user audio stream number. Audio stream numbers range from 0 to 7. Stream 0xFFFFFFFF indicates that no stream is selected.
- lParam2
- Zero.
Remarks
The current user audio stream can change automatically with a navigation command authored on the disc as well as through application control by using the IDvdControl interface.
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Signals that either the number of available buttons changed or that the currently selected button number changed.
Parameters
Remarks
Button numbers range from 1 to 36.
The currently selected button can change automatically with a navigation command authored on the disc as well as through application control by using IDvdControl interface.
This event can signal any of the available button numbers. These numbers do not always correspond to button numbers used for IDvdControl::ButtonSelectAndActivate because that method can activate only a subset of buttons.
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Indicates that playback stopped as the result of a call to the IDvdControl::ChapterPlayAutoStop method.
Parameters
- lParam1
- Zero.
- lParam2
- Zero.
Remarks
The DVD_DOMAIN_Title domain raises this event.
For information on how to use this event code, see NotifyEvent.
Signals that the DVD player started playback of a new program in the DVD_DOMAIN_Title domain.
Parameters
- lParam1
- DWORD value indicating the new chapter (program) number.
- lParam2
- Zero.
Remarks
Only simple linear movies signal this event.
The DVD_DOMAIN_Title domain raises this event.
For information on how to use this event code, see NotifyEvent.
Signals the beginning of every video object unit (VOBU), which occurs every 0.4 to 1.0 seconds.
Parameters
- lParam1
- DWORD value indicating the current playback timecode in a binary coded decimal (BCD) hours, minutes, seconds, frames (HH:MM:SS:FF) format. Member of the DVD_TIMECODE structure.
- lParam2
- Boolean (BOOL) value indicating the timecode. Zero (0) indicates 25 frames per second while 1 indicates 30 frames per second (nondropped). A value of 2 indicates the playback time cannot be determined.
Remarks
Only simple linear movies signal this event.
The DVD_DOMAIN_Title domain raises this event.
For information on how to use this event code, see NotifyEvent.
Indicates the DVD player's new domain.
Parameters
- lParam1
- DWORD value indicating the new domain. Member of the DVD_DOMAIN enumerated data type.
- lParam2
- Zero.
Remarks
The DVD player signals this event whenever it changes domains.
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Signals a DVD error condition.
Parameters
Remarks
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Signals that the DVD disc does not have a FP_PGC (First Play Program Chain) and that the DVD Navigator will not automatically load any PGC and start playback.
Remarks
The FP_DOM domain raises this event.
For information on how to use this event code, see NotifyEvent.
Signals that the parental level of the authored content is about to change.
Parameters
- lParam1
- LONG value representing the new parental level set in the player.
- lParam2
- Zero.
Remarks
The DVD Navigator source filter does not currently support "on the fly" parental level changes in response to SetTmpPML commands on a DVD disc.
For information on how to use this event code, see NotifyEvent.
Signals that a rate change in the playback has been initiated; the parameter lParam1 indicates the new playback rate being used.
Parameters
- lParam1
- LONG indicating the new playback rate. lParam1 < 0 indicates reverse playback mode. lParam1 > 0 indicates forward playback mode. The value of lParam1 is the actual playback rate multiplied by 10,000, that is, lParam1 = playback_rate * 10000.
- lParam2
- Zero.
Remarks
The TT_DOM domain raises this event.
For information on how to use this event code, see NotifyEvent.
Indicates that playback has been stopped. The DVD Navigator has completed playback of the PGC and did not find any other branching instruction for subsequent playback.
Parameters
- lParam1
- Zero.
- lParam2
- Zero.
Remarks
All domains (DVD_DOMAIN) raise this event. This event is not raised on user initiated stop, only on completion of the playback of the PGC.
Signals the end of any still (PGC, Cell, or VOBU).
Parameters
- lParam1
- Zero.
- lParam2
- Zero.
Remarks
This event indicates that any currently active still has been released.
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Signals the beginning of any still (PGC, Cell, or VOBU).
Parameters
- lParam1
- Boolean (BOOL) value indicating whether buttons are available. Zero (0) indicates buttons are available so the IDvdControl::StillOff method won't work. One (1) indicates no buttons are available, so IDvdControl::StillOff will work.
- lParam2
- DWORD value indicating the number of seconds the still will last. 0xFFFFFFFF indicates an infinite still, meaning wait until the user presses a button or until the application calls IDvdControl::StillOff.
Remarks
All combinations of buttons and still are possible (buttons on with still on, buttons on with still off, button off with still on, button off with still off).
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Signals that the current user subpicture stream number changed for the main title.
Parameters
- lParam1
- DWORD value indicating the new user subpicture stream number. Subpicture stream numbers range from 0 to 31. Stream 0xFFFFFFFF indicates that no stream is selected.
- lParam2
- Zero.
Remarks
The subpicture can change automatically with a navigation command authored on disc as well as through application control using IDvdControl.
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Indicates when the current title number changes.
Parameters
- lParam1
- DWORD value indicating the new title number.
- lParam2
- Zero.
Remarks
Title numbers range from 1 to 99. This number indicates the TTN, which is the title number with respect to the whole disc, not the VTS_TTN which is the title number with respect to just a current VTS.
The DVD_DOMAIN_Title domain raises this event.
For information on how to use this event code, see NotifyEvent.
Signals that the available set of IDvdControl interface methods has changed.
Parameters
- lParam1
- DWORD value representing the VALID_UOP_SOMTHING_OR_OTHER bit-field structure that indicates which IDvdControl commands the DVD disc explicitly disabled.
- lParam2
- Zero.
Remarks
This event indicates only which operations are explicitly disabled by the content on the DVD disc, and does not guarantee that it is valid to call methods that are not disabled. For example, if no buttons are present, the IDvdControl::ButtonActivate method won't work, even though the method is not explicitly disabled.
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Signals a DVD warning condition.
Parameters
- lParam1
- DWORD value indicating the warning condition. Member of the DVD_WARNING enumerated data type.
- lParam2
- Zero.
Remarks
All domains (DVD_DOMAIN) raise this event.
For information on how to use this event code, see NotifyEvent.
Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.