Alternative Video Renderers
Microsoft DirectShow 9.0 |
Alternative Video Renderers
This article describes some of the more complicated implementation requirements of a renderer; these apply to most renderers, although some aspects are video-specific (such as EC_REPAINT and other notifications). In particular, it discusses how to handle various notifications, state changes, and format changes. It also provides a summary of the notifications that a renderer is responsible for sending to the Filter Graph Manager.
- Note Instead of writing a custom video renderer, it is recommended that you write a plug-in allocator-presenter for the Video Mixing Renderer (VMR). This approach will give you all of the benefits of the VMR, including support for DirectX Video Acceleration (DXVA), hardware deinterlacing, and frame stepping, and is likely to be more robust than a custom video renderer. For more information, see VMR Renderless Playback Mode (Custom Allocator-Presenters).
This article contains the following sections:
- Writing an Alternative Renderer
- Handling End-of-stream and Flushing Notifications
- Handling State Changes and Pause Completion
- Handling Termination
- Handling Dynamic Format Changes
- Handling Persistent Properties
- Handling EC_REPAINT Notifications
- Handling Notifications in Full-Screen Mode
- Summary of Notifications