Microsoft DirectX 8.1 (C++) |
This sections lists the DirectShow events that are not specific to DVD. For events specific to DVD, see DVD Event Notification Codes.
Filters send events to the Filter Graph Manager by calling the IMediaEventSink::Notify method. The Filter Graph Manager handles some events and queues others for the application. The application retrieves them by calling the IMediaEvent::GetEvent method.
In the sections that follow, each entry lists the event code, the meaning of the event parameters, and the Filter Graph Manager's default action for the event, if any. To override the default action, call IMediaEvent::CancelDefaultHandling. Event codes are defined in the header files Evcode.h and Audevcod.h. If there is no default action, the Filter Graph Manager automatically forwards the event to the application (through the event queue).
Custom Events
Filters can define custom events with event codes in the range EC_USER and higher. The Filter Graph Manager will place these directly in the event queue. However, the following caveats apply:
Event notification code | Description |
EC_ACTIVATE | A video window is being activated or deactivated. |
EC_BUFFERING_DATA | The graph is buffering data, or has stopped buffering data. |
EC_CLOCK_CHANGED | The reference clock has changed. |
EC_CLOCK_UNSET | The clock provider was disconnected. |
EC_COMPLETE | All data from a particular stream has been rendered. |
EC_DEVICE_LOST | A Plug and Play device was removed or has become available again. |
EC_DISPLAY_CHANGED | The display mode has changed. |
EC_END_OF_SEGMENT | The end of a segment has been reached. |
EC_ERROR_STILLPLAYING | An asynchronous command to run the graph has failed. |
EC_ERRORABORT | An operation was aborted because of an error. |
EC_EXTDEVICE_MODE_CHANGE | Not supported. |
EC_FULLSCREEN_LOST | The video renderer is switching out of full-screen mode. |
EC_GRAPH_CHANGED | The filter graph has changed. |
EC_LENGTH_CHANGED | The length of a source has changed. |
EC_NEED_RESTART | A filter is requesting that the graph be restarted. |
EC_NOTIFY_WINDOW | Notifies a filter of the video renderer's window. |
EC_OLE_EVENT | A filter is passing a text string to the application. |
EC_OPENING_FILE | The graph is opening a file, or has finished opening a file. |
EC_PALETTE_CHANGED | The video palette has changed. |
EC_PAUSED | A pause request has completed. |
EC_QUALITY_CHANGE | The graph is dropping samples, for quality control. |
EC_REPAINT | A video renderer requires a repaint. |
EC_SEGMENT_STARTED | A new segment has started. |
EC_SHUTTING_DOWN | The filter graph is shutting down, prior to being destroyed. |
EC_SNDDEV_IN_ERROR | An audio device error has occurred on an input pin. |
EC_SNDDEV_OUT_ERROR | An audio device error has occurred on an output pin. |
EC_STARVATION | A filter is not receiving enough data. |
EC_STATE_CHANGE | The filter graph has changed state. |
EC_STEP_COMPLETE | A filter performing frame stepping has stepped the specified number of frames. |
EC_STREAM_CONTROL_STARTED | A stream-control start command has taken effect. |
EC_STREAM_CONTROL_STOPPED | A stream-control start command has taken effect. |
EC_STREAM_ERROR_STILLPLAYING | An error has occurred in a stream. The stream is still playing. |
EC_STREAM_ERROR_STOPPED | A stream has stopped because of an error. |
EC_TIMECODE_AVAILABLE | Not supported. |
EC_USERABORT | The user has terminated playback. |
EC_VIDEO_SIZE_CHANGED | The native video size has changed. |
EC_WINDOW_DESTROYED | The video renderer was destroyed or removed from the graph. |
See Also