|Microsoft DirectShow 9.0|
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.
|ConnectFrontEnd||Builds the front end of the filter graph from the current timeline.|
|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.|
|SetRenderRange||Sets the range of time to be rendered.|
|SetRenderRange2||Sets the range of time to be rendered, as a double.|
|SetSourceNameValidation||Specifies how the render engine validates file names.|
|SetTimelineObject||Sets the timeline for the render engine to use.|
Header: Include Qedit.h. This header file is not compatible with Microsoft® Direct3D® headers later than version 7.
Library: Use strmiids.lib.