IRenderEngine interface

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

Note

[Deprecated. This API may be removed from future releases of Windows.]

 

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.

Members

The IRenderEngine interface inherits from the IUnknown interface. IRenderEngine also has these types of members:

Methods

The IRenderEngine interface has these 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.

 

Remarks

Note

The header file Qedit.h is not compatible with Direct3D headers later than version 7.

 

Note

To obtain Qedit.h, download the Microsoft Windows SDK Update for Windows Vista and .NET Framework 3.0. Qedit.h is not available in the Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1.

 

Requirements

Requirement Value
Header
Qedit.h
Library
Strmiids.lib

See also

Rendering a Project