Share via


DirectShow Video Renderer Filter (Windows Embedded CE 6.0)

1/6/2010

The DirectShow Video Renderer filter is a robust, all-purpose video renderer that you can connect to any Video Transform filter that produces decompressed video data.

The DirectShow Video Renderer filter uses DirectDraw methods and makes use of overlay surfaces, if the video card supports them.

Full-screen rendering is enabled from the Filter Graph Manager, which automatically switches between the DirectShow Video Renderer filter and the full-screen renderer when appropriate for certain older graphics cards; you do not need to include the full-screen renderer in the filter graph beforehand.

On newer cards, the DirectShow Video Renderer filter itself performs the full-screen rendering.

The DirectShow Video Renderer filter will accept YUV as well as RGB formats if the video graphics card supports YUV overlay surfaces. However, the DirectShow Video Renderer filter, when it is initially connected to the upstream filter, will always insist on an RGB format that matches the color depth of the current monitor settings.

For example, if the user has set their monitor to 24-bit color, then the upstream filter must be capable of providing data in 24-bit RGB. When the graph goes into a run state, the DirectShow Video Renderer filter will negotiate a dynamic format change to the appropriate YUV color space.

The DirectShow Video Renderer filter requires the initial RGB data format because in some cases it may need to dynamically switch to using GDI instead of DirectDraw to render the video; GDI does not support YUV color spaces. The DirectShow Video Renderer filter will switch to GDI if the video memory is being used by another application.

This filter has its own plug-in distributor in the Filter Graph Manager, which enables applications to set and retrieve properties on the filter by calling the corresponding interface methods on the Filter Graph Manager. Most other DirectShow filters are not visible to applications in this manner.

The thread that co-creates the Video Renderer is the one on which the DirectShow Video Renderer's window is created. That thread must have a message loop to dispatch messages to the DirectShow Video Renderer's window.

The following table shows the filter properties.

Filter property Description

Filter Interfaces

IBaseFilter, IBasicVideo, IDirectDrawVideo, IMediaPosition, IMediaSeeking, IQualityControl, IQualProp, IVideoWindow

Input Pin Media Types

MEDIATYPE_Video

Input Pin Interfaces

IMemInputPin, IOverlay, IPin, IQualityControl

Output Pin Media Types

Not applicable

Output Pin Interfaces

Not applicable

Filter CLSID

CLSID_VideoRenderer

Executable

Quartz.dll

Merit

MERIT_PREFERRED

Filter Category

CLSID_LegacyAmFilterCategory

See Also

Concepts

Supported DirectShow Filters