IDirectDrawVideo Interface

 
Microsoft DirectShow 9.0

IDirectDrawVideo Interface

The IDirectDrawVideo interface queries the Video Renderer filter about DirectDraw surfaces and hardware capabilities.

Applications can use this interface to control what DirectDraw features the Video Renderer will take advantage of. For example, if you are positive that you don't want the Video Renderer to use a hardware overlay you can disable its use via the SetSwitches method.

  • **Note   **You can't use this interface to force the Video Renderer to use a particular DirectDraw feature; you can only stop it from using that feature.

There is some duplication in this interface with the IDirectDraw interface; however, this interface enables simple access to that information without calling the DirectDraw provider directly.

The Video Renderer does not load DirectDraw until it is connected, and likewise DirectDraw is unloaded only when the renderer is disconnected. When the renderer has allocated the DirectDraw surfaces it will use for video playback, an application can obtain a DDSURFACEDESC structure describing it. By passing in a pointer to a DDSURFACEDESC structure, the renderer will fill in the structure with the details of the current surface. If DirectDraw has not been loaded, the renderer will return E_FAIL. If the renderer is using DCI (the predecessor to DirectDraw), the DDSURFACEDESC structure is not filled in but the call will return S_FALSE. The only type of DCI surfaces the renderer uses are primary surfaces.

In addition to the methods inherited from IUnknown, the IDirectDrawVideo interface exposes the following methods.

Method Description
CanUseOverlayStretch Determines whether the renderer will check overlay restrictions.
CanUseScanLine Determines whether the renderer will check the current scan line when drawing.
GetCaps Retrieves a DirectDraw-defined DDCAPS structure containing the hardware capabilities.
GetDirectDraw Retrieves the IDirectDraw interface.
GetEmulatedCaps Retrieves a DirectDraw-defined DDCAPS structure containing the emulated capabilities.
GetFourCCCodes Retrieves the multimedia format type FOURCC DWORD.
GetSurfaceDesc Retrieves a description of the DirectDraw surface in use.
GetSurfaceType Retrieves the actual surface type.
GetSwitches Retrieves the surface types that the renderer is allowed to use.
SetDefault Makes the current property settings the global default.
SetDirectDraw Passes the IDirectDraw interface to a loaded driver.
SetSwitches Sets the surface types that the renderer is allowed to use.
UseOverlayStretch Determines whether the renderer should check overlay stretch limitations.
UseScanLine Determines whether the renderer should check the current scan line when drawing a video.
UseWhenFullScreen Determines whether DirectShow should change display mode when going to full-screen mode.
WillUseFullScreen Determines whether DirectShow will change display mode when going to full-screen mode.

Requirements

Header: Declared in Amvideo.h; include Dshow.h.

Library: Use Strmiids.lib.