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 |
|
Library |
|
See also