IRenderEngine Interface

Microsoft DirectShow 9.0

IRenderEngine Interface

The IRenderEngine interface renders a DirectShow Editing Services (DES) project by constructing a filter graph from a timeline .

DES provides two components that implement this interface:

  • The basic render engine creates uncompressed output. You can use the output for preview, or route it through compression filters and write it to a file.
  • The smart render engine creates compressed output, using smart recompression . With smart recompression, a source file is recompressed only if its format differs from the output format. A source with a matching format is written directly to the output file. Depending on the scenario, smart recompression can greatly improve rendering time.

The smart render engine also supports the ISmartRenderEngine interface.

Although an application can create a filter graph and pass it to a render engine, the typical scenario is for the render engine to create the filter graph. Building the graph is a two-stage process. First, build the front end by calling the IRenderEngine::ConnectFrontEnd method. Then connect the output pins on the front end to the desired rendering filters:

  • Video and audio renderers for preview, or
  • Compressors, multiplexers, and file writers to generate the final output.

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

Method Description
Commit Not implemented.
ConnectFrontEnd Builds the front end of the filter graph from the current timeline.
Decommit Not implemented.
DoSmartRecompression Not supported.
GetCaps Not implemented.
GetFilterGraph Retrieves the filter graph that the render engine has constructed, if any.
GetGroupOutputPin Retrieves the output pin for the specified group.
GetTimelineObject Retrieves the timeline that the render engine is currently using.
GetVendorString Retrieves the vendor string.
RenderOutputPins Creates the previewing portion of the filter graph.
ScrapIt Discards the render engine's filter graph and all associated objects.
SetDynamicReconnectLevel Sets the level of dynamic reconnection during rendering.
SetFilterGraph Specifies a filter graph for the render engine to use.
SetInterestRange Not supported.
SetInterestRange2 Not supported.
SetRenderRange Sets the range of time to be rendered.
SetRenderRange2 Sets the range of time to be rendered, as a double.
SetSourceConnectCallback Not supported.
SetSourceNameValidation Specifies how the render engine validates file names.
SetTimelineObject Sets the timeline for the render engine to use.
UseInSmartRecompressionGraph Not supported.


Header: Include Qedit.h. This header file is not compatible with Microsoft® Direct3D® headers later than version 7.

Library: Use strmiids.lib.

See Also