Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This interface provides information so a filter can write directly to video memory while placing the video in the correct window position.

It is implemented on the input pin of the video renderer and communicates with an upstream filter (typically a video decompressor) by calling that filter's IOverlayNotifymethods to notify it of changes to the video window.

This interface has no relationship to the DirectDraw overlay capability.

The Microsoft video renderer draws data it receives through the IMemInputPininterface, using DirectDraw overlays when available. This interface, used in place of IMemInputPin, is intended to provide notification support for an upstream filter that bypasses the renderer's drawing capabilities, but needs notifications of other display properties.

See the IOverlayNotifyinterface for more information on how the IOverlayand IOverlayNotifyinterfaces work together.

When to Implement

This interface is implemented on the DirectShow video renderer filter.

It can also be implemented on replacement video renderer filters. If doing so, implement this interface so that filters writing directly to the frame buffer or trying to position an overlay know where to display their video.

To implement this interface, the renderer must be prepared to use methods on the IOverlayNotifyinterface of the filter doing the drawing, with notifications of video property changes.

The window-based renderer in DirectShow supports both IMemInputPinand IOverlayinterfaces.

These two interfaces are mutually exclusive.

A filter chooses to use the IOverlaytransport interface by providing a media type during connection that has a subtype of MEDIASUBTYPE_Overlay.

After connection, can get and use the IOverlayinterface. If it connects with other video formats (such as MEDIASUBTYPE_RGB8), trying to call through IOverlayreturns VFW_E_NOT_OVERLAY_CONNECTION.

When to Use

Use the methods on this function from an upstream filter that must control video overlay properties and intends to handle the displaying of the video data itself. This typically is used by hardware video decoders that have an alternate connection to the video hardware.

Methods in Vtable Order

The following table shows the methods that appear in the Vtable beneath the standard COM methods inherited from IUnknown.

Method Description

GetPalette

Retrieves the current palette.

SetPalette

Sets the palette.

GetDefaultColorKey

Retrieves the default color key.

GetColorKey

Returns the identifier of the currently active color key.

SetColorKey

Changes the color key.

GetWindowHandle

Returns the window handle.

GetClipList

Retrieves the clipping list.

GetVideoPosition

Retrieves the current video source and destination rectangles.

Advise

Sets up an advise link for the overlay events.

Unadvise

Terminates the advise link.

Requirements

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment

See Also